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
Prevent broken concurrent schema read/writes #1278
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some minor comments, but 2 things I think we have to fix for sure. Looks like we're missing the changes from the 4.0 patch for MigrationManager
and SchemaPullVerbHandler
.
|
||
/** See CASSANDRA-16856/16996. Make sure schema pulls are synchronized to prevent concurrent schema pull/writes */ | ||
@Test | ||
public void testNoVisiblePartialSchemaUpdates() throws Exception |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bereng So we still need the Byteman rule here, because otherwise there's nothing stopping the table creation from finishing completely before we call Schema.instance.schemaKeyspaceAsMutations()
. In other words, we still need some arbitrarily large wait on CFS#apply()
to make sure the second thread will see the mutation partially applied.
2285963
to
ca221cf
Compare
No description provided.