HBASE-981 hbase.io.index.interval doesn't seem to have an effect; interval is 128 rather than the configured 32
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/branches/0.18@728236 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
3a2c6f5e90
commit
00949213b8
|
@ -8,6 +8,8 @@ Release 0.18.2 - Unreleased
|
|||
(back port from trunk)
|
||||
HBASE-1052 Stopping a HRegionServer with unflushed cache causes data loss
|
||||
from org.apache.hadoop.hbase.DroppedSnapshotException
|
||||
HBASE-981 hbase.io.index.interval doesn't seem to have an effect;
|
||||
interval is 128 rather than the configured 32
|
||||
|
||||
IMPROVEMENTS
|
||||
HBASE-1046 Narrow getClosestRowBefore by passing column family (backport)
|
||||
|
|
|
@ -600,7 +600,7 @@ public class HStore implements HConstants {
|
|||
this.info, family.getName(), -1L, null);
|
||||
MapFile.Writer out = flushedFile.getWriter(this.fs, this.compression,
|
||||
this.family.isBloomfilter(), cache.size());
|
||||
out.setIndexInterval(family.getMapFileIndexInterval());
|
||||
setIndexInterval(out);
|
||||
|
||||
// Here we tried picking up an existing HStoreFile from disk and
|
||||
// interlacing the memcache flush compacting as we go. The notion was
|
||||
|
@ -648,6 +648,27 @@ public class HStore implements HConstants {
|
|||
}
|
||||
return storefiles.size() >= compactionThreshold;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set the index interval for the mapfile. There are two sources for
|
||||
* configuration information: the HCD, and the global HBase config.
|
||||
* If a source returns the default value, it is ignored. Otherwise,
|
||||
* the smallest non-default value is preferred.
|
||||
*/
|
||||
private void setIndexInterval(MapFile.Writer writer) {
|
||||
int familyInterval = this.family.getMapFileIndexInterval();
|
||||
int interval = this.conf.getInt("hbase.io.index.interval",
|
||||
HColumnDescriptor.DEFAULT_MAPFILE_INDEX_INTERVAL);
|
||||
if (familyInterval != HColumnDescriptor.DEFAULT_MAPFILE_INDEX_INTERVAL) {
|
||||
if (interval != HColumnDescriptor.DEFAULT_MAPFILE_INDEX_INTERVAL) {
|
||||
if (familyInterval < interval)
|
||||
interval = familyInterval;
|
||||
} else {
|
||||
interval = familyInterval;
|
||||
}
|
||||
}
|
||||
writer.setIndexInterval(interval);
|
||||
}
|
||||
|
||||
/*
|
||||
* Change readers adding into place the Reader produced by this new flush.
|
||||
|
@ -888,7 +909,7 @@ public class HStore implements HConstants {
|
|||
}
|
||||
MapFile.Writer writer = compactedOutputFile.getWriter(this.fs,
|
||||
this.compression, this.family.isBloomfilter(), nrows);
|
||||
writer.setIndexInterval(family.getMapFileIndexInterval());
|
||||
setIndexInterval(writer);
|
||||
try {
|
||||
compact(writer, rdrs, majorCompaction);
|
||||
} finally {
|
||||
|
|
Loading…
Reference in New Issue