cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Bowman <pico...@gmail.com>
Subject Trying to insert a TimeUUID via Java/Thrift -- "UUIDs must be exactly 16 bytes"
Date Fri, 27 Aug 2010 07:28:49 GMT
I'm at my wits end with Cassandra; is 0.6.4 just broken?  I've created a very simple keyspace:

<Keyspace Name="MyApp">
 <ColumnFamily Name="History" CompareWith="TimeUUIDType"/>

Using the Thrift sample code for 0.6 on the wiki, and the FAQ about TimeUUID's and Java, I
tried to generate a GUID using this method:

	String key = new com.eaio.uuid.UUID().toString()

Since all the Thrift get and insert statements use Strings for the keys.  But when I send
one of these GUID's, I get:

	Exception in thread "main" InvalidRequestException(why:UUIDs must be exactly 16 bytes)
		at org.apache.cassandra.thrift.Cassandra$insert_result.read(Cassandra.java:12295)
		at org.apache.cassandra.thrift.Cassandra$Client.recv_insert(Cassandra.java:675)
		at org.apache.cassandra.thrift.Cassandra$Client.insert(Cassandra.java:648)

I even tried something like:

	client.insert(keyspace, new String(asByteArray(getTimeUUID()), path, "Some value".getBytes("UTF-8"),
timestamp, ConsistencyLevel.ONE);

Can anyone point me in the direction of how I send a time-based UUID to Cassandra 0.6.4 through
the Java Thrift client?  Or am I missing the point of all of this somehow?
Mime
View raw message