views:

95

answers:

1

Heh, I'm using

cf.insert(uuid.uuid1().bytes_le, {'column1': 'val1'}) (pycassa)

to create a TimeUUID for Cassandra, but getting the error

InvalidRequestException: 
InvalidRequestException(why='UUIDs must be exactly 16 bytes')

It doesn't work with

uuid.uuid1()
uuid.uuid1().bytes
str(uuid.uuid1())

either.

What's the best way to create a valid TimeUUID to use with the CompareWith="TimeUUIDType" flag?

Thanks,
Henrik

+4  A: 

Looks like you are using the uuid as the row key and not the column name.

The 'compare_with: TimeUUIDType' attribute specifies that the column names will be compared with using the TimeUUIDType, i.e it tells Cassandra how to sort the columns for slicing operations

Have you considered using any of the high level python clients? E.g. Tradedgy, Lazy Boy, Telephus or Pycassa

Schildmeijer
I should've mentioned that I'm usig pycassa, but it seems that I have to create the timeuuids myself.
Henrik P. Hessel
same error. maybe it's a problem with pycassa
Henrik P. Hessel
thanks again. and for your icq message too :)
Henrik P. Hessel