Ok , I figured it out, when flush the memstore out to HFile, it use the scanner which masks the Put that is earlier than the delete, so the HFile will not contain the Put.
Thanks Tian-Ying On Wed, Sep 3, 2014 at 11:27 AM, Tianying Chang <[email protected]> wrote: > Hi, > > I did a small test, want to verify that DeleteMarker is placed before any > Put of the same row/version, for example: > > put 't1', 'cf1', 'v1', 100 > delete 't1', 'cf1', 100 > flush 't1' > > But when I dump the hfile being flushed out with command below: > > hbase org.apache.hadoop.hbase.io.hfile.HFile -p -v -f myHfile > > It only shows one entry for the Delete, but no Put. I thought it should > print out two entries, ordered with Delete first. Since I did not run major > compaction, all entries should be present in the HFile. Am I missing > anything here? > > Do I have to have RETAIN_DELETED so that HFile will contain both Put and > Delete? I feel it shouldn't. > > Thanks > > Tian-Ying > > >
