Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-13559

Schema version id mismatch while upgrading to 3.0.13

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Urgent
    • Resolution: Fixed
    • Fix Version/s: 3.0.14, 3.11.0
    • Component/s: Legacy/Core
    • Labels:
      None
    • Severity:
      Critical

      Description

      As the order of SchemaKeyspace is changed (6991556 , CASSANDRA-12213), the result of function calculateSchemaDigest is also changed for the same schema. Which causes schema mismatch while upgrading 3.0.x -> 3.0.13.
      It could cause cassandra fail to start because Unknown CF exception. And streaming will fail:

      ERROR [main] 2017-05-26 18:58:57,572 CassandraDaemon.java:709 - Exception encountered during startup
      java.lang.IllegalArgumentException: Unknown CF 83c8eae0-3a65-11e7-9a27-e17fd11571e3
      
      WARN  [MessagingService-Incoming-/IP] 2017-05-26 19:27:11,523 IncomingTcpConnection.java:101 - UnknownColumnFamilyException reading from socket; closing
      org.apache.cassandra.db.UnknownColumnFamilyException: Couldn't find table for cfId 922b7940-3a65-11e7-adf3-a3ff55d9bcf1. If a table was just created, this is likely due to the schema not being fully propagated.  Please wait for schema agreement on table creation.
      

      Restart the new node will cause:

      Exception (java.lang.NoSuchFieldError) encountered during startup: ALL
      java.lang.NoSuchFieldError: ALL
              at org.apache.cassandra.service.ClientState.<clinit>(ClientState.java:67)
              at org.apache.cassandra.cql3.QueryProcessor$InternalStateInstance.<init>(QueryProcessor.java:155)
              at org.apache.cassandra.cql3.QueryProcessor$InternalStateInstance.<clinit>(QueryProcessor.java:149)
              at org.apache.cassandra.cql3.QueryProcessor.internalQueryState(QueryProcessor.java:163)
              at org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:286)
              at org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:294)
              at org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:900)
              at org.apache.cassandra.service.StartupChecks$9.execute(StartupChecks.java:354)
              at org.apache.cassandra.service.StartupChecks.verify(StartupChecks.java:110)
              at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:179)
              at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:569)
              at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:697)
      

      I would suggest to have the older list back for digest calculation and release 3.0.14.

        Attachments

          Activity

            People

            • Assignee:
              jay.zhuang Jay Zhuang
              Reporter:
              jay.zhuang Jay Zhuang
              Authors:
              Jay Zhuang
              Reviewers:
              Stefania Alborghetti
            • Votes:
              0 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: