Сервер: успокоить AddBlock sync при уже догнанном партнере

This commit is contained in:
AidarKC
2026-07-24 22:26:59 +04:00
parent ce5595bc16
commit f197196c21
2 changed files with 14 additions and 2 deletions
@@ -114,6 +114,12 @@ public final class AddBlockSyncService {
return;
}
if (firstTry.serverAlreadyHasBlock(blockNumber)) {
log.info("AddBlock sync skipped: partner already has block. partner={} blockchainName={} blockNumber={} remoteLast={}",
partner.getLogin(), blockchainName, blockNumber, firstTry.serverLastGlobalNumber());
return;
}
if (!firstTry.needsBackfill()) {
log.warn("AddBlock sync failed without backfill: partner={} blockchainName={} blockNumber={} code={}",
partner.getLogin(), blockchainName, blockNumber, firstTry.code());
@@ -123,7 +129,7 @@ public final class AddBlockSyncService {
int remoteLast = firstTry.serverLastGlobalNumber();
int fromBlockNumber = remoteLast + 1;
if (fromBlockNumber > blockNumber) {
log.warn("AddBlock sync inconsistent backfill window: partner={} blockchainName={} remoteLast={} target={}",
log.info("AddBlock sync skipped: partner already caught up during backfill window. partner={} blockchainName={} remoteLast={} target={}",
partner.getLogin(), blockchainName, remoteLast, blockNumber);
return;
}
@@ -295,6 +301,12 @@ public final class AddBlockSyncService {
boolean needsBackfill() {
return !ok && ("bad_prev_hash".equalsIgnoreCase(code) || "bad_block_number".equalsIgnoreCase(code));
}
boolean serverAlreadyHasBlock(int targetBlockNumber) {
return !ok
&& serverLastGlobalNumber != Integer.MIN_VALUE
&& serverLastGlobalNumber >= targetBlockNumber;
}
}
private static final class SyncWsListener implements WebSocket.Listener {
+1 -1
View File
@@ -1,2 +1,2 @@
client.version=1.2.354
server.version=1.2.323
server.version=1.2.324