Skip to content

Conversation

@uwiger
Copy link
Owner

@uwiger uwiger commented Apr 6, 2020

This PR tries to address both issues #37 and #30.

  • Refactoring to ease tracing
  • The locks_server now keeps a central version counter for strictly increasing versions
  • A sliding-window message log, kept in the process dictionary, is used in locks_leader, to facilitate debugging should the election process hang.
  • An 'election vector' is used in locks_leader to better keep up with the status of the locking process, and leader_uncertain is triggered anytime the vectors don't match.

uwiger added 2 commits April 5, 2020 18:19
- refactor support code in agent and server to separate lib mods
  for cleaner tracing
- locks_server sends only one notification per involved agent
- locks_server keeps a global vsn counter to ensure strictly increasing
  versions
- locks_leader maintains an election vector based on lock info
- signal leader_uncertain or ensure_sync more often, esp. if the
  vector info indicates inconsistency.
- moved example code to fit better with rebar3
- remove rebar2-specific compilation in locks_leader_SUITE
@uwiger
Copy link
Owner Author

uwiger commented Apr 7, 2020

Note: some issues identified. Still debugging.

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