You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sandeep Tata (JIRA)" <ji...@apache.org> on 2009/03/28 22:28:50 UTC

[jira] Created: (CASSANDRA-21) get_columns_in fails when when routed to a node that isn't the home for the key

get_columns_in fails when when routed to a node that isn't the home for the key
-------------------------------------------------------------------------------

                 Key: CASSANDRA-21
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21
             Project: Cassandra
          Issue Type: Bug
         Environment: all
            Reporter: Sandeep Tata


get_columns_in fails when the request cannot be satisfied locally.

What steps will reproduce the problem?
1. Insert multiple columns in some row R in a Cassandra cluster that 
contains more than 1 node.
2. Submit a get_columns_in query to a bunch of nodes. Using the python thrift 
interface, this is something  like: 
./Cassandra-remote -h node0:9160 get_columns_in 'Mailbox' 'rowid123' 
'HeaderList' "['col1','col2']"
./Cassandra-remote -h node1:9160 get_columns_in 'Mailbox' 'rowid123' 
'HeaderList' "['col1','col2']"
 

I've traced the error to a bug in how ReadMessage.java gets de-serialized. See attached unit-test to reproduce this.
I'm also attaching a patch that fixes this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CASSANDRA-21) get_columns_in fails when when routed to a node that isn't the home for the key

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

Jonathan Ellis resolved CASSANDRA-21.
-------------------------------------

    Resolution: Fixed

Applied with minor modifications (toString method added to ReadMessage), thanks.

For future reference, it saves time if you can use the Cassandra code style conventions (particularly braces on new lines).  Also Cassandra is using testng, not junit.

> get_columns_in fails when when routed to a node that isn't the home for the key
> -------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-21
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: all
>            Reporter: Sandeep Tata
>         Attachments: patch_readmessage.txt, ReadMessageTest.java
>
>
> get_columns_in fails when the request cannot be satisfied locally.
> What steps will reproduce the problem?
> 1. Insert multiple columns in some row R in a Cassandra cluster that 
> contains more than 1 node.
> 2. Submit a get_columns_in query to a bunch of nodes. Using the python thrift 
> interface, this is something  like: 
> ./Cassandra-remote -h node0:9160 get_columns_in 'Mailbox' 'rowid123' 
> 'HeaderList' "['col1','col2']"
> ./Cassandra-remote -h node1:9160 get_columns_in 'Mailbox' 'rowid123' 
> 'HeaderList' "['col1','col2']"
>  
> I've traced the error to a bug in how ReadMessage.java gets de-serialized. See attached unit-test to reproduce this.
> I'm also attaching a patch that fixes this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-21) get_columns_in fails when when routed to a node that isn't the home for the key

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

Sandeep Tata updated CASSANDRA-21:
----------------------------------

    Attachment: patch_readmessage.txt
                ReadMessageTest.java

ReadMessageTest simple constructs a readmessage, serializes it, deserializes it and checks if this was the same as the original.

My patch fixes it for the case of get_columns_in breaking. Haven't tested other cases.

> get_columns_in fails when when routed to a node that isn't the home for the key
> -------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-21
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: all
>            Reporter: Sandeep Tata
>         Attachments: patch_readmessage.txt, ReadMessageTest.java
>
>
> get_columns_in fails when the request cannot be satisfied locally.
> What steps will reproduce the problem?
> 1. Insert multiple columns in some row R in a Cassandra cluster that 
> contains more than 1 node.
> 2. Submit a get_columns_in query to a bunch of nodes. Using the python thrift 
> interface, this is something  like: 
> ./Cassandra-remote -h node0:9160 get_columns_in 'Mailbox' 'rowid123' 
> 'HeaderList' "['col1','col2']"
> ./Cassandra-remote -h node1:9160 get_columns_in 'Mailbox' 'rowid123' 
> 'HeaderList' "['col1','col2']"
>  
> I've traced the error to a bug in how ReadMessage.java gets de-serialized. See attached unit-test to reproduce this.
> I'm also attaching a patch that fixes this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CASSANDRA-21) get_columns_in fails when when routed to a node that isn't the home for the key

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

Jonathan Ellis reassigned CASSANDRA-21:
---------------------------------------

    Assignee: Sandeep Tata

> get_columns_in fails when when routed to a node that isn't the home for the key
> -------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-21
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: all
>            Reporter: Sandeep Tata
>            Assignee: Sandeep Tata
>         Attachments: patch_readmessage.txt, ReadMessageTest.java
>
>
> get_columns_in fails when the request cannot be satisfied locally.
> What steps will reproduce the problem?
> 1. Insert multiple columns in some row R in a Cassandra cluster that 
> contains more than 1 node.
> 2. Submit a get_columns_in query to a bunch of nodes. Using the python thrift 
> interface, this is something  like: 
> ./Cassandra-remote -h node0:9160 get_columns_in 'Mailbox' 'rowid123' 
> 'HeaderList' "['col1','col2']"
> ./Cassandra-remote -h node1:9160 get_columns_in 'Mailbox' 'rowid123' 
> 'HeaderList' "['col1','col2']"
>  
> I've traced the error to a bug in how ReadMessage.java gets de-serialized. See attached unit-test to reproduce this.
> I'm also attaching a patch that fixes this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-21) get_columns_in fails when when routed to a node that isn't the home for the key

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

Neophytos Demetriou commented on CASSANDRA-21:
----------------------------------------------

Check get_slice_by_names ot get_slice_super_by_names. 

> get_columns_in fails when when routed to a node that isn't the home for the key
> -------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-21
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: all
>            Reporter: Sandeep Tata
>         Attachments: patch_readmessage.txt, ReadMessageTest.java
>
>
> get_columns_in fails when the request cannot be satisfied locally.
> What steps will reproduce the problem?
> 1. Insert multiple columns in some row R in a Cassandra cluster that 
> contains more than 1 node.
> 2. Submit a get_columns_in query to a bunch of nodes. Using the python thrift 
> interface, this is something  like: 
> ./Cassandra-remote -h node0:9160 get_columns_in 'Mailbox' 'rowid123' 
> 'HeaderList' "['col1','col2']"
> ./Cassandra-remote -h node1:9160 get_columns_in 'Mailbox' 'rowid123' 
> 'HeaderList' "['col1','col2']"
>  
> I've traced the error to a bug in how ReadMessage.java gets de-serialized. See attached unit-test to reproduce this.
> I'm also attaching a patch that fixes this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-21) get_columns_in fails when when routed to a node that isn't the home for the key

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

Neophytos Demetriou commented on CASSANDRA-21:
----------------------------------------------

My previous comment was in relation to the actual name of the "IN" operator in Cassandra, i.e. get_slice_by_names instead of get_columns_in.  The bug is still present though. It's missing an else before "if( sinceTimestamp > 0 )" in ReadMessage.java. Otherwise, get_columns_in / get_slice_by_names would fail when the request is not satisfied locally.

> get_columns_in fails when when routed to a node that isn't the home for the key
> -------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-21
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: all
>            Reporter: Sandeep Tata
>         Attachments: patch_readmessage.txt, ReadMessageTest.java
>
>
> get_columns_in fails when the request cannot be satisfied locally.
> What steps will reproduce the problem?
> 1. Insert multiple columns in some row R in a Cassandra cluster that 
> contains more than 1 node.
> 2. Submit a get_columns_in query to a bunch of nodes. Using the python thrift 
> interface, this is something  like: 
> ./Cassandra-remote -h node0:9160 get_columns_in 'Mailbox' 'rowid123' 
> 'HeaderList' "['col1','col2']"
> ./Cassandra-remote -h node1:9160 get_columns_in 'Mailbox' 'rowid123' 
> 'HeaderList' "['col1','col2']"
>  
> I've traced the error to a bug in how ReadMessage.java gets de-serialized. See attached unit-test to reproduce this.
> I'm also attaching a patch that fixes this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.