Skip to content

Commit 3808420

Browse files
fix DFL update handler bad processing of advanced round updates received
1 parent 50e4b0d commit 3808420

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

nebula/core/aggregation/updatehandlers/dflupdatehandler.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,13 @@ async def round_expected_updates(self, federation_nodes: set):
8888
async def _check_updates_already_received(self):
8989
for se in self._sources_expected:
9090
(last_updt, node_storage) = self._updates_storage[se]
91-
if len(node_storage) and last_updt != node_storage[-1]:
92-
logging.info(
93-
f"Update already received from source: {se} | ({len(self._sources_received)}/{len(self._sources_expected)}) Updates received"
94-
)
95-
self._sources_received.add(se)
91+
if len(node_storage):
92+
try:
93+
if (last_updt and node_storage[-1] and last_updt != node_storage[-1]) or (node_storage[-1] and not last_updt):
94+
self._sources_received.add(se)
95+
logging.info(f"Update already received from source: {se} | ({len(self._sources_received)}/{len(self._sources_expected)}) Updates received")
96+
except:
97+
logging.error(f"ERROR: source expected: {se} | last_update None: {(True if not last_updt else False)}, last update storaged None: {(True if not node_storage[-1] else False)}")
9698

9799
async def storage_update(self, updt_received_event: UpdateReceivedEvent):
98100
time_received = time.time()

0 commit comments

Comments
 (0)