From 73c56629a5611af5ba8618c4c4e9f7b04278254c Mon Sep 17 00:00:00 2001 From: boqiu <82121246@qq.com> Date: Mon, 5 Aug 2024 16:07:31 +0800 Subject: [PATCH] fix python tests --- node/sync/src/auto_sync/batcher_serial.rs | 7 ++++++- node/sync/src/auto_sync/manager.rs | 9 +++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/node/sync/src/auto_sync/batcher_serial.rs b/node/sync/src/auto_sync/batcher_serial.rs index a8e4d39..1ba406c 100644 --- a/node/sync/src/auto_sync/batcher_serial.rs +++ b/node/sync/src/auto_sync/batcher_serial.rs @@ -284,7 +284,12 @@ impl SerialBatcher { let origin = self.next_tx_seq_in_db.load(Ordering::Relaxed); let mut current = origin; - while let Some(&sync_result) = self.pending_completed_txs.read().await.get(¤t) { + loop { + let sync_result = match self.pending_completed_txs.read().await.get(¤t) { + Some(&v) => v, + None => break, + }; + // downgrade to random sync if file sync failed or timeout if matches!(sync_result, SyncResult::Failed | SyncResult::Timeout) { self.sync_store.add_pending_tx(current).await?; diff --git a/node/sync/src/auto_sync/manager.rs b/node/sync/src/auto_sync/manager.rs index 84e5f62..1f33de2 100644 --- a/node/sync/src/auto_sync/manager.rs +++ b/node/sync/src/auto_sync/manager.rs @@ -48,15 +48,16 @@ impl AutoSyncManager { ); // sync randomly - let random = RandomBatcher::new(config, store.clone(), sync_send.clone(), sync_store); + let random = RandomBatcher::new(config, store, sync_send, sync_store); executor.spawn(random.clone().start(catched_up.clone()), "auto_sync_random"); // handle on catched up notification executor.spawn( async move { - catch_up_end_recv.await.expect("Catch up sender dropped"); - info!("log entry catched up"); - catched_up.store(true, Ordering::Relaxed); + if catch_up_end_recv.await.is_ok() { + info!("log entry catched up"); + catched_up.store(true, Ordering::Relaxed); + } }, "auto_sync_wait_for_catchup", );