Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VSR/Sync: Allow tables to queue for sync twice #1278

Merged
merged 1 commit into from
Nov 8, 2023

Conversation

sentientwaffle
Copy link
Member

@sentientwaffle sentientwaffle commented Nov 7, 2023

Timeline of the VOPR seed in #1273 (seed 2812334640525749465 on commit 47c03651ff08ee547b4baefda1b5b40f7f95e191 ):

  1. Replica 2: Superblock sync completes. Begin syncing LSM tables.
  2. Replica 2: Queue the table address=62 checksum=145957321580082356891479597489273601427 level=0 for sync (GridBlocksMissing.enqueue_table()).
  3. Replica 2: LSM compaction moves the table with address=62 to level 1.
  4. Replica 2: Queue the table address=62 checksum=145957321580082356891479597489273601427 level=1 for sync (GridBlocksMissing.enqueue_table()).

The ForestTableIterator doesn't repeat tables... except when the table in question has moved to the next level.

This commit loosens the assertion to allow for this case.

Fixes #1273.

Timeline of the VOPR seed in #1273 (seed `2812334640525749465` on commit `47c03651ff08ee547b4baefda1b5b40f7f95e191 `):

1. Replica 2: Superblock sync completes. Begin syncing LSM tables.
2. Replica 2: Queue the table `address=62 checksum=145957321580082356891479597489273601427 level=0` for sync (`GridBlocksMissing.enqueue_table()`).
3. Replica 2: LSM compaction moves the table with `address=62` to level 1.
4. Replica 2: Queue the table `address=62 checksum=145957321580082356891479597489273601427 level=1` for sync (`GridBlocksMissing.enqueue_table()`).

The `ForestTableIterator` doesn't repeat tables... except when the table in question has moved to the next level�

This commit loosens the assertion to allow for this case.

Fixes #1273.
@sentientwaffle sentientwaffle marked this pull request as ready for review November 7, 2023 21:54
@sentientwaffle sentientwaffle added this pull request to the merge queue Nov 8, 2023
Merged via the queue into main with commit 4bab938 Nov 8, 2023
27 checks passed
@sentientwaffle sentientwaffle deleted the dj-sync-table-duplicate branch November 8, 2023 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Crash: 2812334640525749465
2 participants