DAL_node: Fix Backfill logic in Attestable_slots_watcher_table
What
- Extend the DAL node’s backfill window by one level (including L+1) when computing the initial payload for a new subscription (which is a finalized payload block according to Tenderbake);
Why
A slot can be published between sampling level L and stream attachment; including L+1 prevents missing that publication in the initial cache.
How
Manually testing the MR
By running a ghostnet L1 node and DAL node and curl-ing the monitoring RPC:
curl -N "http://127.0.0.1:11832/profiles/tz1Zt8QQ9aBznYNk5LUBjtME9DuExomw9YRs/monitor/attestable_slots" | jq
{
"kind": "backfill",
"backfill_payload": {
"slot_ids": [
{
"slot_level": 16245574,
"slot_index": 8
},
{
"slot_level": 16245573,
"slot_index": 8
},
{
"slot_level": 16245572,
"slot_index": 8
},
{
"slot_level": 16245571,
"slot_index": 8
},
{
"slot_level": 16245570,
"slot_index": 8
},
{
"slot_level": 16245569,
"slot_index": 8
},
{
"slot_level": 16245568,
"slot_index": 8
},
{
"slot_level": 16245567,
"slot_index": 8
},
{
"slot_level": 16245566,
"slot_index": 8
}
],
"no_shards_attestation_levels": []
}
}
{
"kind": "attestable_slot",
"slot_id": {
"slot_level": 16245575,
"slot_index": 8
}
}
{
"kind": "attestable_slot",
"slot_id": {
"slot_level": 16245576,
"slot_index": 8
}
}
...
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Gabriel Moise