DAL: Introduce shard validation disabling mechanism
What
Enable disabling shard validation in the DAL node using an environment variable (together with the necessary CLI option --disable-shard-validation )
Why
One of the detected bottlenecks in the DAL layer was determined to be the cryptographic validation of shards, as explained in this experiment.
Therefore, in order to continue searching for other potential bottlenecks, we want to be able to disable the shard validation (but only for testing purposes) therefore we introduce a more complex mechanism to do that (inspired by the approach used for the Yes-crypto mechanism in !13862 (merged)).
How
By using a TEZOS_DISABLE_SHARD_VALIDATION_I_KNOW_WHAT_I_AM_DOING environment variable.
To further protect against a mis-usage of this environment variable, DAL nodes must also explicitly disable shard validation by using the new argument --disable-shard-validation.
Manually testing the MR
dune exec tezt/tests/main.exe -- --file dal.ml -v --title 'Alpha: Testing DAL node (DAL node disable shard validation wrong CLI)'
dune exec tezt/tests/main.exe -- --file dal.ml -v --title 'Alpha: Testing DAL node (DAL node disable shard validation wrong env)'
dune exec tezt/tests/main.exe -- --file dal.ml -v --title 'Alpha: Testing DAL node (DAL node disable shard validation correct CLI)'
For the tezt-cloud, one should now be able to add the --disable-shard-validation option to the DAL scenario command, and this should disable the cryptographic verification of the DAL shards.
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