Some RandomVirtualMapReconnectTests tests fail with deep VirtualMap key validation #16754
Labels
Platform Data Structures
Platform Reconnect
Platform Virtual Map
Platform
Tickets pertaining to the platform
Stability
Tickets pertaining to the stability of the consensus node.
This issue was found while investigating #16657.
To improve reconnect tests in context of #16657 above, I added one more validation to
MerkleTestUtils
. Here is the patch:What it does is it collects all virtual keys from both teacher and learner maps. After reconnect, for every virtual map in the tree, and for every collected virtual key, a check is added that the key is either present in both maps, or absent in both maps.
This new validation correctly fails for the corner case from #16657, when learner map is empty. After that fix, the validation passes fine. However, the validation fails for a different test,
RandomVirtualMapReconnectTests
. At least one virtual key is missing in one map and present in the other map, usingvirtualMap.containsKey()
method. At the same time, the two maps are equal as merkle trees, which means that lookups by paths are fine, but lookups by keys are broken.It must be a different problem than #16657, this is why it's tracked in a separate ticket.
The text was updated successfully, but these errors were encountered: