Details
Description
Example code to reproduce the issue,
Cluster cluster = new Cluster(); cluster.add("rest-server-IP", rest-server-port); Client client = new Client(cluster); RemoteHTable table = new RemoteHTable(client, "t1"); // Insert few records, Put put = new Put(Bytes.toBytes("r1")); put.add(Bytes.toBytes("cf1"), Bytes.toBytes("c1"), Bytes.toBytes("c1")); put.add(Bytes.toBytes("cf1"), Bytes.toBytes("c2"), Bytes.toBytes("c2")); put.add(Bytes.toBytes("cf2"), Bytes.toBytes("c1"), Bytes.toBytes("c1")); table.put(put); put = new Put(Bytes.toBytes("r2")); put.add(Bytes.toBytes("cf1"), Bytes.toBytes("c1"), Bytes.toBytes("c1")); put.add(Bytes.toBytes("cf1"), Bytes.toBytes("c2"), Bytes.toBytes("c2")); put.add(Bytes.toBytes("cf2"), Bytes.toBytes("c1"), Bytes.toBytes("c1")); table.put(put); // Delete the entire column family from the row Delete del = new Delete(Bytes.toBytes("r2")); del.addFamily(Bytes.toBytes("cf1")); table.delete(del);
Here the problem is in building row specification in RemoteHTable.buildRowSpec(). Row specification is framed as "/t1/r2/cf1:" instead of "/t1/r2/cf1".