enable stricter downscoring for bad data columns while syncing
This commit is contained in:
parent
05435e5237
commit
ba58e89ea5
|
@ -36,6 +36,9 @@ const
|
|||
PeerScoreBadValues* = -1000
|
||||
## Peer's response contains incorrect data.
|
||||
PeerScoreBadResponse* = -1000
|
||||
## Peer's column responses are invalid
|
||||
## Specifically a peerdas devnet setting
|
||||
PeerScoreBadColumns* = -100000
|
||||
## Peer's response is not in requested range.
|
||||
PeerScoreMissingValues* = -25
|
||||
## Peer response contains too much missing data - this can happen either
|
||||
|
|
|
@ -678,7 +678,7 @@ proc syncStep[A, B](man: SyncManager[A, B], index: int, peer: A)
|
|||
data_columns_map = getShortMap(req, dataColumnData), request = req, msg=groupedDataColumns.error()
|
||||
return
|
||||
if (let checkRes = groupedDataColumns.get.checkDataColumns(); checkRes.isErr):
|
||||
peer.updateScore(PeerScoreBadResponse)
|
||||
peer.updateScore(PeerScoreBadColumns)
|
||||
man.queue.push(req)
|
||||
warn "Received data columns is invalid",
|
||||
data_columns_count = len(dataColumnData),
|
||||
|
|
|
@ -457,11 +457,13 @@ p2pProtocol BeaconSync(version = 1,
|
|||
|
||||
let
|
||||
dag = peer.networkState.dag
|
||||
# Using MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS for now, as cfg yaml
|
||||
# isn't properly configured in this branch yet.
|
||||
epochBoundary =
|
||||
if dag.cfg.MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS >= dag.head.slot.epoch:
|
||||
if dag.cfg.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS >= dag.head.slot.epoch:
|
||||
GENESIS_EPOCH
|
||||
else:
|
||||
dag.head.slot.epoch - dag.cfg.MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS
|
||||
dag.head.slot.epoch - dag.cfg.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS
|
||||
|
||||
if startSlot.epoch < epochBoundary:
|
||||
raise newException(ResourceUnavailableError, DataColumnsOutOfRange)
|
||||
|
|
Loading…
Reference in New Issue