[ https://issues.apache.org/jira/browse/HBASE-3086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Karthick Sankarachary updated HBASE-3086:
-----------------------------------------
Status: Patch Available (was: Open)
> Treate BloomFilter Properly in HBase Shell
> -------------------------------------------
>
> Key: HBASE-3086
> URL: https://issues.apache.org/jira/browse/HBASE-3086
> Project: HBase
> Issue Type: Bug
> Components: shell
> Affects Versions: 0.89.20100621
> Reporter: Karthick Sankarachary
> Priority: Minor
> Attachments: HBASE-3806.patch.patch
>
>
> The HBase shell doesn't treat the value of the BLOOMFILTER in the column descriptor as
a string. Instead, it wrongly interprets it to be a boolean, which may have the case earlier.
As a result, we cannot create tables with bloom filter enabled, as the following example illustrates:
> hbase(main):003:0> create 't1', { NAME => 'f1', BLOOMFILTER => 'ROWCOL' }
> ERROR: no constructor with arguments matching [class org.jruby.java.proxies.ArrayJavaProxy,
class org.jruby.RubyFixnum, class org.jruby.RubyString, class org.jruby.RubyBoolean, class
org.jruby.RubyBoolean, class org.jruby.RubyFixnum, class org.jruby.RubyFixnum, class org.jruby.RubyBoolean,
class org.jruby.RubyFixnum] on object #<Java::OrgApacheHadoopHbase::HColumnDescriptor:0x4e695527>
> To fix this issue, we should change the "hcd" method in the hbase/admin.rb class, so
that it doesn't try to treat the bloom filter as a boolean (see diff below and patch attached).
> - arg.include?(HColumnDescriptor::BLOOMFILTER)? JBoolean.valueOf(arg[HColumnDescriptor::BLOOMFILTER]):
HColumnDescriptor::DEFAULT_BLOOMFILTER,
> + arg.include?(HColumnDescriptor::BLOOMFILTER)? arg[HColumnDescriptor::BLOOMFILTER]:
HColumnDescriptor::DEFAULT_BLOOMFILTER,
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|