Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
Normal
Description
I have encountered the following two issues:
- When closing the CQLSSTableWriter it just hangs the process and does nothing. (https://issues.apache.org/jira/browse/CASSANDRA-8281)
- When writing more than one table throws ex. (https://issues.apache.org/jira/browse/CASSANDRA-8251)
These issue can be reproduced with the following code:
test.java
import org.apache.cassandra.config.Config; import org.apache.cassandra.io.sstable.CQLSSTableWriter; public static void main(String[] args) { Config.setClientMode(true); CQLSSTableWriter w1 = CQLSSTableWriter.builder() .inDirectory("/tmp/kspc/t1") .forTable("CREATE TABLE kspc.t1 ( id int, PRIMARY KEY (id));") .using("INSERT INTO kspc.t1 (id) VALUES ( ? );") .build(); CQLSSTableWriter w2 = CQLSSTableWriter.builder() .inDirectory("/tmp/kspc/t2") .forTable("CREATE TABLE kspc.t2 ( id int, PRIMARY KEY (id));") .using("INSERT INTO kspc.t2 (id) VALUES ( ? );") .build(); try { w1.addRow(1); w2.addRow(1); w1.close(); w2.close(); } catch (Exception e) { System.out.println(e); } }
The error
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:324)
at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:277)
at org.apache.cassandra.db.Keyspace.open(Keyspace.java:119)
at org.apache.cassandra.db.Keyspace.open(Keyspace.java:96)
at org.apache.cassandra.cql3.statements.UpdateStatement.addUpdateForKey(UpdateStatement.java:101)
at org.apache.cassandra.io.sstable.CQLSSTableWriter.rawAddRow(CQLSSTableWriter.java:226)
at org.apache.cassandra.io.sstable.CQLSSTableWriter.addRow(CQLSSTableWriter.java:145)
at org.apache.cassandra.io.sstable.CQLSSTableWriter.addRow(CQLSSTableWriter.java:120)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:189)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
at com.allthingsmonitoring.utils.BulkDataLoader.main(BulkDataLoader.groovy:415)
Caused by: java.lang.NullPointerException
at org.apache.cassandra.config.DatabaseDescriptor.getFlushWriters(DatabaseDescriptor.java:1053)
at org.apache.cassandra.db.ColumnFamilyStore.<clinit>(ColumnFamilyStore.java:85)
... 18 more
I have just tested the in the cassandra-2.1 branch and the issue still persists.
Attachments
Attachments
Issue Links
- is duplicated by
-
CASSANDRA-8251 CQLSSTableWriter.builder() throws ex when more than one table
- Resolved
-
CASSANDRA-8864 NPE in CQLSSTableWriter when bulk loading data from Hadoop
- Resolved
-
CASSANDRA-9052 CQLSSTableWriter close does not work - Regression bug: CASSANDRA-8281
- Resolved
- is related to
-
CASSANDRA-8884 Opening a non-system keyspace before first accessing the system keyspace results in deadlock
- Resolved