I have a structure like this: CF:"Status" { Row("Component42") { SuperColumn(1275948636203) (epoch millis) { sub columns... } } }
The supercolumns are dropped in periodically by system A, which is using Hector. System B uses a lightweight perl/Thrift client to reduce process overhead. (It gets called as a process frequently) This will go away at some point, but for now it is the de-facto means for integrating the two systems. According to the API docs, under get_range_slices, "The empty string ("") can be used as a sentinel value to get the first/last existing key (or first/last column in the column predicate parameter)" This seems to conflict directly with the error message that I am getting: "column name must not be empty", which ISA Cassandra::InvalidRequestException. The point is to get the "last" super-column. I've also tried to set the predicate's slice_range for "all columns, reversed, limit 1" but it simply returns multiple super columns. Is the Perl Thrift client problematic, or is there something else that I am missing?