[NOD-1565] Reorder getSyncInfo in a way that won't unnecessarily call HeaderTipsPruningPoint. (#1146)

This commit is contained in:
stasatdaglabs 2020-11-24 11:34:02 +02:00 committed by GitHub
parent 2096a28d1c
commit d65f382c80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -57,6 +57,14 @@ func (sm *syncManager) resolveSyncState() (externalapi.SyncState, error) {
return externalapi.SyncStateHeadersFirst, nil
}
virtualSelectedParentHash, err := sm.virtualSelectedParentHash()
if err != nil {
return 0, err
}
if *virtualSelectedParentHash == *headerVirtualSelectedParentHash {
return externalapi.SyncStateRelay, nil
}
// Once the header tips are synced, check the status of
// the pruning point from the point of view of the header
// tips. We check it against StatusValid (rather than
@ -75,15 +83,7 @@ func (sm *syncManager) resolveSyncState() (externalapi.SyncState, error) {
return externalapi.SyncStateMissingUTXOSet, nil
}
virtualSelectedParentHash, err := sm.virtualSelectedParentHash()
if err != nil {
return 0, err
}
if *virtualSelectedParentHash != *headerVirtualSelectedParentHash {
return externalapi.SyncStateMissingBlockBodies, nil
}
return externalapi.SyncStateRelay, nil
return externalapi.SyncStateMissingBlockBodies, nil
}
func (sm *syncManager) virtualSelectedParentHash() (*externalapi.DomainHash, error) {