I modified some test cases in the Cassandra distribution. Specifically in
the unit test package I modified ServerTest.java, basically just tried to
insert some columns and retrieve them. Here's part of the code:
RowMutation rm = new RowMutation("Table1", "partner0");
ColumnFamily cf = new ColumnFamily("Standard1", "Standard");
long now = Calendar.getInstance().getTimeInMillis();
System.out.println(now);
cf.addColumn("firstname", "John".getBytes(), now);
cf.addColumn("lastname", "Doe".getBytes(), now);
rm.add(cf);
try {
rm.apply();
} catch (Exception e) {
}
Table table = Table.open("Table1");
try {
Row result = table.getRow("partner0", "Standard1");
*System.out.println(result.toString());*
ColumnFamily cres = result.getColumnFamily("Standard1");
Map cols = cres.getColumns();
*System.out.println(cols.size());*
Set c = cols.keySet();
Iterator it = c.iterator();
* while (it.hasNext()) {
String cn = (String) it.next();
System.out.println(cn);
//Byt/eArrayOutputStream baos = new ByteArrayOutputStream();
/DataOutputStream dos = new DataOutputStream(baos);
//cres.getColumnSerializer().serialize(cres.getColumn(cn),
dos);
//dos.flush();
//System.out.println(dos.size());
//System.out.println(dos.toString());
System.out.println(cres.getColumn(cn).value().toString());
}*
//System.out.println(cres.getColumn("firstname").value().toString());
} catch (Exception e) {
System.out.println(e.getMessage());
}
In summary, it's a very simple code that inserts a row (key "partner0") with
two columns: firstname (value "John"), lastname (value "Doe") to the
Standard1 column family. When I execute the test, I got the following
output:
[testng] 1245082940509
[testng] Row(partner0 [ColumnFamily(Standard1
[firstname:false:4...@1245082940509, lastname:false:3...@1245082940509]))]
[testng] 2
[testng] lastname
[testng] [...@dcb03b
[testng] firstname
[testng] [...@b60b93
Everything looks fine, the columns were inserted. However, the retrieved
values were [...@dcb03b for lastname and [...@b60b93 for firstname, instead of
what's inserted by the code ("Doe", "John").
Anyone could give a clue as to why this happened?
Thanks!
Ivan