[ 
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

Reply via email to