Page MenuHomePhabricator

Decrease JX.Leader lease duration from 16,000ms to 1,500ms and usurp more aggressively
ClosedPublic

Authored by epriestley on Apr 17 2017, 7:39 PM.
Tags
None
Referenced Files
F13079780: D17703.id42577.diff
Wed, Apr 24, 2:01 AM
F13079245: D17703.id.diff
Tue, Apr 23, 9:31 PM
Unknown Object (File)
Mon, Apr 22, 10:45 PM
Unknown Object (File)
Wed, Apr 17, 2:32 PM
Unknown Object (File)
Thu, Apr 11, 6:58 AM
Unknown Object (File)
Feb 16 2024, 1:56 PM
Unknown Object (File)
Feb 12 2024, 6:17 AM
Unknown Object (File)
Feb 9 2024, 6:20 AM
Subscribers
None

Details

Summary

Ref T12573. JX.Leader synchronizes the Aphlict connection across multiple windows.

Currently, we only test to see if the leader window has been closed every 16 seconds. Instead, test every 1.5 seconds.

Also, make windows keep trying to become the leader forever. This was removed previously (in D15806) but I think that change decreased robustness here.

Test Plan
  • Opened two windows to the "Realtime" tab in DarkConsole.
  • Saw one become the leader and one become a follower.
  • (Optionally, wait for 10 seconds here to test the "keep trying to become the leader" behavior.)
  • Closed the leader.
  • Saw the follower become the leader after ~1.5 seconds.

Diff Detail

Repository
rP Phabricator
Branch
aphlict2
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 16512
Build 21996: Run Core Tests
Build 21995: arc lint + arc unit

Event Timeline

We also need to deal with duplicates better in general (T12564) so I'm planning to do that in a robust way at a higher level of the application and then let all the low-level stuff make tradeoffs to be more reliable at the cost of possibly emitting duplicates.

This revision is now accepted and ready to land.Apr 17 2017, 8:16 PM
This revision was automatically updated to reflect the committed changes.