Details
-
Wish
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
0.89.20100621
-
None
-
None
Description
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 => [
]}
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',
0 row(s) in 0.0160 seconds
hbase(main):009:0> describe 't1'
DESCRIPTION
{NAME => 't1', FAMILIES => [
]}
1 row(s) in 0.1280 seconds
Attachments
Attachments
Issue Links
- is blocked by
-
HBASE-3086 Treate BloomFilter Properly in HBase Shell
- Closed
- is duplicated by
-
HBASE-2984 [shell] Altering a family shouldn't reset to default unchanged attributes
- Closed