Skip to content

Commit 6428df0

Browse files
committed
clarify wording in data layout + mandate sections
1 parent 66a0d14 commit 6428df0

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

proposals/0307-add-block-footer.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,22 @@ arrangement of a typical network packet (e.g. MAC -> IP -> TCP -> HTTP). At the
6161
highest layer a block consists of some number (~100+) FEC sets. A single FEC
6262
set contains a handful of shreds (~32). Once sufficient shreds are available
6363
the raw block data is reconstructed and reinterpreted as an array of entry
64-
batches. Entry batches do not cross shred boundaries.
64+
batches. Entry batches are aligned with shred boundaries (i.e. they will
65+
start/stop at a shred boundary).
6566

6667
This SIMD add the following footer at the end of the raw block data. This
6768
puts it on the same abstraction layer as serialized entry batch data. Put
6869
differently, the serialized footer will be appended after the last serialized
69-
entry batch in the block.
70+
entry batch in the block as its own pseudo-entry-batch. Parsers should,
71+
however, support the footer actually being placed anywhere in the block,
72+
between any other entry batches. The footer should be parsed as its own
73+
pseudo-entry-batch and will be differentiated from other entry batches using
74+
the `block_footer_flag` field. Allowing the footer anywhere in the block
75+
gives us the flexibility to fix it as a header or a footer in a future SIMD.
76+
Currently, we call it a "footer" and encourage block producers to add it to
77+
the end of the block since we think future SIMD's may require the footer to
78+
be computed after constructing the block (e.g. a new timing metric, async
79+
execution).
7080

7181
```
7282
Block Footer Layout
@@ -280,7 +290,7 @@ Sample Response Payload
280290

281291
While it is possible to make the block footer optional thanks to the
282292
`block_footer_flag` field, this proposal makes it mandatory. Blocks that don't
283-
include a valid footer in the block payload will be flagged as dead blocks and
293+
include a valid footer in the block payload must be flagged as dead blocks and
284294
skipped by the other nodes in the cluster.
285295

286296
## Alternatives Considered

0 commit comments

Comments
 (0)