[
https://issues.apache.org/jira/browse/CASSANDRA-16257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Semb Wever updated CASSANDRA-16257:
-------------------------------------------
Fix Version/s: 2.2.x
> When upgrading from 2.1.0 to 2.2.0, UnknownColumnFamilyException encountered
> on upgraded nodes
> ----------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-16257
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16257
> Project: Cassandra
> Issue Type: Bug
> Reporter: Zhuqi Jin
> Priority: Normal
> Fix For: 2.2.x
>
>
> Both using 2.1.0 node as seed and using 2.2.0 node as seed will fail with
> this similar error:
> {code:java}
> org.apache.cassandra.db.UnknownColumnFamilyException: Couldn't find
> cfId=49a44701-d6bc-11ea-848f-4766f428c026 (when using 2.1.0 node as seed)
> org.apache.cassandra.db.UnknownColumnFamilyException: Couldn't find
> cfId=727d9450-d6c7-11ea-9370-4766f428c026 (when using 2.2.0 node as seed)at
> org.apache.cassandra.db.ColumnFamilySerializer.deserializeCfId(ColumnFamilySerializer.java:164)
> ~[apache-cassandra-2.1.0.jar:2.1.0]at
> org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:97)
> ~[apache-cassandra-2.1.0.jar:2.1.0]at
> org.apache.cassandra.db.Mutation$MutationSerializer.deserializeOneCf(Mutation.java:322)
> ~[apache-cassandra-2.1.0.jar:2.1.0]at
> org.apache.cassandra.db.Mutation$MutationSerializer.deserialize(Mutation.java:302)
> ~[apache-cassandra-2.1.0.jar:2.1.0]at
> org.apache.cassandra.db.Mutation$MutationSerializer.deserialize(Mutation.java:330)
> ~[apache-cassandra-2.1.0.jar:2.1.0]at
> org.apache.cassandra.db.Mutation$MutationSerializer.deserialize(Mutation.java:272)
> ~[apache-cassandra-2.1.0.jar:2.1.0]at
> org.apache.cassandra.net.MessageIn.read(MessageIn.java:99)
> ~[apache-cassandra-2.1.0.jar:2.1.0]at
> org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:165)
> ~[apache-cassandra-2.1.0.jar:2.1.0]at
> org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:147)
> ~[apache-cassandra-2.1.0.jar:2.1.0]at
> org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:82)
> ~[apache-cassandra-2.1.0.jar:2.1.0]{code}
> This seems to originate from the difference in the settings in the stress
> tests, and is not a data format bug. The field `cfId` is a UUID string
> generated from another two fields: `ksName` and `cfName`. These two names are
> not the interior settings in the cluster, instead they come from user
> specification.
> In 2.1.0, the stress test configures these two names to be “Keyspace1” and
> “Standard1”. See
> [https://github.com/apache/cassandra/blob/cassandra-2.1.0/tools/stress/src/org/apache/cassandra/stress/settings/SettingsSchema.java#L84]
> . Here is my log:
> {code:java}
> WARN [MigrationStage:1] 2020-08-05 03:17:20,514 Schema.java:330 -
> Schema.load: Adding org.apache.cassandra.config.CFMetaData@6299796f…..., key
> = (Keyspace1,Standard1), val = 49a44701-d6bc-11ea-848f-4766f428c026
> {code}
> In 2.2.0, the stress test configures these two names to be “keyspace1” and
> “standard1” (note that the names are case-sensitive). See
> https://github.com/apache/cassandra/blob/cassandra-2.2.0/tools/stress/src/org/apache/cassandra/stress/settings/SettingsSchema.java#L225
> . Here is my log:
> {code:java}
> WARN [MigrationStage:1] 2020-08-05 02:57:49,680 Schema.java:350 -
> Schema.load: Adding org.apache.cassandra.config.CFMetaData@719822c2……..., key
> = (keyspace1,standard1), val = 727d9450-d6c7-11ea-9370-4766f428c026
> {code}
> When a 2.2.0 message reaches a 2.1.0 node, or vice versa, the receiver will
> look up the `cfId` field in a map. Since the key is not present in its own
> map, the look up will fail with the above message. Unluckily this problem is
> quite hard to fix, since many other places also depend on the name. So I can
> not overcome this problem and find actual data format bugs between these two
> versions currently.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]