Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reap stale locks #52

Merged
merged 10 commits into from
Jun 22, 2017
Merged

Reap stale locks #52

merged 10 commits into from
Jun 22, 2017

Conversation

shdunning
Copy link
Collaborator

@shdunning shdunning commented Jun 20, 2017

Creates a new lock_info hash that is used to reset job lock state if dead worker pools were killed while holding a lock.

Some design considerations/motivations:

  • Stale lock reaping happens after reenqueuing, which also updates lock info
  • If heartbeat has expired, we pass the current set of job names so that lock reaping can happen for jobs currently running
  • A new lua script called redisLuaReapStaleLocks has been added so lock reaping can happen atomically
  • Explicitly pass KEYS into the lua scripts as to not break clustered redis configurations

Todo:

  • fix that blasted failing TestDeadPoolReaperNoHeartbeat test

@shdunning shdunning changed the title Reap stale locks (WIP) Reap stale locks Jun 21, 2017
Copy link

@bzwheeler bzwheeler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work, thanks for the diligence

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants