cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-5631) NPE when creating column family shortly after multinode startup
Date Wed, 19 Feb 2014 13:18:20 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-5631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13905402#comment-13905402
] 

Sylvain Lebresne commented on CASSANDRA-5631:
---------------------------------------------

Lgtm (nit: I'd rename serializeKeyspace to say addSerializedKeyspace).

bq. Can you not just wait for schema agreement in your client before going on to the next
create?

For the record, Jeremiah is right that clients are supposed to wait for schema agreement if
they want to guarantee the table creation won't fail just after the keyspace one (or alternatively
make sure both creation goes through the same coordinator node). Of course, we shouldn't NPE
internally if a user don't respect that and that's just what this ticket is about.

> NPE when creating column family shortly after multinode startup
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-5631
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5631
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.2.0
>            Reporter: Martin Serrano
>            Assignee: Aleksey Yeschenko
>             Fix For: 1.2.16, 2.0.6, 2.1
>
>         Attachments: 5631.txt
>
>
> I'm testing a 2-node cluster and creating a column family right after the nodes startup.
 I am using the Astyanax client.  Sometimes column family creation fails and I see NPEs on
the cassandra server:
> {noformat}
> 2013-06-12 14:55:31,773 ERROR CassandraDaemon [MigrationStage:1] - Exception in thread
Thread[MigrationStage:1,5,main]
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.DefsTable.addColumnFamily(DefsTable.java:510)
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:444)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:354)
> 	at org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:55)
> 	at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:722)
> {noformat}
> {noformat}
> 2013-06-12 14:55:31,880 ERROR CassandraDaemon [MigrationStage:1] - Exception in thread
Thread[MigrationStage:1,5,main]
> java.lang.NullPointerException
> 	at org.apache.cassandra.db.DefsTable.mergeColumnFamilies(DefsTable.java:475)
> 	at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:354)
> 	at org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:55)
> 	at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:722)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message