You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Danny Wong (JIRA)" <ji...@apache.org> on 2012/06/22 23:19:44 UTC

[jira] [Created] (CASSANDRA-4368) bulkLoad() method in StorageService throws AssertionError

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

        

[jira] [Assigned] (CASSANDRA-4368) bulkLoad() method in StorageService throws AssertionError

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-4368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brandon Williams reassigned CASSANDRA-4368:
-------------------------------------------

    Assignee: Brandon Williams
    
> 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.0, 1.1.1
>            Reporter: Danny Wong
>            Assignee: Brandon Williams
>
> 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

        

[jira] [Commented] (CASSANDRA-4368) bulkLoad() method in StorageService throws AssertionError

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13400702#comment-13400702 ] 

Jonathan Ellis commented on CASSANDRA-4368:
-------------------------------------------

LGTM, +1.

Nit: could make the "setPartitioner(String partclass)" overload chain to this new one.
                
> 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.0, 1.1.1
>            Reporter: Danny Wong
>            Assignee: Brandon Williams
>             Fix For: 1.1.2
>
>         Attachments: 4368.txt
>
>
> 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

        

[jira] [Updated] (CASSANDRA-4368) bulkLoad() method in StorageService throws AssertionError

Posted by "Brandon Williams (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-4368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brandon Williams updated CASSANDRA-4368:
----------------------------------------

    Attachment: 4368.txt

Your analysis was completely correct (and thanks for that, since errors from jmx are stacktraceless!)

Patch to specify the partitioner in bulkLoad()
                
> 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.0, 1.1.1
>            Reporter: Danny Wong
>            Assignee: Brandon Williams
>         Attachments: 4368.txt
>
>
> 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

        

[jira] [Commented] (CASSANDRA-4368) bulkLoad() method in StorageService throws AssertionError

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-4368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13400953#comment-13400953 ] 

Hudson commented on CASSANDRA-4368:
-----------------------------------

Integrated in Cassandra #1589 (See [https://builds.apache.org/job/Cassandra/1589/])
    removed duplicate SSTableLoader.setPartitioner(IPartitioner) method introduced by patch for CASSANDRA-4368 (Revision 112ce0c69b940d6b663c1e44d2c765bbfc526e8f)

     Result = ABORTED
xedin : 
Files : 
* src/java/org/apache/cassandra/io/sstable/SSTableLoader.java

                
> 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.0, 1.1.1
>            Reporter: Danny Wong
>            Assignee: Brandon Williams
>             Fix For: 1.1.2
>
>         Attachments: 4368.txt
>
>
> 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