Return-Path: Delivered-To: apmail-incubator-cassandra-dev-archive@minotaur.apache.org Received: (qmail 8948 invoked from network); 28 Jul 2009 21:13:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 28 Jul 2009 21:13:08 -0000 Received: (qmail 72015 invoked by uid 500); 28 Jul 2009 21:06:27 -0000 Delivered-To: apmail-incubator-cassandra-dev-archive@incubator.apache.org Received: (qmail 71997 invoked by uid 500); 28 Jul 2009 21:06:27 -0000 Mailing-List: contact cassandra-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-dev@incubator.apache.org Delivered-To: mailing list cassandra-dev@incubator.apache.org Received: (qmail 71987 invoked by uid 99); 28 Jul 2009 21:06:27 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Jul 2009 21:06:27 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jbellis@gmail.com designates 209.85.219.228 as permitted sender) Received: from [209.85.219.228] (HELO mail-ew0-f228.google.com) (209.85.219.228) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Jul 2009 21:06:18 +0000 Received: by ewy28 with SMTP id 28so263828ewy.12 for ; Tue, 28 Jul 2009 14:05:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=JrQmGEHtvfWHanK5m9haIJgNz7TAjW0tSHDvf0pu1Ag=; b=tJ3TW9r5uyjGLYzsNwW6NfytBWB1Yw8y7hpE4pgbr1etnClMuAcpTyHswIsVHhVNUX 1SsJarnJ+19BCmIMv7ZrvNMva7gnSKrqTb36JS6hIqpMyMoZBM9xETDRB1zojv1P8niO DjiDrfaMPkGDT8pXwbW2mc/gHPuJU9/fjew7s= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=WH1CijpVzqRi1Z5idfH4NA0ZFTmPzEDMWYrfoBf9iOQ4a8ySwifINrBTNoSvWDjyV6 LOY5B/fQlLf/2tZi4IXEyT0BvORVafTG61qB/z6u2zbx521FKnj9v7EI/YwwDuTrM2nY ty6tEkixWs+ug3P3Ac5w11CULdaPeZ5JyfrzY= MIME-Version: 1.0 Received: by 10.216.45.206 with SMTP id p56mr2134203web.88.1248815156645; Tue, 28 Jul 2009 14:05:56 -0700 (PDT) In-Reply-To: References: Date: Tue, 28 Jul 2009 16:05:56 -0500 Message-ID: Subject: Re: roadmap and 0.4 From: Jonathan Ellis To: cassandra-dev@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org 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