[ https://issues.apache.org/jira/browse/CASSANDRA-5334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sylvain Lebresne updated CASSANDRA-5334: ---------------------------------------- Attachment: 5334.txt This was introduced by CASSANDRA-4433, that removed the "name" column of the schema_keyspaces table, but that one, while redundant, is used by 1.1 nodes. This boils down to the problem I described in CASSANDRA-4603: we cannot easily remove anything in the schema tables without breaking rolling upgrades. So attaching a patch that reintroduce the "name" column in 1.2 (we don't use it but we write it for compatibility sake). > NullPointerException in a mixed 1.1 / 1.2 cluster > ------------------------------------------------- > > Key: CASSANDRA-5334 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5334 > Project: Cassandra > Issue Type: Bug > Affects Versions: 1.1.9 > Reporter: Ryan McGuire > Attachments: 5334.txt > > > I have a mixed version cluster consisting of two 1.1.9 nodes and one 1.2.2 > node upgraded from 1.1.9. > The upgrade works, and I don't see any end user problems, however I see this > exception in the logs on the non-upgraded nodes: > {code} > ERROR [MigrationStage:1] 2013-03-11 18:09:09,001 AbstractCassandraDaemon.java > (line 135) Exception in thread Thread[MigrationStage:1,5,main] > java.lang.NullPointerException > at > org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:167) > at > org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:124) > at org.apache.cassandra.cql.jdbc.JdbcUTF8.getString(JdbcUTF8.java:77) > at org.apache.cassandra.cql.jdbc.JdbcUTF8.compose(JdbcUTF8.java:97) > at org.apache.cassandra.db.marshal.UTF8Type.compose(UTF8Type.java:35) > at > org.apache.cassandra.cql3.UntypedResultSet$Row.getString(UntypedResultSet.java:87) > at > org.apache.cassandra.config.KSMetaData.fromSchema(KSMetaData.java:256) > at org.apache.cassandra.db.DefsTable.mergeKeyspaces(DefsTable.java:397) > at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:373) > at > org.apache.cassandra.db.DefsTable.mergeRemoteSchema(DefsTable.java:352) > at > org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > {code} > Steps to reproduce: > {code} > ccm create -v 1.1.9 1.1.9 > ccm populate -n 3 > ccm start > ccm node1 stress > ccm node1 down > {code} > edit ~/.ccm/1.1.9/cluster.conf and configure cassandra_dir to point to 1.2.2 > {code} > ccm node1 up > {code} > The cluster is now a mixed version, and works for user queries, but with the > exception above. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira