Hi

I am using hbase-1.0. I had two column families C1 and C2.

C1 => 'VERSIONS => 1, MIN_VERSIONS => 0 (default)
C2 => 'VERSIONS' => 1, MIN_VERSIONS => 1

I inserted two versions as follows
put 'test','ro1','C1:col1,'value1'
put 'test','ro1','C2:col1,'value1'


put 'test','ro1','C1:col1,'value2'
put 'test','ro1','C2:col1,'value2'

I did a delete using java API with addColumn ( not Columns) for both C1 and
C2 column families. On a get call I got the result as

C1:col1                           timestamp=1444904709797,value=value1

C2:col1                            timestamp=1444904695656, value=value1

on doing a *flush* on the table, the C2 data got vanished and subsequent
get call returned with first version of C1.

C1:col1                           timestamp=1444904709797,value=value1

On deeper analysis, we found that a flush before delete will purge both of
those data.

My question is with MIN_VERSIONS => 0 and VERSIONS => 1, why does the
second version gets promoted during deletion and does not get removed even
after flush?

In other words with VERSIONS =>1 , why should the earlier versions be
stored?

Also with MIN_VERSIONS => 1 and VERSIONS => 1, though the second version
promoted but subsequent flush purged it.

Is this an inconsistency or my understanding is wrong?

Thanks

Regards
Mukund Murrali

Reply via email to