[
https://issues.apache.org/jira/browse/CASSANDRA-17047?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17729727#comment-17729727
]
Benjamin Lerer edited comment on CASSANDRA-17047 at 6/6/23 12:55 PM:
---------------------------------------------------------------------
I rebased the patches, simplified the tests, added new ones and addressed the
review comments.
|| Branch || CI ||
|[3.0|https://github.com/apache/cassandra/pull/1283] |
[j8|https://app.circleci.com/pipelines/github/blerer/cassandra/336/workflows/7fa31999-e9bf-404d-8403-14e3fac4a936]
|
|[3.11|https://github.com/apache/cassandra/pull/1284]|[j8|https://app.circleci.com/pipelines/github/blerer/cassandra/335/workflows/eef88e85-0daf-4cc1-9e77-43b2555c4023]|
|[4.0|https://github.com/apache/cassandra/pull/1285]|[j8|https://app.circleci.com/pipelines/github/blerer/cassandra/334/workflows/2d708d8d-2b39-4ebb-bf11-d2d4b557f623]
, [J11|
https://app.circleci.com/pipelines/github/blerer/cassandra/329/workflows/37938a5e-a950-4dd0-80ec-d47df0ed49c9]|
|[4.1|https://github.com/apache/cassandra/pull/2392] |
[j8|https://app.circleci.com/pipelines/github/blerer/cassandra/333/workflows/06f40fef-6a5e-4ddb-8272-8a7fc26727f0],[j11|https://app.circleci.com/pipelines/github/blerer/cassandra/333/workflows/004c37f7-a6ef-44a0-8e45-a9e4fb9b3c52]|
|[trunk|https://github.com/apache/cassandra/pull/1286]|[j8|https://app.circleci.com/pipelines/github/blerer/cassandra/332/workflows/954685c0-2102-418d-b713-2eadc69c07ee]
,[
j11|https://app.circleci.com/pipelines/github/blerer/cassandra/332/workflows/0e047501-7559-4382-aa0c-76b6d80a0d72]|
was (Author: blerer):
I rebased the patches, simplified the tests, added new ones and addressed the
review comments.
|| Branch || CI ||
|[3.0|https://github.com/apache/cassandra/pull/1283] |
[j8|https://app.circleci.com/pipelines/github/blerer/cassandra/336/workflows/7fa31999-e9bf-404d-8403-14e3fac4a936]
|
|[3.11|https://github.com/apache/cassandra/pull/1284]|[j8|https://app.circleci.com/pipelines/github/blerer/cassandra/335/workflows/eef88e85-0daf-4cc1-9e77-43b2555c4023]|
|[4.0|https://github.com/apache/cassandra/pull/1285]|[j8|https://app.circleci.com/pipelines/github/blerer/cassandra/334/workflows/2d708d8d-2b39-4ebb-bf11-d2d4b557f623]
, [J11,
https://app.circleci.com/pipelines/github/blerer/cassandra/329/workflows/37938a5e-a950-4dd0-80ec-d47df0ed49c9]|
|[4.1|https://github.com/apache/cassandra/pull/2392] |
[j8|https://app.circleci.com/pipelines/github/blerer/cassandra/333/workflows/06f40fef-6a5e-4ddb-8272-8a7fc26727f0],[j11|https://app.circleci.com/pipelines/github/blerer/cassandra/333/workflows/004c37f7-a6ef-44a0-8e45-a9e4fb9b3c52]|
|[trunk|https://github.com/apache/cassandra/pull/1286]|[j8|https://app.circleci.com/pipelines/github/blerer/cassandra/332/workflows/954685c0-2102-418d-b713-2eadc69c07ee]
,[
j11|https://app.circleci.com/pipelines/github/blerer/cassandra/332/workflows/0e047501-7559-4382-aa0c-76b6d80a0d72]|
> Dropping a column can break queries until the schema is fully propagated
> (TAKE 2)
> ---------------------------------------------------------------------------------
>
> Key: CASSANDRA-17047
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17047
> Project: Cassandra
> Issue Type: Bug
> Components: Cluster/Schema
> Reporter: Benjamin Lerer
> Assignee: Benjamin Lerer
> Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.0.x
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> With a table like:
> {code}
> CREATE TABLE ks.tbl (id int primary key, v1 int, v2 int, v3 int)
> {code}
> and we drop {{v2}}, we get this exception on the replicas which haven't seen
> the schema change:
> {code}
> ERROR [SharedPool-Worker-1] node2 2020-06-24 09:49:08,107
> AbstractLocalAwareExecutorService.java:169 - Uncaught exception on thread
> Thread[SharedPool-Worker-1,5,node2]
> java.lang.IllegalStateException: [ColumnDefinition{name=v1,
> type=org.apache.cassandra.db.marshal.Int32Type, kind=REGULAR, position=-1},
> ColumnDefinition{name=v2, type=org.apache.cassandra.db.marshal.Int32Type,
> kind=REGULAR, position=-1}, ColumnDefinition{name=v3,
> type=org.apache.cassandra.db.marshal.Int32Type, kind=REGULAR, position=-1}]
> is not a subset of [v1 v3]
> at
> org.apache.cassandra.db.Columns$Serializer.encodeBitmap(Columns.java:546)
> ~[main/:na]
> at
> org.apache.cassandra.db.Columns$Serializer.serializeSubset(Columns.java:478)
> ~[main/:na]
> at
> org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:184)
> ~[main/:na]
> at
> org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:114)
> ~[main/:na]
> at
> org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:102)
> ~[main/:na]
> at
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:132)
> ~[main/:na]
> at
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:87)
> ~[main/:na]
> ...
> {code}
> Note that it doesn't matter if we {{SELECT *}} or {{SELECT id, v1}}
> CASSANDRA-15899 tried to fix the problem when columns are dropped as well as
> when columns are added. Unfortunately the fix introduced an issue and had to
> be reverted in CASSANDRA-16735.
> If the scenario for ADDED columns is tricky, the original scenario for
> DROPPED columns can be solved in a safe way at the {{ColumnFilter}} level.
> By consequence, I think that we should at least solve that scenario.
> [~bdeggleston], [~samt], [~ifesdjeen] does my proposal makes sense to you?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]