Hi all,
we are using HBase version 0.94.6-cdh4.3.1 and I have a suspicion that a
Delete written to hbase through HFileOutputFormat might be ignored (and
not delete any data) in the following scenario:
* a Delete object is used to delete the data at the client side
* call to "deleteColumn" instead of "deleteColumns" is used, which
means that the underlaying KeyValue will not have an associated
timestamp (will have HConstants.LATEST_TIMESTAMP)
* the Delete object is then converted to KeyValues and these are
written into the output format's record writer
I think (our systems seems to behave this way) the problem is in the way
the KeyValue is processed in the RegionServer, even though I was not
able to track the problem in the source code. Can anyone else confirm
this? When using Delete#deleteColumns everything seems to be working
fine (the KeyValues have different type). Is this expected or should it
be considered a bug? And if so, where it should be fixed? I think it
could be on the side of the record writer (maybe by throwing an
exception), or in the region server (if possible, this might be
non-trivial, because of the Delete#deleteColumn semantics).
Any opinions?
Thanks,
Jan