You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Pavel Yaskevich (Issue Comment Edited) (JIRA)" <ji...@apache.org> on 2012/02/19 21:14:38 UTC

[jira] [Issue Comment Edited] (CASSANDRA-3804) upgrade problems from 1.0 to trunk

    [ https://issues.apache.org/jira/browse/CASSANDRA-3804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13211524#comment-13211524 ] 

Pavel Yaskevich edited comment on CASSANDRA-3804 at 2/19/12 8:13 PM:
---------------------------------------------------------------------

I have found the problem with EOFException in Truncate - it was caused by MIGRATION_REQUEST  misinterpreted by 1.0 as TRUNCATE message, I have added a check into MM.rectifySchema(UUID, InetAddress) to skip that request if node with changed schema is older than 1.1. Two patches in combination now return no exceptions but node 1.0 without patch would still throw UnsupportedOperationException because Gossiper always propagates passive schema announce.

Edit: I have also changed "Can't accept schema migrations from Cassandra versions previous to 1.1, please update first." in 1.1 to be log error instead of IOException.
                
      was (Author: xedin):
    I have found the problem with EOFException in Truncate - it was caused by MIGRATION_REQUEST  misinterpreted by 1.0 as TRUNCATE message, I have added a check into MM.rectifySchema(UUID, InetAddress) to skip that request if node with changed schema is older than 1.1. Two patches in combination now return no exceptions but node 1.0 without patch would still throw UnsupportedOperationException because Gossiper always propagates passive schema announce.
                  
> upgrade problems from 1.0 to trunk
> ----------------------------------
>
>                 Key: CASSANDRA-3804
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3804
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0
>         Environment: ubuntu, cluster set up with ccm.
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>             Fix For: 1.1.0
>
>         Attachments: CASSANDRA-3804-1.1-v2.patch, CASSANDRA-3804-1.1.patch, CASSANDRA-3804.patch, node1.log, node2.log
>
>
> A 3-node cluster is on version 0.8.9, 1.0.6, or 1.0.7 and then one and only one node is taken down, upgraded to trunk, and started again. An rpc timeout exception happens if counter-add operations are done. It usually takes between 1 and 500 add operations before the failure occurs. The failure seems to happen sooner if the coordinator node is NOT the one that was upgraded. Here is the error: 
> {code}
> ======================================================================
> ERROR: counter_upgrade_test.TestCounterUpgrade.counter_upgrade_test
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/pymodules/python2.7/nose/case.py", line 187, in runTest
>     self.test(*self.arg)
>   File "/home/tahooie/cassandra-dtest/counter_upgrade_test.py", line 50, in counter_upgrade_test
>     cursor.execute("UPDATE counters SET row = row+1 where key='a'")
>   File "/usr/local/lib/python2.7/dist-packages/cql/cursor.py", line 96, in execute
>     raise cql.OperationalError("Request did not complete within rpc_timeout.")
> OperationalError: Request did not complete within rpc_timeout.
> {code}
> A script has been added to cassandra-dtest (counter_upgrade_test.py) to demonstrate the failure. The newest version of CCM is required to run the test. It is available here if it hasn't yet been pulled: git@github.com:tpatterson/ccm.git

--
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