Commit 948e273
committed
[execution] gate hot-state via on-chain features
The hot-state rollout switches that control write-set format, block
epilogue payload format, and `TransactionInfo` format all affect bytes
committed to the ledger, so they must agree across all validators. They
previously lived in the local `HotStateConfig`, where they could drift
per-node.
Move them to two new permanent feature flags:
- `HOTNESS_IN_EPILOGUE`: persists per-block hot-state promotions in
`BlockEpiloguePayload::V2`, and emits V1 write sets that encode the
hot-state changes inline.
- `TRANSACTION_INFO_V1`: assembles `TransactionInfoV1`, which carries
the hot state root hash into the ledger accumulator.
`OnChainExecutionConfig::block_executor_onchain_config()` now takes
`&Features` and threads the booleans into `BlockExecutorConfigFromOnchain`.
Consensus reads `Features` from the reconfiguration payload and propagates
it through the epoch manager, execution client, and consensus observer.
The block executor and `do_get_execution_output` consume the on-chain
values, and the `TransactionInfoV1` flag rides along on `ExecutionOutput`
into ledger update.
The chunk-apply path still derives the transaction info format from each
chunk's actual `TransactionInfo` variants and so does not depend on the
on-chain flag.1 parent 7f900aa commit 948e273
28 files changed
Lines changed: 151 additions & 87 deletions
File tree
- aptos-move
- aptos-release-builder/src/components
- aptos-vm/src
- sharded_block_executor
- block-executor/src
- e2e-tests/src
- framework
- cached-packages/src
- move-stdlib/sources/configs
- replay-benchmark/src
- aptos-node/src
- config/src/config
- consensus/src
- consensus_observer/observer
- pipeline
- test_utils
- execution
- executor-service/src
- executor-types/src
- executor/src
- block_executor
- workflow
- storage/aptosdb/src/state_store
- tests
- types/src
- block_executor
- on_chain_config
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
| 169 | + | |
| 170 | + | |
169 | 171 | | |
170 | 172 | | |
171 | 173 | | |
| |||
435 | 437 | | |
436 | 438 | | |
437 | 439 | | |
| 440 | + | |
| 441 | + | |
438 | 442 | | |
439 | 443 | | |
440 | 444 | | |
| |||
631 | 635 | | |
632 | 636 | | |
633 | 637 | | |
| 638 | + | |
| 639 | + | |
634 | 640 | | |
635 | 641 | | |
636 | 642 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | | - | |
168 | 167 | | |
169 | 168 | | |
170 | 169 | | |
| |||
514 | 513 | | |
515 | 514 | | |
516 | 515 | | |
517 | | - | |
518 | | - | |
519 | | - | |
520 | | - | |
521 | | - | |
522 | | - | |
523 | | - | |
524 | | - | |
525 | | - | |
526 | | - | |
527 | | - | |
528 | | - | |
529 | | - | |
530 | 516 | | |
531 | 517 | | |
532 | 518 | | |
| |||
3425 | 3411 | | |
3426 | 3412 | | |
3427 | 3413 | | |
3428 | | - | |
3429 | 3414 | | |
3430 | 3415 | | |
3431 | 3416 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
198 | | - | |
| 198 | + | |
199 | 199 | | |
200 | 200 | | |
201 | 201 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2178 | 2178 | | |
2179 | 2179 | | |
2180 | 2180 | | |
2181 | | - | |
| 2181 | + | |
2182 | 2182 | | |
2183 | 2183 | | |
2184 | 2184 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1009 | 1009 | | |
1010 | 1010 | | |
1011 | 1011 | | |
1012 | | - | |
1013 | 1012 | | |
1014 | | - | |
| 1013 | + | |
1015 | 1014 | | |
1016 | 1015 | | |
1017 | 1016 | | |
| |||
Binary file not shown.
Lines changed: 13 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
876 | 876 | | |
877 | 877 | | |
878 | 878 | | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
879 | 892 | | |
880 | 893 | | |
881 | 894 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
32 | 31 | | |
33 | | - | |
| 32 | + | |
34 | 33 | | |
35 | 34 | | |
36 | 35 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | 79 | | |
86 | 80 | | |
87 | 81 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
255 | 255 | | |
256 | 256 | | |
257 | 257 | | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | 258 | | |
266 | 259 | | |
267 | 260 | | |
| |||
271 | 264 | | |
272 | 265 | | |
273 | 266 | | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | 267 | | |
278 | 268 | | |
279 | 269 | | |
| |||
0 commit comments