cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adi <>
Subject Cassandra LongType data insertion problem for secondary index usage
Date Thu, 10 Mar 2011 17:05:43 GMT
Environment: Cassandra 0.7.0 , C++ Thrift client on windows

I have a column family with a secondary index
 ColumnFamily: Page
      Columns sorted by: org.apache.cassandra.db.marshal.BytesType
      Built indexes: [Page.index_domain, Page.index_content_size]
      Column Metadata:
        Column Name: domain (646f6d61696e)
          Validation Class: org.apache.cassandra.db.marshal.UTF8Type
          Index Name: index_domain
          Index Type: KEYS
        Column Name: original_content_size
          Validation Class: org.apache.cassandra.db.marshal.LongType
          Index Name: index_content_size
          Index Type: KEYS

As suggested by thobbs in an earlier posting I am sending the
original_content_size as binary strings. I am able to write and read from
the c++ client correctly.
But on the cassandra-cli I am not able to see the values of
original_content_size as longs. following are the results seen for a value 5
that was sent.

get Page['test1234'][original_content_size];
=> (column=6f726967696e616c5f636f6e74656e745f73697a65,
value=360287970189639680, timestamp=1299773217120)

get Page['test1234'][original_content_size] as bytes;
=> (column=6f726967696e616c5f636f6e74656e745f73697a65,
value=0500000000000000, timestamp=1299773217120)

Similarly the queries do not work as expected. Example get Page where domain
= '' and original_content_size = 5; does not return the row that
was inserted.

Any suggestions on what I might be doing incorrectly either in schema
definition or the way I am sending the values are welcome.


View raw message