-
-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Hi, thanks for the library. I wanted to use this primarily because of the queuing semantics that other implementations don't offer. I am now officially running this in production, but I'm seeing a few intermittent errors in specs, which are sometimes rather random and baffling to understand.
Example 1
https://github.com/tramlinehq/tramline/actions/runs/13515882931/job/37764372571?pr=734
What's happening here is that the lock is wrapped in a Result object and that swallows the exception, but the internal exception appears to be in try_to_lock (the stacktrace is separately printed up above). The error here isn't just the one you see, I've seen it fail for a variety of random reasons.
This is the core part of the code that handles locking and external API calls.
This is how I initialize the redlock.
Example 2
I've also seen a couple of errors on my non-production environment like this:
I was wondering if you've seen any of this yourself. Any pointers or insight would really help! Happy to provide more data.
Sidenote: On my cursory glance at the code, I noticed that the multi calls to redis are wrapped over a timeout, the timeout is handled, but I'm curious what happens when the thread times out in between the connection running, is the connection closed cleanly?
Sidenote: Some context on why I'm using this library: tramlinehq/tramline#731