[ 
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.

Reply via email to