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


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