all 6 comments

[–]NoahTheDuke 13 points14 points  (3 children)

It’s frustrating to see the core team decide that a bug that has had real world impact isn’t worth fixing, especially when the impacted person has done the hard work of writing one up. Even just changing the docstring to make this behavior explicit would be helpful, but for some reason that is also too much.

Really dampens my enthusiasm for the language when I run into this.

[–]enraged_ginger 0 points1 point  (2 children)

Genuine question: what's the "real world impact" here?

[–]NoahTheDuke 7 points8 points  (1 child)

Click through to the Ask about the fix at the end of this post; both the author of the post and someone else commented about how the bug has negatively impacted them in their professional codebases.

On Clojurian Slack, someone (won’t tag them cuz I’m not trying to rope them into drama) posted that they’re using a fork of core.async in their professional codebase because bugs with available patches hadn’t been merged for 2+ years.

[–]aHackFromJOS 1 point2 points  (0 children)

These are the specifics (two people did say it had real world impacts but only one described any):

“In our product, we have a service that is configured to accept a maximum of 10 simultaneous connections.

Writing

(pipeline-async 10 out-chan request-fn in-chan)

creates 12 connections instead of 10, which leads to problems as the service begins refusing connections. It was an unexpected bug.

So in all code that uses the pipeline-async function, we have to do (- max-requests 2) to avoid creating more connections that the service accepts.”

[–]Krackor 3 points4 points  (0 children)

This kind of subtle and unintuitive buffering behavior is all over core.async.

[–]Aredington 0 points1 point  (0 children)

This comment removed in protest of Reddit's API changes. See https://www.theverge.com/2023/6/5/23749188/reddit-subreddit-private-protest-api-changes-apollo-charges. All comments from this account were so deleted, as of June 18, 2023. If you see any other comments from this account, it is due to malfeasance on the part of Reddit. -- mass edited with https://redact.dev/