3

ここhttps://issues.apache.org/jira/browse/CASSANDRA-4363で説明されている正確な問題に遭遇していますが、Cassandra 1.1.2、cqlsh --cql3を使用しています。

列ファミリーを作成しようとすると、次のエラーが表示されます

Traceback (most recent call last):
  File "./cqlsh", line 1008, in perform_statement
    self.cursor.execute(statement, decoder=decoder)
  File "./../lib/cql-internal-only-1.0.10.zip/cql-1.0.10/cql/cursor.py", line 117, in execute
    response = self.handle_cql_execution_errors(doquery, prepared_q, compress)
  File "./../lib/cql-internal-only-1.0.10.zip/cql-1.0.10/cql/cursor.py", line 132, in handle_cql_execution_errors
    return executor(*args, **kwargs)
  File "./../lib/cql-internal-only-1.0.10.zip/cql-1.0.10/cql/cassandra/Cassandra.py", line 1583, in execute_cql_query
    self.send_execute_cql_query(query, compression)
  File "./../lib/cql-internal-only-1.0.10.zip/cql-1.0.10/cql/cassandra/Cassandra.py", line 1593, in send_execute_cql_query
    self._oprot.trans.flush()
  File "./../lib/thrift-python-internal-only-0.7.0.zip/thrift/transport/TTransport.py", line 293, in flush
    self.__trans.write(buf)
  File "./../lib/thrift-python-internal-only-0.7.0.zip/thrift/transport/TSocket.py", line 117, in write
    plus = self.handle.send(buff)
error: [Errno 32] Broken pipe

また、TSocket が 0 バイトを読み取ってしまうこともあります。

サーバー側のログも、JIRA チケットに記載されているものと同じです。

ERROR [Thrift:12] 2012-09-05 12:06:10,999 CustomTThreadPoolServer.java (line 204) Error occurred during processing of message.
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NullPointerException
        at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:373)
        at org.apache.cassandra.service.MigrationManager.announce(MigrationManager.java:188)
        at org.apache.cassandra.service.MigrationManager.announceNewColumnFamily(MigrationManager.java:139)
        at org.apache.cassandra.cql3.statements.CreateColumnFamilyStatement.announceMigration(CreateColumnFamilyStatement.java:83)
        at org.apache.cassandra.cql3.statements.SchemaAlteringStatement.execute(SchemaAlteringStatement.java:99)
        at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:108)
        at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:121)
        at org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1237)
        at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3542)
        at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:3530)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
        at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:186)
        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)
Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
        at java.util.concurrent.FutureTask.get(FutureTask.java:83)
        at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:369)
        ... 15 more
Caused by: java.lang.NullPointerException
        at org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:167)

/var/lib/cassandra ディレクトリを削除してサーバーを再起動してみました。それでもエラーが発生します。JIRA のこのバグは、再現不可、修正済みバージョンなしとしてマークされています。では、カサンドラを再び機能させるにはどうすればよいでしょうか。

4

1 に答える 1

3

https://issues.apache.org/jira/browse/CASSANDRA-4526は、これが 1.1.3 で修正されたことを示唆しています。アップグレードします(最新のリリースである1.1.4に)。

于 2012-09-05T21:06:22.433 に答える