Allow Incremental Table Alterations
-----------------------------------
Key: HBASE-2960
URL: https://issues.apache.org/jira/browse/HBASE-2960
Project: HBase
Issue Type: Wish
Reporter: Karthick Sankarachary
As per the HBase shell help, the alter command will "Alter column family
schema; pass table name and a dictionary specifying new column family
schema." The assumption here seems to be that the new column family schema must
be completely specified. In other words, if a certain attribute is not
specified in the column family schema, then it is effectively defaulted. Is
this side-effect by design?
I for one assumed (wrongly apparently) that I can alter a table in
"increments". Case in point, the following commands should've resulted in the
final value of the VERSIONS attribute of my table to stay put at 1, but instead
it got defaulted to 3. I guess there's no right or wrong answer here, but what
should alter do by default? My expectation is that it only changes those
attributes that were specified in the "alter" command, leaving the unspecified
attributes untouched.
hbase(main):003:0> create 't1', {NAME => 'f1', VERSIONS => 1}
0 row(s) in 1.7230 seconds
hbase(main):004:0> describe 't1'
DESCRIPTION
{NAME => 't1', FAMILIES => [{NAME => 'f1', COMPRESSION => 'NONE', VERSIONS =>
'1', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => ' false',
BLOCKCACHE => 'true'}]}
1 row(s) in 0.2030 seconds
hbase(main):006:0> disable 't1'
0 row(s) in 0.1140 seconds
hbase(main):007:0> alter 't1', {NAME => 'f1', IN_MEMORY => 'true'}
0 row(s) in 0.0160 seconds
hbase(main):009:0> describe 't1'
DESCRIPTION
{NAME => 't1', FAMILIES => [{NAME => 'f1', VERSIONS => '3', COMPRESSION =>
'NONE', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => ' true',
BLOCKCACHE => 'true'}]}
1 row(s) in 0.1280 seconds
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.