Description
Creating a table with invalid syntax does not give an error message when it fails. In this case, it doesn't actually create the CF requested, but doesn't give any indication to the user that it failed.
create 'test',
{NAME => 'test', VERSIONS => 1, BLOCKCACHE => true, NUMREGIONS => 20, SPLITALGO => "HexStringSplit", COMPRESSION => 'LZO', BLOOMFILTER => 'ROW'}0 row(s) in 3.0930 seconds
hbase(main):002:0> describe 'test'
DESCRIPTION ENABLED
true
1 row(s) in 0.1430 seconds
Putting
{NUMREGIONS => 20, SPLITALGO => "HexStringSplit"} into a separate stanza works fine, so the feature is fine.create 'test', {NAME => 'test', VERSIONS => 1, BLOCKCACHE => true, COMPRESSION => 'LZO', BLOOMFILTER => 'ROW'}, {NUMREGIONS => 20, SPLITALGO => "HexStringSplit"}
0 row(s) in 2.7860 seconds
hbase(main):002:0> describe 'test'
DESCRIPTION ENABLED
{NAME => 'test', FAMILIES => [
]}
We should throw an error if we can't create the CF so it's clear to the user.