Hi all,
While fixing the Thrift server in the post-880/1304 world (see HBASE-880 and
HBASE-1304), I made a small but potentially significant semantic change:
If you create a Mutation with the 'delete' flag, it will issue the delete
call:
http://people.apache.org/~stack/hbase-0.20.0-alpha/docs/api/org/apache/hadoop/hbase/client/Delete.html#deleteColumns(byte[],%20byte[])
rather than:
http://people.apache.org/~stack/hbase-0.20.0-alpha/docs/api/org/apache/hadoop/hbase/client/Delete.html#deleteColumn(byte[],%20byte[])
The reason is that the second call is a little confusing, take the following
sequence of events:
put: rowA, column:name <-- value1
... time passes ...
put: rowA, column:name <--- value2
if you issue the latter, deleteColumn() you will get 'value1' all of a
sudden. This could surface bad or embarrassing data.
So I made the call and you can't access 'deleteColumn' via the thrift API
right now. If you need to delete specific cell versions (thus exposing
older cell versions), lets talk, we can add a new API for it.
Happy HBasing/thrifting!
-ryan
|