You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Stu Hood (JIRA)" <ji...@apache.org> on 2011/01/05 03:12:46 UTC

[jira] Created: (CASSANDRA-1935) Refuse to open SSTables from the future

Refuse to open SSTables from the future
---------------------------------------

                 Key: CASSANDRA-1935
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
            Reporter: Stu Hood
            Priority: Minor
             Fix For: 0.8


If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Commented: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Ryan King commented on CASSANDRA-1935:
--------------------------------------

Not that I can think of.

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: CASSANDRA-1935.patch
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Commented: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Stu Hood commented on CASSANDRA-1935:
-------------------------------------

Streaming already (sortof) protects against bad files, in that we throw an exception in SSTableWriter on the destination rather than rebuilding a version that doesn't match the current version. But I think that is a topic for another, related issue.

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.8
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Resolved: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Jonathan Ellis resolved CASSANDRA-1935.
---------------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 0.8)
                   0.7.1
         Reviewer: stuhood
         Assignee: Ryan King

committed, pulling the check into a method instead of a field

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Assignee: Ryan King
>            Priority: Minor
>             Fix For: 0.7.1
>
>         Attachments: CASSANDRA-1935.patch
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Commented: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Jonathan Ellis commented on CASSANDRA-1935:
-------------------------------------------

wfm

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.8
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Commented: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Ryan King commented on CASSANDRA-1935:
--------------------------------------

It seems like we should probably abort in this case, but that might be a bit draconian.

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.8
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Commented: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Hudson commented on CASSANDRA-1935:
-----------------------------------

Integrated in Cassandra-0.7 #163 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/163/])
    refuse to open sstables from a future version
patch by Ryan King; reviewed by Stu Hood and jbellis for CASSANDRA-1935


> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Assignee: Ryan King
>            Priority: Minor
>             Fix For: 0.7.1
>
>         Attachments: CASSANDRA-1935.patch
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Commented: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Stu Hood commented on CASSANDRA-1935:
-------------------------------------

+1

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: CASSANDRA-1935.patch
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Commented: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Ryan King commented on CASSANDRA-1935:
--------------------------------------

That seems like a somewhat bigger change. Perhaps we could tackle the startup situation now and open another ticket for making sure we don't try to stream incompatible sstables?

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.8
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Updated: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Ryan King updated CASSANDRA-1935:
---------------------------------

    Attachment: CASSANDRA-1935.patch

Here's the simplest patch that could work. I'm a bit afraid that this may cause problems in scenarios other than startup. Also, I'd appreciate feedback on a better exception to raise.

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: CASSANDRA-1935.patch
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Commented: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Ryan King commented on CASSANDRA-1935:
--------------------------------------

What about scenarios outside startup, like streaming?

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.8
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Commented: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Jonathan Ellis commented on CASSANDRA-1935:
-------------------------------------------

Any reason not to commit this to 0.7 branch too?

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: CASSANDRA-1935.patch
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Commented: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Jonathan Ellis commented on CASSANDRA-1935:
-------------------------------------------

Streaming mostly doesn't work across different versions anyway, so I would be in favor of gossiping the Cassandra version and requiring matching versions to stream.

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.8
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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


[jira] Commented: (CASSANDRA-1935) Refuse to open SSTables from the future

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

Jonathan Ellis commented on CASSANDRA-1935:
-------------------------------------------

Agreed that we should abort startup.  (Isn't that what "fail fast" means?)

> Refuse to open SSTables from the future
> ---------------------------------------
>
>                 Key: CASSANDRA-1935
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1935
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>             Fix For: 0.8
>
>
> If somebody has rolled back to a previous version of Cassandra that is unable to read an SSTable written by a future version correctly (indicated by a version change), failing fast is safer than accidentally performing a compaction that rewrites incorrect data and leaves you in an odd state.

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