Hi Tatu- Thanks for the response. I don't think that's it because it's successfully inserting them using those UUIDs, and I'm using the JUG toByteArray call. Good point on the Ethernet access in Java 1.6 -- I'll probably just write my own function.
I'll post some more useful code in response to Jonathon. -Adam On Tue, Dec 15, 2009 at 11:17 PM, Tatu Saloranta <[email protected]> wrote: > On Tue, Dec 15, 2009 at 7:35 PM, Adam Fisk <[email protected]> wrote: >> This is still baffling me a bit, Jonathan. I'm running from a trunk >> snapshot from a few days ago (2009-12-07). >> >> I'm creating time UUIDs using "JUG" (http://jug.safehaus.org/) as my >> SuperColumn key names for batch_insert calls. That seems excessive but >> works - the only Java lib I found for creating time-based UUIDs. I'm >> successfully calling batch_insert using those UUID bytes as my >> SuperColumn names. I think this is correct, but please correct me if >> not. >> >> Then, however, I can't figure out how to get any more than data for a >> single SuperColumn from get_slice. It seems the way to do this would >> be to specify a ColumnParent that only contains a ColumnFamily. When I >> do this, however, I get the following exception: >> >> InvalidRequestException(why:UUIDs must be exactly 16 bytes) >> at >> org.apache.cassandra.service.Cassandra$get_slice_result.read(Cassandra.java:3170) >> at >> org.apache.cassandra.service.Cassandra$Client.recv_get_slice(Cassandra.java:170) >> at >> org.apache.cassandra.service.Cassandra$Client.get_slice(Cassandra.java:144) >> > > Perhaps you are converting UUIDs to String representation (36 ascii > chars == 36 bytes), instead of binary (byte[16])? JUG can give out > both, it's a rather simple lib (and yes, that JDK variant only dishes > out random number based ones is bizarre, but partly since Ethernet > address was only recently exposed in JDK 1.6 or so) > > -+ Tatu +- > -- Adam Fisk http://www.littleshoot.org | http://adamfisk.wordpress.com | http://twitter.com/adamfisk
