taoensso / carmine

Redis client + message queue for Clojure
https://www.taoensso.com/carmine
Eclipse Public License 1.0
1.15k stars 130 forks source link

Feedback on v3.3 migration instructions #300

Closed frenchy64 closed 3 months ago

frenchy64 commented 3 months ago

Thanks for writing the v3.3 migration instructions.

Here are some suggestions to make it clearer.

If you DO NOT use Carmine's message queue API. If you DO use Carmine's message queue API, please read the below checklist carefully!!

This doesn't say what to do if you don't use the message queue API.

Significantly improved latency (esp. worst-case latency) of handling new messages. Workers will now always prioritise handling of newly queued messages when available, and otherwise fall back to maintaining the mid circle.

An integration test that relied on FIFO queuing order broke (intermittently) with the upgrade. This buries the lede that messages are now processed in a different order.

It might be helpful to mention this in the migration checklist. IIUC this is not a breaking change, but it was a change we had to make and understand in practice.

ptaoussanis commented 3 months ago

Hi Ambrose, it's good to hear from you :-)

I'm happy to see that work on Typed Clojure is continuing!

And thanks for pinging about this.

This doesn't say what to do if you don't use the message queue API.

Sorry, that somehow got truncated - will update. There's no migration necessary for folks not using the message queue API.

It might be helpful to mention this in the migration checklist. IIUC this is not a breaking change, but it was a change we had to make and understand in practice.

Absolutely, a good suggestion - will update. Apologies for the confusion/surprise!

ptaoussanis commented 3 months ago

Done, updated instructions here.

Please feel free to ping if anything is still unclear, it's really helpful to get feedback on such things 👍

frenchy64 commented 3 months ago

Thanks!