Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Tephra currently handles Delete operations by issuing a Put with an empty byte[] value and interpreting this as a delete tombstone when reading data back. This makes it possible to rollback a Tephra "delete" from a failed transaction with a native HBase Delete issued at the same column/timestamp.
With support for cell tags in HBase 1.0+ (where HFile v3 is enabled by default), we can do better than this, by setting a cell tag indicating that the Put is actually a "delete". This will allow us to correctly distinguish between a Put with an empty value and a delete tombstone.