You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Jeremy Carroll (JIRA)" <ji...@apache.org> on 2014/02/19 22:28:23 UTC

[jira] [Created] (HBASE-10571) TTL of zero should be rejected

Jeremy Carroll created HBASE-10571:
--------------------------------------

             Summary: TTL of zero should be rejected
                 Key: HBASE-10571
                 URL: https://issues.apache.org/jira/browse/HBASE-10571
             Project: HBase
          Issue Type: Bug
          Components: Admin
            Reporter: Jeremy Carroll


If a table schema has been modified to provide a default TTL, or a TTL on a column of 0, then HBase basically becomes a very costly way to send your data to /dev/null.

I'm proposing that we reject outright any attempt to set a TTL on a default table schema, or column of a value of zero. I cannot think of a use case where individuals would want to delete their keys as soon as they are written to the memstore. In addition, this will protect against any bugs in code, or documentation errors which would result in irrecoverable data loss.

Example:
alter 'tsdb', { NAME => 't', TTL => '2147483647' }

Test Case:
hbase(main):001:0> create 'test_table', { NAME => 'd', TTL => 0 }
0 row(s) in 1.7880 seconds

hbase(main):003:0> put 'test_table', 'row1', 'd', '1'
0 row(s) in 0.1300 seconds

hbase(main):004:0> scan 'test_table'
ROW                                            COLUMN+CELL                                                                                                                           
0 row(s) in 0.0320 seconds




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)