eth/protocols/snap: snap sync testing (#22179)
* eth/protocols/snap: make timeout configurable * eth/protocols/snap: snap sync testing * eth/protocols/snap: test to trigger panic * eth/protocols/snap: fix race condition on timeouts * eth/protocols/snap: return error on cancelled sync * squashme: updates + test causing panic + properly serve accounts in order * eth/protocols/snap: revert failing storage response * eth/protocols/snap: revert on bad responses (storage, code) * eth/protocols/snap: fix account handling stall * eth/protocols/snap: fix remaining revertal-issues * eth/protocols/snap: timeouthandler for bytecode requests * eth/protocols/snap: debugging + fix log message * eth/protocols/snap: fix misspelliings in docs * eth/protocols/snap: fix race in bytecode handling * eth/protocols/snap: undo deduplication of storage roots * synctests: refactor + minify panic testcase * eth/protocols/snap: minor polishes * eth: minor polishes to make logs more useful * eth/protocols/snap: remove excessive logs from the test runs * eth/protocols/snap: stress tests with concurrency * eth/protocols/snap: further fixes to test cancel channel handling * eth/protocols/snap: extend test timeouts on CI Co-authored-by: Péter Szilágyi <peterke@gmail.com>
This commit is contained in:
committed by
GitHub
parent
3708454f58
commit
797b0812ab
@@ -326,24 +326,32 @@ func (h *handler) runSnapPeer(peer *snap.Peer, handler snap.Handler) error {
|
||||
}
|
||||
|
||||
func (h *handler) removePeer(id string) {
|
||||
// Create a custom logger to avoid printing the entire id
|
||||
var logger log.Logger
|
||||
if len(id) < 16 {
|
||||
// Tests use short IDs, don't choke on them
|
||||
logger = log.New("peer", id)
|
||||
} else {
|
||||
logger = log.New("peer", id[:8])
|
||||
}
|
||||
// Remove the eth peer if it exists
|
||||
eth := h.peers.ethPeer(id)
|
||||
if eth != nil {
|
||||
log.Debug("Removing Ethereum peer", "peer", id)
|
||||
logger.Debug("Removing Ethereum peer")
|
||||
h.downloader.UnregisterPeer(id)
|
||||
h.txFetcher.Drop(id)
|
||||
|
||||
if err := h.peers.unregisterEthPeer(id); err != nil {
|
||||
log.Error("Peer removal failed", "peer", id, "err", err)
|
||||
logger.Error("Ethereum peer removal failed", "err", err)
|
||||
}
|
||||
}
|
||||
// Remove the snap peer if it exists
|
||||
snap := h.peers.snapPeer(id)
|
||||
if snap != nil {
|
||||
log.Debug("Removing Snapshot peer", "peer", id)
|
||||
logger.Debug("Removing Snapshot peer")
|
||||
h.downloader.SnapSyncer.Unregister(id)
|
||||
if err := h.peers.unregisterSnapPeer(id); err != nil {
|
||||
log.Error("Peer removal failed", "peer", id, "err", err)
|
||||
logger.Error("Snapshot peer removel failed", "err", err)
|
||||
}
|
||||
}
|
||||
// Hard disconnect at the networking layer
|
||||
|
Reference in New Issue
Block a user