-
Notifications
You must be signed in to change notification settings - Fork 13
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
Schema change support #45
Labels
base
scylla-cdc-base package
Comments
Closed
avelanarius
added a commit
to avelanarius/scylla-cdc-java
that referenced
this issue
May 25, 2021
This commit is essentially a complete rework of Driver3SchemaBuilder. This rework was made to fix potential problems with previous Driver3SchemaBuilder, which could potentially return incorrect schema when base table schema or CDC log schema returned by the driver was stale. The new Driver3SchemaBuilder uses the schema from both tables, but relies as much as possible on CDC log schema. The returned schema is always consistent with CDC log schema (or an exception is thrown). Refs scylladb#45. Refs scylladb/scylladb#7824.
avelanarius
added a commit
to avelanarius/scylla-cdc-java
that referenced
this issue
May 27, 2021
This commit is essentially a complete rework of Driver3SchemaBuilder. This rework was made to fix potential problems with previous Driver3SchemaBuilder, which could potentially return incorrect schema when base table schema or CDC log schema returned by the driver was stale. The new Driver3SchemaFactory (it was renamed) uses the schema from both tables, but relies as much as possible on CDC log schema. The returned schema is always consistent with CDC log schema (or an exception is thrown). Refs scylladb#45. Refs scylladb/scylladb#7824.
avelanarius
added a commit
to avelanarius/scylla-cdc-java
that referenced
this issue
Dec 10, 2021
This commit is essentially a complete rework of Driver3SchemaBuilder. This rework was made to fix potential problems with previous Driver3SchemaBuilder, which could potentially return incorrect schema when base table schema or CDC log schema returned by the driver was stale. The new Driver3SchemaFactory (it was renamed) uses the schema from both tables, but relies as much as possible on CDC log schema. The returned schema is always consistent with CDC log schema (or an exception is thrown). Refs scylladb#45. Refs scylladb/scylladb#7824.
avelanarius
added a commit
that referenced
this issue
Dec 10, 2021
This commit is essentially a complete rework of Driver3SchemaBuilder. This rework was made to fix potential problems with previous Driver3SchemaBuilder, which could potentially return incorrect schema when base table schema or CDC log schema returned by the driver was stale. The new Driver3SchemaFactory (it was renamed) uses the schema from both tables, but relies as much as possible on CDC log schema. The returned schema is always consistent with CDC log schema (or an exception is thrown). Refs #45. Refs scylladb/scylladb#7824.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently, the library handles schema change incorrectly.
Moreover,
Driver3SchemaBuilder
could be prone to race condition issues:scylla-cdc-java/scylla-cdc-driver3/src/main/java/com/scylladb/cdc/cql/driver3/Driver3SchemaBuilder.java
Line 74 in cf6a709
as it is not specified that this read base table schema will be fresh and the same as returned by the queries.
The text was updated successfully, but these errors were encountered: