cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] Created: (CASSANDRA-196) Doing a descending range still returns columns in ascending order
Date Fri, 22 May 2009 15:26:45 GMT
Doing a descending range still returns columns in ascending order

                 Key: CASSANDRA-196
             Project: Cassandra
          Issue Type: Bug
            Reporter: Jonathan Ellis

If I do

        result = table.getSliceFrom(row, "Standard1:col5", false, 2);
        cf = result.getColumnFamily("Standard1");

I expect to get back columns in the order 5, 4, 3 (at the thrift level, it's turned into a
list) but instead I get 3, 4, 5 because using a CF as the return vehicle re-sorts them by
the standard comparator.

The simplest solution is to allow user-defined column ordering as in CASSANDRA-185 and always
return columns in that order (i.e., remove the ascending bool).  This also allows us to make
the columngroup fetching more efficient in the best case (deserializing one column at a time
instead of a group at a time).

OTOH using one index to allow fetching items relatively efficiently in either directly is
cool.  But my gut says it's relatively uncommon to want to access in both directions at once,
and even more uncommon to not be able to do a reverse() on the client side (because of data
volume, for instance).  Forcing a separate CF for this special case of a special case might
be worth the tradeoff.

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

View raw message