You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cassandra.apache.org by Jonathan Ellis <jb...@gmail.com> on 2009/07/22 01:05:30 UTC

roadmap and 0.4

To recap: our mission with 0.3, as I see it, was to add features that
allow people to start modeling their app correctly on cassandra (range
queries and delete support) and file off the worst of the rough edges
from the initial code import.  Mission accomplished.

But 0.3 is already obsolete in a lot of ways so I think we need to
follow up with a relatively quick 0.4 so people don't write too much
code against an obsolete API or put too much data in a disk format
that has changed.

Here are the issues I think remain for 0.4:

https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&mode=hide&sorter/order=DESC&sorter/field=priority&resolution=-1&pid=12310865&fixfor=12313862

I think we can get all these done in a couple weeks, no problem.
Bootstrap is the only one that might be problematic and I am willing
to push that to 0.5 if it looks *really* bad.

Any other Gotta Have tickets for 0.4?

-Jonathan

Re: roadmap and 0.4

Posted by Sandeep Tata <sa...@gmail.com>.
> Am I missing anything important?

Option to allow fsync on the commitlog before ack-ing the client.

On Tue, Jul 28, 2009 at 2:05 PM, Jonathan Ellis<jb...@gmail.com> wrote:
> Tentative changelog for 0.4 is being worked on over in
> https://issues.apache.org/jira/browse/CASSANDRA-321.  For convenience,
> here is the text so far:
>
>  * On-disk data format has changed to allow billions of keys/rows per
>   node instead of only millions
>  * Scan all sstables for all queries to avoid situations where
>   different types of operation on the same ColumnFamily could
>   disagree on what data was present
>  * Configurable LRU cache for key lookups
>  * Multi-keyspace support
>  * Thrift API has changed a _lot_:
>    - removed time-sorted CFs; instead, user-defined comparators
>      may be defined on the column names, which are now byte arrays.
>      Default comparators are provided for UTF8, Bytes, Ascii, Long (i64),
>      and UUID types.
>    - removed colon-delimited strings in thrift api in favor of explicit
>      structs such as ColumnPath, ColumnParent, etc.  Also normalized
>      thrift struct and argument naming.
>    - Added columnFamily argument to get_key_range.
>    - Change signature of get_slice and get_slice_super to accept
>      starting and ending columns as well as an offset.  (This allows use
>      of indexes.)  Added "ascending" flag to allow reasonably-efficient
>      reverse scans as well.  Removed get_slice_by_range as redundant.
>    - Similarly, changed signature of get_slice_super.
>    - get_key_range operates on one CF at a time
>    - changed `block` boolean on insert methods to ConsistencyLevel enum,
>      with options of NONE, ONE, QUORUM, and ALL.
>    - added similar consistency_level parameter to read methods
>  * Removed the web interface. Node information can now be obtained by
>   using the newly introduced nodeprobe utility.
>  * More JMX stats
>  * Remove magic values from internals (e.g. special key to indicate
>   when to flush memtables)
>  * Rename configuration "table" to "keyspace"
>  * Moved to crash-only design; no more shutdown (just kill the process)
>  * Lots of bug fixes
>
> Am I missing anything important?
>
> -Jonathan
>

Re: roadmap and 0.4

Posted by Jonathan Ellis <jb...@gmail.com>.
Tentative changelog for 0.4 is being worked on over in
https://issues.apache.org/jira/browse/CASSANDRA-321.  For convenience,
here is the text so far:

 * On-disk data format has changed to allow billions of keys/rows per
   node instead of only millions
 * Scan all sstables for all queries to avoid situations where
   different types of operation on the same ColumnFamily could
   disagree on what data was present
 * Configurable LRU cache for key lookups
 * Multi-keyspace support
 * Thrift API has changed a _lot_:
    - removed time-sorted CFs; instead, user-defined comparators
      may be defined on the column names, which are now byte arrays.
      Default comparators are provided for UTF8, Bytes, Ascii, Long (i64),
      and UUID types.
    - removed colon-delimited strings in thrift api in favor of explicit
      structs such as ColumnPath, ColumnParent, etc.  Also normalized
      thrift struct and argument naming.
    - Added columnFamily argument to get_key_range.
    - Change signature of get_slice and get_slice_super to accept
      starting and ending columns as well as an offset.  (This allows use
      of indexes.)  Added "ascending" flag to allow reasonably-efficient
      reverse scans as well.  Removed get_slice_by_range as redundant.
    - Similarly, changed signature of get_slice_super.
    - get_key_range operates on one CF at a time
    - changed `block` boolean on insert methods to ConsistencyLevel enum,
      with options of NONE, ONE, QUORUM, and ALL.
    - added similar consistency_level parameter to read methods
 * Removed the web interface. Node information can now be obtained by
   using the newly introduced nodeprobe utility.
 * More JMX stats
 * Remove magic values from internals (e.g. special key to indicate
   when to flush memtables)
 * Rename configuration "table" to "keyspace"
 * Moved to crash-only design; no more shutdown (just kill the process)
 * Lots of bug fixes

Am I missing anything important?

-Jonathan

Re: roadmap and 0.4

Posted by Jonathan Ellis <jb...@gmail.com>.
Also possibly of interest: issues fixed in 0.4

https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&&pid=12310865&fixfor=12313862&resolution=1&sorter/field=issuekey&sorter/order=DESC

On Tue, Jul 21, 2009 at 6:05 PM, Jonathan Ellis<jb...@gmail.com> wrote:
> To recap: our mission with 0.3, as I see it, was to add features that
> allow people to start modeling their app correctly on cassandra (range
> queries and delete support) and file off the worst of the rough edges
> from the initial code import.  Mission accomplished.
>
> But 0.3 is already obsolete in a lot of ways so I think we need to
> follow up with a relatively quick 0.4 so people don't write too much
> code against an obsolete API or put too much data in a disk format
> that has changed.
>
> Here are the issues I think remain for 0.4:
>
> https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&mode=hide&sorter/order=DESC&sorter/field=priority&resolution=-1&pid=12310865&fixfor=12313862
>
> I think we can get all these done in a couple weeks, no problem.
> Bootstrap is the only one that might be problematic and I am willing
> to push that to 0.5 if it looks *really* bad.
>
> Any other Gotta Have tickets for 0.4?
>
> -Jonathan
>