Closed danielealbano closed 1 year ago
Base: 82.67% // Head: 82.88% // Increases project coverage by +0.21%
:tada:
Coverage data is based on head (
d2b5110
) compared to base (7f32454
). Patch coverage: 86.67% of modified lines in pull request are covered.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
After the initial implementation and merge of the new hashtable some issues were found, after further investigation some bugs were discovered in the upsize implementation and that it was also clashing with the normal operation carried out during the get, set and delete operation.
This PR fixes the bug in the upsize implementation to ensure that everything is always copied and that if there is a bucket marked as temporary, because a write is in progress, it waits for it to be finalized or reverted (although this approach will be changed later to perform better when transactions will be implemented). The PR also fixes the clashing behaviour with the get, set and delete operations, especially with the last 2, as they always to retry when the bucket found changes underneath (as it can be another operation or the migration process).
The PR also includes a new fuzzy test created to ensure that this behaviour is further tested and that everything works as expected.