[ 
https://issues.apache.org/jira/browse/HBASE-1039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12652099#action_12652099
 ] 

stack commented on HBASE-1039:
------------------------------

Why not have the bloom Writer just not build a bloom filter if ALL inputs don't 
already have blooms rather than NPE (in getReaders, if an input doesn't have 
nrows, set it to -1)?   Could output a warning and just carry on.  New flushes 
will include bloom filters so subsequent compactions will have bloom filters to 
hand.  Eventually all inputs will have bloom filters and only then on 
compaction, write out compacted file with blooms.

Adding disallow set/unset would be awkward in implementation; i.e. providing 
the appropriate context that determines when a flag is settable or not in HTD.







> Compaction fails if bloomfilters are enabled
> --------------------------------------------
>
>                 Key: HBASE-1039
>                 URL: https://issues.apache.org/jira/browse/HBASE-1039
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.18.1
>            Reporter: Andrew Purtell
>
> From Thibaut up on the list.
> As soon as hbase tries to compact the table, the following exception appears 
> in the logfile: (Other compactations also work fine without any errors)
> 2008-11-30 00:55:57,769 ERROR
> org.apache.hadoop.hbase.regionserver.CompactSplitThread: Compaction failed 
> for region mytable,,1228002541526
> java.lang.IllegalArgumentException: maxValue must be > 0
>     at org.onelab.filter.HashFunction.<init>(HashFunction.java:84)
>     at org.onelab.filter.Filter.<init>(Filter.java:97)
>     at org.onelab.filter.BloomFilter.<init>(BloomFilter.java:102)
>     at 
> org.apache.hadoop.hbase.regionserver.HStoreFile$BloomFilterMapFile$Writer.<init>(HStoreFile.java:829)
>     at 
> org.apache.hadoop.hbase.regionserver.HStoreFile.getWriter(HStoreFile.java:436)
>     at org.apache.hadoop.hbase.regionserver.HStore.compact(HStore.java:889)
>     at 
> org.apache.hadoop.hbase.regionserver.HRegion.compactStores(HRegion.java:902)
>     at 
> org.apache.hadoop.hbase.regionserver.HRegion.compactStores(HRegion.java:860)
>     at 
> org.apache.hadoop.hbase.regionserver.CompactSplitThread.run(CompactSplitThread.java:83)
> Because the region cannot compact and/or split, it is soon dead after 
> (re)assignment.

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