Hi,

After installing Cassandra 0.8 I discovered that my app stopped working. The
issue is that the app is now unable to read a row that was inserted by a CLI set
command with a numeric string key.

CLI in Cassandra 0.8 seems to be treating literals inconsistently. Please let me
know if I am missing something. Here is a very simple scenario:

create column family Ranges;
set Ranges['1']['1']='1';
list Ranges;

-------------------
RowKey: 01
=> (column=01, value=31, timestamp=1314636970671000)

The row key and column '1' are treated as bytes while the value is treated as
UTF8 or ASCII. This raw can not be read with a string serializer for "1". This
is clear when I make keys, columns and values readable:

assume Ranges keys as utf8;
assume Ranges comparator as utf8;
assume Ranges validator as utf8;
list Ranges;

-------------------
RowKey: ☺
=> (column=☺, value=1, timestamp=1314636970671000)



This issue is even more obscure when I use an IP address as a key. The CLI is
also unable to deserialize key after the format is specified:

set Ranges['192.168.2.17']['1']='1';
list Ranges;

-------------------
RowKey: 19ff16ffff17
=> (column=01, value=31, timestamp=1314637423906000)

assume Ranges keys as utf8;
list Ranges;
invalid UTF8 bytes 19ff16ffff17

Thanks you,
Oleg


Reply via email to