You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Ryan Rawson <ry...@gmail.com> on 2009/06/19 01:54:54 UTC

Thrift users - small semantic change of delete handling! Please read!

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