You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Prashant Saraswat <sa...@gmail.com> on 2018/07/03 15:45:41 UTC

Understanding Delete

Hello,

I'm trying to understand how Delete works in HBase  1.2.0 on a table with
Max_versions=1. I have gone thru the documentation and I believe I now
understand how it works but I would appreciate if someone can confirm my
findings.

1. delete.addColumn(byte[] family, byte[] qualifier);
Table.delete(delete) etc only sets a tombstone marker. It doesn't delete
the actual value stored.

2. After step 1, if I do this:
Get get = new Get(Bytes.toBytes(id));

The deleted value iin Step 1 is still returned. This will continue to
happen until a major compaction removes the tombstone marker.

3. As a workaround I have tried delete.addColumn*s*(byte[] family, byte[]
qualifier);

This seems to behave better and it looks like the field value is deleted
immediately. However this still suffers from the masking problem, where if
a subsequent PUT follows in the same milllisecond, the PUT will be masked.
I believe this issue is resolved in 2.0

Many thanks
Prashant