-
Notifications
You must be signed in to change notification settings - Fork 610
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
Index build: do not lose the requested partitioning info of indexImplTables in case of SchemeShard reboots #10579
Index build: do not lose the requested partitioning info of indexImplTables in case of SchemeShard reboots #10579
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
37f46db
to
53c0ea3
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
53c0ea3
to
6082c72
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
f06fc17
to
270c3df
Compare
⚪ Test history | Ya make output | Test bloat
⚪ Test history | Ya make output | Test bloat | Test bloat
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ Test history | Ya make output | Test bloat
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
…Tables in case of SchemeShard reboots (ydb-platform#10579)
… an indexImplTable in case of SchemeShard reboots (ydb-platform#10579) (ydb-platform#10634)
… an indexImplTable in case of SchemeShard reboots (ydb-platform#10579) (ydb-platform#10634)
Ticket:
Context
Index building is a long-running operation that is not a single transaction, but many. YDB does persist the state of the individual transactions (i.e. SchemeShard's proposals) and is able to continue them from the last state even if the SchemeShard reboots during the execution of the transaction. However, index build operations require their own persistent description for the SchemeShard to continue them if it reboots.
Description
PersistCreateBuildIndex is a function that is responsible for the index build operation ability to recover from the SchemeShard's reboots. As you can see, it didn't persist the ImplTableDescriptions (they store the partitioning info about the indexImplTables to be created) as well as the Specialized Index Description (i.e. specific vector index description). Previously, if the SchemeShard had rebooted before the indexImplTable was created, but after the index build operation had started, then the partitioning info of the indexImplTables would have been lost. A unit test Is added to reproduce the scenario.
Note
The main commit is:
The others are supplementary (they add unit tests).