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