Enhancement #72394
openBeacon will be changed to include only the delta from the Previous Beacon
0%
Description
Motivation - to send less bytes on the network , to spend less real time in NVMeofGw Monitor upon accept beacons from all Gateways,
Preparation for fast NVMeof Failover - we want to send Beacons each second.
Simple protocol was designed for handle exceptions like beacon sequence out of order.
1. Sequence number is sent in each beacon (uint64)
2. Monitor remembers last beacon's correct sequence
3. 2 fields added to Monitorclient map - expected-beacon-sequence, out-of-order indication(bool)
Logic:
- MonitorClient calculates a difference from previous beacon when it sends a beacon.
resolution is Subsystem - if some field of parent Subsystem was changed the whole subsystem considered changed and change-descriptor is added under Subsystem.
- Monitor applies the beacon considering it sends just differences from the previous beacon
- If beacon sequence is not equal to monitor's last correct sequence + 1
then monitor responds with ack (monclient map) expected-beacon-sequence =last correct sequence +1 , out-of-order indication = true
- When monitor client receives out of order indication it resets its beacon sequence to expected-beacon-sequence ad sends all subsystems in the next beacon (not sending the diff this time)
- When monitor receives the good sequence after out-of-order being detected it invalidates all its subsystems before applying the beacon
- When new leader is elected monitor forces out-of-order indication for all GWs
Updated by Leonid Chernin 8 months ago
Other rules:
- Monitor Client should no apply the ack map with out-of-order indication since it maybe invalid. Monitor client just sends the previous Beacon state to the monitor
- Monitor should not choose GW with out-of-sequence indication for HA actions - failover/failback
Updated by Leonid Chernin 8 months ago
- Affected Versions v21.0.0 added
- Affected Versions deleted (
v15.2.13)
Updated by Leonid Chernin 8 months ago
- Subject changed from To send in each MoniorClient Beacon only difference from the previous Beacon to Beacon will be changed to include only the delta from the Previous Beacon
Updated by Samuel Just 8 months ago
Can you expand on the out-of-order indication? What causes it to be set?
Updated by Upkeep Bot 2 months ago
- Copied to Backport #74413: tentacle: Beacon will be changed to include only the delta from the Previous Beacon added
Updated by Upkeep Bot 2 months ago
- Merge Commit set to eb1692825a9afdea5bf27bf9a23550ccd5ad79e6
- Fixed In set to v20.3.0-4832-geb1692825a
- Upkeep Timestamp set to 2026-01-16T00:52:34+00:00