mirror of
https://github.com/xcat2/confluent.git
synced 2025-08-26 13:10:38 +00:00
285a159ba57a5de64a5201eef8ecde74162621f0
For one, remove 'non-voting' members from being leaders. Large number of leader candidates create long delays for converging on a valid organization. Further, some treat 'non-voting' more roughly, inducing the worst case convergence scenario of unclean shutdown of leader. Convergence now happens fairly quickly for collectives with large number of non-voting members. During initial DB transfer, the leader would be tied up unreasonably long handling the jsonification of a large configuration. Offload to a worker process to allow the leader to continue operation while this intensive, rare operation occurs. Reliably run a reassimilation procedure for the lifetime of the leader. This allows orphaned members to be prompted to join the correct leader. Serialize the onboarding of a connecting member, and have redundancy more gracefully paused. This avoids excessive waiting in lock and more deterministic timing with respect to timeout expectations by the connecting system.
Description
xCAT confluent - replacement of conserver and eventually xcatd
Languages
Python
79.4%
Shell
16.5%
C
3.3%
Go
0.4%
Perl
0.3%