I'm using a wide column index to order records in a timeline fashion, a la:
"TimelineIndex" //CF name
[CFName] //row key
[TimeUUID]:[CFRowKey] //column name/value
[TimeUUID]:[CFRowKey] //column name/value
[TimeUUID]:[CFRowKey] //column name/value
[TimeUUID]:[CFRowKey] //column name/value
Assume I have 10 records in the TimelineIndex CF with one column per day, ranging from '01/01/2013 12:00:00' to '10/01/2013 12:00:00' (as TimeUUIDs), and I run the following get_slice() command:
var predicate = new SlicePredicate(){ Slice_range = new SliceRange() {
{
Start = TimeGenerator.GetTimeUUID(new DateTime("06/01/2013 12:00:00"),
Finish = TimeGenerator.GetTimeUUID(new DateTime("11/01/2013 12:00:00"),
Count = 5,
Reversed = false
}};
var results = client.get_slice([CFName], parent, predicate, consitencylevel.one);
The columns returned by this query aren't always consistent. The majority of the time the column named '06/01/2013 12:00:00' is returned, but every so often (about 1 in 10 executions) that column is excluded from the results and I end up with only 4 columns returned.
I cant for the life of me figure out why I would be getting inconsistent results here. Can any suggest a reason for this?
And before anyone says, I know its not advisable to use Thrift directly - this is purely a proof of concept exercise!