clojure-dev

Issues: https://clojure.atlassian.net/browse/CLJ | Guide: https://insideclojure.org/2015/05/01/contributing-clojure/
camsaul 2021-06-11T20:22:28.038700Z

What's the lead time for bugfix patch consideration look like these days? I know the core team is busy and doesn't owe the community anything, just want to know if a patch I submitted a couple years ago in response to a "patches welcome" comment from Alex just slipped thru the cracks or if it's normal for it to take a few years before bugfix patches get considered

seancorfield 2021-06-11T20:31:13.038800Z

I’d say it’s fairly normal for a patch to sit around for years. Clojure’s development is extremely conservative (which is why it is so stable) and all changes and bug fixes are carefully considered based on perceived priority, such as how many votes on Jira or http://ask.clojure.org.

seancorfield 2021-06-11T20:31:23.039Z

What Jira ticket is your patch for?

camsaul 2021-06-11T20:37:26.039200Z

https://clojure.atlassian.net/jira/software/c/projects/CLJ/issues/CLJ-2234. I made some tweaks recently to split out https://clojure.atlassian.net/browse/CLJ-2633 and its fix into a separate issue/patch, but the original 2234 patch is from about 2 years ago

camsaul 2021-06-11T20:39:28.039400Z

The patch is pretty small, I think it's 4 lines of changes to MultiFn.java and then 35 lines of tests

ghadi 2021-06-11T20:39:52.039600Z

2633 is untriaged and unvetted, it's going to sit there for a while

ghadi 2021-06-11T20:40:00.039800Z

don't focus on the patch, that's the easy part

ghadi 2021-06-11T20:40:17.040Z

the problem statement and analysis is >90% of the work

ghadi 2021-06-11T20:41:25.040200Z

connecting the race condition to a real world situation would elevate the priority of that issue

ghadi 2021-06-11T20:44:45.040400Z

is concurrent extension of a multimethod common in the wild? if not, is it part of a situation that you encountered?

camsaul 2021-06-11T20:46:42.040700Z

TBH, I'm not not super concerned about 2633, IMO it's a clear bug with a simple fix, but a very low-priority one since people probably aren't doing things that would trigger it. On the other hand I did run in to 2234 in real life, so I'm mainly asking in regards to that issue

ghadi 2021-06-11T20:49:14.040900Z

tickets are generally vetted and screened in batch phases, and there haven't been any of those phases for 1.11 yet, although planning for 1.11 is well underway

ghadi 2021-06-11T20:51:10.041100Z

2234 seems legit (at cursory glance), 2633 seems like a hypothetical bug discovered by reading the impl code

ghadi 2021-06-11T20:52:25.041400Z

I wish people got durable kudos for discovering and articulating problems, not just making patches

alexmiller 2021-06-11T20:55:53.042200Z

we go through periods where we are actively and regularly considering patches and periods where we are focused elsewhere

camsaul 2021-06-11T20:57:19.043500Z

Yeah, I only discovered 2633 because of the work on the 2234 patch. I would be surprised if anyone ran into it IRL. Altho if they did that would probably be a really nasty bug to try and debug. Thanks for the help and info. I didn't know anything about patches being vetted and screened in batches. I'll keep my fingers crossed and see what happens in the future

alexmiller 2021-06-11T20:57:32.043900Z

when we are working on them, we generally are prioritizing based on: severity, impact, frequency, availability of workarounds, community interest (according to votes on http://ask.clojure.org), etc

alexmiller 2021-06-11T20:58:55.044700Z

well crafted tickets and patches help grease the path (see https://clojure.org/dev/creating_tickets and https://clojure.org/dev/developing_patches)

👍 2
seancorfield 2021-06-11T21:03:12.046Z

https://ask.clojure.org/index.php/3332/multifn-prefers-ignores-multimethods-internal-hierarchy has just one vote, BTW, and the JIRA issue has zero so it wouldn’t look like a priority when release planning is being done, I suspect…

👍 1
alexmiller 2021-06-11T21:03:50.046600Z

I added the link from jira to ask

camsaul 2021-06-11T21:11:32.047900Z

Thanks for the clarifications everyone. Definitely answers my question. I'll stop bothering people about issues only I'm running in to now 👍

seancorfield 2021-06-11T21:28:54.048200Z

It can be frustrating if you run into an unusual bug and — for you — it ends up being pretty much a showstopper but almost no one else runs into it. That was ultimately why we stopped using Boot at work (and switched completely to deps.edn): we ran into a race condition bug in “pod” refreshing (which is how Boot tasks provide classloader isolation) and we ran into some edge cases in performance around their “fileset” abstraction. Pretty much no one could repro the race condition and even other folks with large Boot-based repos didn’t seem to be seeing the performance issues we were. So neither were going to get fixed 😐

seancorfield 2021-06-11T21:31:14.048400Z

(and I was just looking on GitHub the other day at tickets I’d opened in various repos stretching back nearly a decade — and some from 2012 are still open and still make those features unusable for me)

camsaul 2021-06-11T21:55:14.048600Z

I totally understand prioritizing issues based on how many people run in to them -- definitely wasn't meant as a complaint. I've had to tell people I don't have time to fix SQL Server 2003 bugs with Metabase more than once myself. I have my own https://github.com/camsaul/methodical that I can hack on if the ones that ship out of the box don't do what I want anyway. So it's not really a showstopper for me at all. I just wanted to get a little more insight into the process behind patches being considered and make sure I wasn't missing some sort of important step in the process

ikitommi 2021-06-11T22:13:23.054200Z

Have the votes been resettled at some point? Some of my old favourite spec issues had much more votes back in the days of old jira, compared to today.

ikitommi 2021-06-11T22:15:29.056500Z

e.g. https://clojure.atlassian.net/browse/CLJ-1965 has now just 23 votes

alexmiller 2021-06-11T22:16:27.058400Z

When we moved to jira cloud we only moved over users that had previously submitted patches as we have limits on user count. Because of that, we lost any votes from other users. Most issues had ≤ 1 vote so were unaffected, and the relative ranking of voted issues remained essentially the same.

alexmiller 2021-06-11T22:16:49.059100Z

These days we pay much more attention to the vote counts on ask (but look at both)

alexmiller 2021-06-11T22:25:37.059800Z

This is still one of the highest voted open issues in jira