you need to run a major compact after deletion
lise
> On 26 Jun 2016, at 11:20, M. BagherEsmaeily <mbesmae...@gmail.com> wrote:
>
> Hello
> I use HBase version 0.98.9-hadoop1 with Hadoop version 1.2.1 . when i
> delete row that has columns with future timestamp, delete not affect and
> row still surviving.
>
> For example when i put a row with future timestamp:
> Put p = new Put(Bytes.toBytes("key1"));
> p.add(Bytes.toBytes("C"), Bytes.toBytes("q1"), 2000000000000L,
> Bytes.toBytes("test-val"));
> table.put(p);
>
> After put, when i scan my table, the result is:
> ROW COLUMN+CELL
> key1 column=C:q1, timestamp=2000000000000, value=test-val
>
> When i delete this row with following code:
> Delete d = new Delete(Bytes.toBytes("key1"));
> table.delete(d);
>
> OR with this code:
> Delete d = new Delete(Bytes.toBytes("key1"), Long.MAX_VALUE);
> table.delete(d);
>
> After each two deletes the result of scan is:
> ROW COLUMN+CELL
> key1 column=C:q1, timestamp=2000000000000, value=test-val
>
> And raw scan result is:
> ROW COLUMN+CELL
> key1 column=C:, timestamp=1466931500501, type=DeleteFamily
> key1 column=C:q1, timestamp=2000000000000, value=test-val
>
>
> But when i change the timestamp of delete to Long.MAX_VALUE-1, this delete
> works. Can anyone help me with this?