Danny Wong created CASSANDRA-4368:
-------------------------------------
Summary: bulkLoad() method in StorageService throws AssertionError
Key: CASSANDRA-4368
URL: https://issues.apache.org/jira/browse/CASSANDRA-4368
Project: Cassandra
Issue Type: Bug
Components: Tools
Affects Versions: 1.1.1, 1.1.0
Reporter: Danny Wong
Firstly, I apologize if this is a duplicate, as I cannot find a bug related to
that.
We tried to stream some data to our Cassandra cluster by using JMX bulkLoad
method. However, jmx reports a AssertionError since 1.1.0. I haven't really
debugged into Cassandra, but by eyeballing the code it seems the AssertionError
is thrown from SSTableReader.open() method with the line:
{code}
assert practitioner != null;
{code}
and tracing the code backwards, it seems the code in
SSTableLoader.openSSTables() method has been changed to get the partitioner
from the impl of inner class SSTableLoader.Client:
{code}
sstables.add(SSTableReader.open(desc, components, null,
client.getPartitioner()));
{code}
This is different than 1.0.x codebase, when the partitioner is retrieved from
StorageService:
{code}
sstables.add(SSTableReader.open(desc, components, null,
StorageService.getPartitioner()));
{code}
The problem seems to me is when StorageService.bulkLoad instantiaties an impl
of SSTableLoader.Client() it never does anything with the partitioner,
resulting in the call 'client.getPartitioner()' returning null, thus the
AssertionError.
(Note: this is me eyeballing the code only without debugging into it).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira