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 2010/02/07 22:24:28 UTC

[jira] Created: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

Extract SSTable interfaces to allow for alternative implementations
-------------------------------------------------------------------

                 Key: CASSANDRA-777
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Stu Hood
             Fix For: 0.7


In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment:     (was: 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch)

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment:     (was: 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch)

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment: 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
                0001-Create-sstable-package.patch

Rebased: still applies onto 389.

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Commented: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Jonathan Ellis commented on CASSANDRA-777:
------------------------------------------

How painful is this to maintain?

I'm pretty leery of committing an "extract superclass" refactor that doesn't actually go on to introduce the new subclass, because until you have that part you have no idea if the refactor was what you actually needed. :)

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment:     (was: 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch)

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Commented: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood commented on CASSANDRA-777:
------------------------------------

Sorry, I didn't really answer your question. This patchset isn't too hard to maintain, as long as we don't make any massive changes to the SSTable* classes in trunk before it goes in.

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Commented: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Hudson commented on CASSANDRA-777:
----------------------------------

Integrated in Cassandra #373 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/373/])
    extract SSTableReader as superclasses; subclass is RowIndexedReader
patch by Stu Hood; reviewed by jbellis for 
move SSTable* to io.sstable package.  patch by Stu Hood; reviewed by jbellis for 


> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>            Assignee: Stu Hood
>            Priority: Blocker
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment: 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
                0001-Create-sstable-package.patch

Rebased for trunk.

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment: 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
                0001-Create-sstable-package.patch

These patches apply on top of CASSANDRA-389.

0001 creates a 'sstable' package to handle the explosion of classes that will probably result, and 0002 extracts the base classes, moving the current SSTable implementation into RowIndexedReader/Scanner.

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Commented: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Jonathan Ellis commented on CASSANDRA-777:
------------------------------------------

I like having the sstable/ package.  I think we should further have sstable/row/, with your Row* classes but also classes that assume the Row layout, like the existing ColumnIterator implementations.  What do you think?

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment:     (was: 0003-Merge-oops.patch)

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment:     (was: 0001-Create-sstable-package.patch)

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Priority: Blocker  (was: Major)

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>            Priority: Blocker
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Commented: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood commented on CASSANDRA-777:
------------------------------------

Well, we won't need to read from a new format until we merge a new format, but we wouldn't want to do all of that in one patchset.

I'd like to submit separate issues that:
 1. Modify this interface to use it to make the reading half of compactions memory efficient (almost exactly like the Slice/Scanner API I submitted for 674)
 2. Add the new file format (with the next Scanner/Reader subclasses) to make the writing half of compaction memory efficient.

I'd like to try and submit the first issue tonight (pending fixing one nagging bug).

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment: 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
                0001-Create-sstable-package.patch

Rebased for trunk.

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment: 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
                0001-Create-sstable-package.patch

Rebased for trunk without other changes.

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment: 0003-Merge-oops.patch

Missed one change.

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>         Attachments: 0001-Create-sstable-package.patch, 0001-Create-sstable-package.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch, 0002-Extract-abstract-base-classes-for-SSTableReader-and-.patch, 0003-Merge-oops.patch
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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


[jira] Updated: (CASSANDRA-777) Extract SSTable interfaces to allow for alternative implementations

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

Stu Hood updated CASSANDRA-777:
-------------------------------

    Attachment:     (was: 0001-Create-sstable-package.patch)

> Extract SSTable interfaces to allow for alternative implementations
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-777
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-777
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stu Hood
>             Fix For: 0.7
>
>
> In order to create alternate implementations of SSTableReader and Scanner, we need to extract abstract bases for those classes.

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