[ 
https://issues.apache.org/jira/browse/CASSANDRA-196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12712160#action_12712160
 ] 

Jonathan Ellis commented on CASSANDRA-196:
------------------------------------------

Yes, we can add a bandaid there, but "iterate in descending order, to add to a 
sortedset in ascending order, to reverse before sending back to the client" 
isn't exactly awesome.  In general exposing an API that looks to the public 
like it is low-cost but is really relatively high-cost is a bad idea.

(Yes, we should always do buffered reads, which is why I specifically said we 
want to _deserialize_ one at a time" :)

> Doing a descending range still returns columns in ascending order
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-196
>                 URL: https://issues.apache.org/jira/browse/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.

Reply via email to