Skip to content

Intermittent issues in spec #10

@kitallis

Description

@kitallis

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:

Image

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions