SHA256
Сервер: успокоить AddBlock sync при уже догнанном партнере
This commit is contained in:
+13
-1
@@ -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
@@ -1,2 +1,2 @@
|
||||
client.version=1.2.354
|
||||
server.version=1.2.323
|
||||
server.version=1.2.324
|
||||
|
||||
Reference in New Issue
Block a user