Demai Ni created HBASE-8780: ------------------------------- Summary: a column Family can have VERSIONS less than zero Key: HBASE-8780 URL: https://issues.apache.org/jira/browse/HBASE-8780 Project: HBase Issue Type: Bug Components: Client Affects Versions: 0.94.8 Reporter: Demai Ni Priority: Trivial
User can create/alter a columnfam and set its VERSION(aka maxVERSIONS) to a negative or zero value. Although there is a checking in HColumnDesciptor#construtor, hbase shell command will invoke the setter(setMaxVersions and setMinVersions) directly, hence by pass the checking. For example: {code:title=set VERSIONS = -1} hbase(main):016:0> create 't5_dn',{NAME=>'cf1',VERSIONS=>-1} 0 row(s) in 1.0420 seconds hbase(main):017:0> put 't5_dn','row1','cf1:q1','row1cf1_v1' 0 row(s) in 0.0700 seconds hbase(main):018:0> scan 't5_dn' ROW COLUMN+CELL 0 row(s) in 0.0090 seconds hbase(main):019:0> describe 't5_dn' DESCRIPTION ENABLED 't5_dn', {NAME => 'cf1', REPLICATION_SCOPE => '0', true KEEP_DELETED_CELLS => 'false', COMPRESSION => 'NONE ', ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true', MIN_VERSIONS => '0', DATA_BLOCK_ENCODING => 'NONE', IN_MEMORY => 'false', BLOOMFILTER => 'NONE', TTL = > '2147483647', VERSIONS => '-1', BLOCKSIZE => '655 36'} 1 row(s) in 0.0410 seconds {code} above example shows VERSIONS => '-1', and put/scan doesn't keep the data -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira