HBASE-24892 config 'hbase.hregion.memstore.mslab.indexchunksize' not be used (#2265)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
This commit is contained in:
parent
bb9121da77
commit
3a85bdd482
|
@ -80,7 +80,7 @@ public class ChunkCreator {
|
|||
@VisibleForTesting
|
||||
static boolean chunkPoolDisabled = false;
|
||||
private MemStoreChunkPool dataChunksPool;
|
||||
private int chunkSize;
|
||||
private final int chunkSize;
|
||||
private MemStoreChunkPool indexChunksPool;
|
||||
|
||||
@VisibleForTesting
|
||||
|
@ -125,13 +125,13 @@ public class ChunkCreator {
|
|||
@VisibleForTesting
|
||||
public static ChunkCreator initialize(int chunkSize, boolean offheap, long globalMemStoreSize,
|
||||
float poolSizePercentage, float initialCountPercentage,
|
||||
HeapMemoryManager heapMemoryManager) {
|
||||
HeapMemoryManager heapMemoryManager,
|
||||
float indexChunkSizePercent) {
|
||||
if (instance != null) {
|
||||
return instance;
|
||||
}
|
||||
instance = new ChunkCreator(chunkSize, offheap, globalMemStoreSize, poolSizePercentage,
|
||||
initialCountPercentage, heapMemoryManager,
|
||||
MemStoreLABImpl.INDEX_CHUNK_PERCENTAGE_DEFAULT);
|
||||
initialCountPercentage, heapMemoryManager, indexChunkSizePercent);
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
|
|
@ -1629,14 +1629,16 @@ public class HRegionServer extends Thread implements
|
|||
long globalMemStoreSize = pair.getFirst();
|
||||
boolean offheap = this.regionServerAccounting.isOffheap();
|
||||
// When off heap memstore in use, take full area for chunk pool.
|
||||
float poolSizePercentage = offheap? 1.0F:
|
||||
conf.getFloat(MemStoreLAB.CHUNK_POOL_MAXSIZE_KEY, MemStoreLAB.POOL_MAX_SIZE_DEFAULT);
|
||||
float poolSizePercentage = offheap ? 1.0F :
|
||||
conf.getFloat(MemStoreLAB.CHUNK_POOL_MAXSIZE_KEY, MemStoreLAB.POOL_MAX_SIZE_DEFAULT);
|
||||
float initialCountPercentage = conf.getFloat(MemStoreLAB.CHUNK_POOL_INITIALSIZE_KEY,
|
||||
MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT);
|
||||
MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT);
|
||||
int chunkSize = conf.getInt(MemStoreLAB.CHUNK_SIZE_KEY, MemStoreLAB.CHUNK_SIZE_DEFAULT);
|
||||
float indexChunkSizePercent = conf.getFloat(MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_KEY,
|
||||
MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
// init the chunkCreator
|
||||
ChunkCreator.initialize(chunkSize, offheap, globalMemStoreSize, poolSizePercentage,
|
||||
initialCountPercentage, this.hMemManager);
|
||||
initialCountPercentage, this.hMemManager, indexChunkSizePercent);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -52,8 +52,8 @@ public interface MemStoreLAB {
|
|||
|
||||
String CHUNK_SIZE_KEY = "hbase.hregion.memstore.mslab.chunksize";
|
||||
int CHUNK_SIZE_DEFAULT = 2048 * 1024;
|
||||
String INDEX_CHUNK_PERCENTAGE_KEY = "hbase.hregion.memstore.mslab.indexchunksize";
|
||||
float INDEX_CHUNK_PERCENTAGE_DEFAULT = 0.1f;
|
||||
String INDEX_CHUNK_SIZE_PERCENTAGE_KEY = "hbase.hregion.memstore.mslab.indexchunksize.percent";
|
||||
float INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT = 0.1f;
|
||||
String MAX_ALLOC_KEY = "hbase.hregion.memstore.mslab.max.allocation";
|
||||
int MAX_ALLOC_DEFAULT = 256 * 1024; // allocs bigger than this don't go through
|
||||
// allocator
|
||||
|
|
|
@ -111,7 +111,7 @@ import org.apache.hadoop.hbase.regionserver.HRegion;
|
|||
import org.apache.hadoop.hbase.regionserver.HRegionServer;
|
||||
import org.apache.hadoop.hbase.regionserver.HStore;
|
||||
import org.apache.hadoop.hbase.regionserver.InternalScanner;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLABImpl;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLAB;
|
||||
import org.apache.hadoop.hbase.regionserver.Region;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionScanner;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionServerServices;
|
||||
|
@ -2713,7 +2713,8 @@ public class HBaseTestingUtility extends HBaseZKTestingUtility {
|
|||
public static HRegion createRegionAndWAL(final RegionInfo info, final Path rootDir,
|
||||
final Configuration conf, final TableDescriptor htd, boolean initialize)
|
||||
throws IOException {
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
WAL wal = createWal(conf, rootDir, info);
|
||||
return HRegion.createHRegion(info, rootDir, conf, htd, wal, initialize);
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ import org.apache.hadoop.hbase.regionserver.ChunkCreator;
|
|||
import org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker;
|
||||
import org.apache.hadoop.hbase.regionserver.HRegion;
|
||||
import org.apache.hadoop.hbase.regionserver.InternalScanner;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLABImpl;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLAB;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionScanner;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionServerServices;
|
||||
|
@ -416,7 +416,8 @@ public class TestCoprocessorInterface {
|
|||
for(byte [] family : families) {
|
||||
htd.addFamily(new HColumnDescriptor(family));
|
||||
}
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
RegionInfo info = RegionInfoBuilder.newBuilder(tableName)
|
||||
.setStartKey(null)
|
||||
.setEndKey(null)
|
||||
|
|
|
@ -51,7 +51,7 @@ import org.apache.hadoop.hbase.regionserver.HRegion;
|
|||
import org.apache.hadoop.hbase.regionserver.HRegionServer;
|
||||
import org.apache.hadoop.hbase.regionserver.HStore;
|
||||
import org.apache.hadoop.hbase.regionserver.InternalScanner;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLABImpl;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLAB;
|
||||
import org.apache.hadoop.hbase.regionserver.Region;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionServerServices;
|
||||
|
@ -187,7 +187,8 @@ public class TestRegionObserverScannerOpenHook {
|
|||
for (byte[] family : families) {
|
||||
htd.addFamily(new HColumnDescriptor(family));
|
||||
}
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
HRegionInfo info = new HRegionInfo(htd.getTableName(), null, null, false);
|
||||
Path path = new Path(DIR + callingMethod);
|
||||
WAL wal = HBaseTestingUtility.createWal(conf, path, info);
|
||||
|
|
|
@ -33,7 +33,7 @@ import org.apache.hadoop.hbase.client.Durability;
|
|||
import org.apache.hadoop.hbase.client.Put;
|
||||
import org.apache.hadoop.hbase.regionserver.ChunkCreator;
|
||||
import org.apache.hadoop.hbase.regionserver.HRegion;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLABImpl;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLAB;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionServerServices;
|
||||
import org.apache.hadoop.hbase.testclassification.CoprocessorTests;
|
||||
|
@ -124,7 +124,8 @@ public class TestRegionObserverStacking extends TestCase {
|
|||
for(byte [] family : families) {
|
||||
htd.addFamily(new HColumnDescriptor(family));
|
||||
}
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
HRegionInfo info = new HRegionInfo(htd.getTableName(), null, null, false);
|
||||
Path path = new Path(DIR + callingMethod);
|
||||
HRegion r = HBaseTestingUtility.createRegionAndWAL(info, path, conf, htd);
|
||||
|
|
|
@ -53,7 +53,7 @@ import org.apache.hadoop.hbase.master.assignment.MockMasterServices;
|
|||
import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;
|
||||
import org.apache.hadoop.hbase.regionserver.ChunkCreator;
|
||||
import org.apache.hadoop.hbase.regionserver.HStore;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLABImpl;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLAB;
|
||||
import org.apache.hadoop.hbase.testclassification.MasterTests;
|
||||
import org.apache.hadoop.hbase.testclassification.MediumTests;
|
||||
import org.apache.hadoop.hbase.util.Bytes;
|
||||
|
@ -86,7 +86,8 @@ public class TestCatalogJanitor {
|
|||
|
||||
@BeforeClass
|
||||
public static void beforeClass() throws Exception {
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
}
|
||||
|
||||
@Before
|
||||
|
|
|
@ -126,8 +126,10 @@ public class RegionProcedureStorePerformanceEvaluation
|
|||
float initialCountPercentage =
|
||||
conf.getFloat(MemStoreLAB.CHUNK_POOL_INITIALSIZE_KEY, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT);
|
||||
int chunkSize = conf.getInt(MemStoreLAB.CHUNK_SIZE_KEY, MemStoreLAB.CHUNK_SIZE_DEFAULT);
|
||||
float indexChunkSizePercent = conf.getFloat(MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_KEY,
|
||||
MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
ChunkCreator.initialize(chunkSize, offheap, globalMemStoreSize, poolSizePercentage,
|
||||
initialCountPercentage, null);
|
||||
initialCountPercentage, null, indexChunkSizePercent);
|
||||
conf.setBoolean(MasterRegionFactory.USE_HSYNC_KEY, "hsync".equals(syncType));
|
||||
CommonFSUtils.setRootDir(conf, storeDir);
|
||||
MockServer server = new MockServer(conf);
|
||||
|
|
|
@ -262,7 +262,8 @@ public class TestBulkLoad {
|
|||
for (byte[] family : families) {
|
||||
hTableDescriptor.addFamily(new HColumnDescriptor(family));
|
||||
}
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
// TODO We need a way to do this without creating files
|
||||
return HRegion.createHRegion(hRegionInfo,
|
||||
new Path(testFolder.newFolder().toURI()),
|
||||
|
|
|
@ -81,14 +81,16 @@ public class TestCellFlatSet {
|
|||
long globalMemStoreLimit = (long) (ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()
|
||||
.getMax() * MemorySizeUtil.getGlobalMemStoreHeapPercent(CONF, false));
|
||||
if (chunkType.equals("NORMAL_CHUNKS")) {
|
||||
chunkCreator = ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false,
|
||||
globalMemStoreLimit, 0.2f, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT, null);
|
||||
chunkCreator = ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false,
|
||||
globalMemStoreLimit, 0.2f, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT,
|
||||
null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
assertNotNull(chunkCreator);
|
||||
smallChunks = false;
|
||||
} else {
|
||||
// chunkCreator with smaller chunk size, so only 3 cell-representations can accommodate a chunk
|
||||
chunkCreator = ChunkCreator.initialize(SMALL_CHUNK_SIZE, false,
|
||||
globalMemStoreLimit, 0.2f, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT, null);
|
||||
globalMemStoreLimit, 0.2f, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT,
|
||||
null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
assertNotNull(chunkCreator);
|
||||
smallChunks = true;
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
package org.apache.hadoop.hbase.regionserver;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
|
@ -122,10 +123,10 @@ public class TestCompactingMemStore extends TestDefaultMemStore {
|
|||
|
||||
long globalMemStoreLimit = (long) (ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()
|
||||
.getMax() * MemorySizeUtil.getGlobalMemStoreHeapPercent(conf, false));
|
||||
chunkCreator = ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false,
|
||||
chunkCreator = ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false,
|
||||
globalMemStoreLimit, 0.4f, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT,
|
||||
null);
|
||||
assertTrue(chunkCreator != null);
|
||||
null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
assertNotNull(chunkCreator);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -172,7 +172,8 @@ public class TestCompactionArchiveConcurrentClose {
|
|||
|
||||
HRegionFileSystem fs =
|
||||
new WaitingHRegionFileSystem(conf, tableDir.getFileSystem(conf), tableDir, info);
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
final Configuration walConf = new Configuration(conf);
|
||||
CommonFSUtils.setRootDir(walConf, tableDir);
|
||||
final WALFactory wals = new WALFactory(walConf, "log_" + info.getEncodedName());
|
||||
|
|
|
@ -181,7 +181,8 @@ public class TestCompactionArchiveIOException {
|
|||
|
||||
private HRegion initHRegion(TableDescriptor htd, RegionInfo info) throws IOException {
|
||||
Configuration conf = testUtil.getConfiguration();
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
Path tableDir = CommonFSUtils.getTableDir(testDir, htd.getTableName());
|
||||
Path regionDir = new Path(tableDir, info.getEncodedName());
|
||||
Path storeDir = new Path(regionDir, htd.getColumnFamilies()[0].getNameAsString());
|
||||
|
|
|
@ -100,7 +100,8 @@ public class TestCompactionPolicy {
|
|||
HRegionInfo info = new HRegionInfo(htd.getTableName(), null, null, false);
|
||||
|
||||
hlog = new FSHLog(fs, basedir, logName, conf);
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
region = HRegion.createHRegion(info, basedir, conf, htd, hlog);
|
||||
region.close();
|
||||
Path tableDir = CommonFSUtils.getTableDir(basedir, htd.getTableName());
|
||||
|
|
|
@ -99,7 +99,8 @@ public class TestDefaultMemStore {
|
|||
internalSetUp();
|
||||
// no pool
|
||||
this.chunkCreator =
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
this.memstore = new DefaultMemStore();
|
||||
}
|
||||
|
||||
|
|
|
@ -277,7 +277,8 @@ public class TestFailedAppendAndSync {
|
|||
*/
|
||||
public static HRegion initHRegion(TableName tableName, byte[] startKey, byte[] stopKey, WAL wal)
|
||||
throws IOException {
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
return TEST_UTIL.createLocalHRegion(tableName, startKey, stopKey, false, Durability.SYNC_WAL,
|
||||
wal, COLUMN_FAMILY_BYTES);
|
||||
}
|
||||
|
|
|
@ -159,7 +159,8 @@ public class TestHMobStore {
|
|||
fs.delete(logdir, true);
|
||||
|
||||
RegionInfo info = RegionInfoBuilder.newBuilder(td.getTableName()).build();
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
final Configuration walConf = new Configuration(conf);
|
||||
CommonFSUtils.setRootDir(walConf, basedir);
|
||||
final WALFactory wals = new WALFactory(walConf, methodName);
|
||||
|
|
|
@ -3379,7 +3379,8 @@ public class TestHRegion {
|
|||
hcd.setMaxVersions(maxVersions);
|
||||
HTableDescriptor htd = new HTableDescriptor(TableName.valueOf("testFilterAndColumnTracker"));
|
||||
htd.addFamily(hcd);
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
HRegionInfo info = new HRegionInfo(htd.getTableName(), null, null, false);
|
||||
Path logDir = TEST_UTIL.getDataTestDirOnTestFS(method + ".log");
|
||||
final WAL wal = HBaseTestingUtility.createWal(TEST_UTIL.getConfiguration(), logDir, info);
|
||||
|
@ -5643,7 +5644,8 @@ public class TestHRegion {
|
|||
*/
|
||||
public HRegion initHRegion(TableName tableName, byte[] startKey, byte[] stopKey,
|
||||
boolean isReadOnly, Durability durability, WAL wal, byte[]... families) throws IOException {
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
return TEST_UTIL.createLocalHRegion(tableName, startKey, stopKey,
|
||||
isReadOnly, durability, wal, families);
|
||||
}
|
||||
|
|
|
@ -172,7 +172,8 @@ public class TestHRegionReplayEvents {
|
|||
htd = builder.build();
|
||||
|
||||
long time = System.currentTimeMillis();
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
primaryHri =
|
||||
RegionInfoBuilder.newBuilder(htd.getTableName()).setRegionId(time).setReplicaId(0).build();
|
||||
secondaryHri =
|
||||
|
|
|
@ -63,7 +63,8 @@ public class TestHRegionWithInMemoryFlush extends TestHRegion {
|
|||
for(int i = 0; i < inMemory.length; i++) {
|
||||
inMemory[i] = true;
|
||||
}
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
return TEST_UTIL.createLocalHRegionWithInMemoryFlags(tableName, startKey, stopKey,
|
||||
isReadOnly, durability, wal, inMemory, families);
|
||||
}
|
||||
|
|
|
@ -216,8 +216,9 @@ public class TestHStore {
|
|||
FileSystem fs = FileSystem.get(conf);
|
||||
|
||||
fs.delete(logdir, true);
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false,
|
||||
MemStoreLABImpl.CHUNK_SIZE_DEFAULT, 1, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false,
|
||||
MemStoreLABImpl.CHUNK_SIZE_DEFAULT, 1, 0,
|
||||
null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
RegionInfo info = RegionInfoBuilder.newBuilder(htd.getTableName()).build();
|
||||
Configuration walConf = new Configuration(conf);
|
||||
CommonFSUtils.setRootDir(walConf, basedir);
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
package org.apache.hadoop.hbase.regionserver;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -63,9 +64,10 @@ public class TestMemStoreChunkPool {
|
|||
ChunkCreator.chunkPoolDisabled = false;
|
||||
long globalMemStoreLimit = (long) (ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()
|
||||
.getMax() * MemorySizeUtil.getGlobalMemStoreHeapPercent(conf, false));
|
||||
chunkCreator = ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false,
|
||||
globalMemStoreLimit, 0.2f, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT, null);
|
||||
assertTrue(chunkCreator != null);
|
||||
chunkCreator = ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false,
|
||||
globalMemStoreLimit, 0.2f, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT,
|
||||
null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
assertNotNull(chunkCreator);
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
|
|
|
@ -64,7 +64,7 @@ public class TestMemStoreLAB {
|
|||
@BeforeClass
|
||||
public static void setUpBeforeClass() throws Exception {
|
||||
ChunkCreator.initialize(1 * 1024, false, 50 * 1024000L, 0.2f,
|
||||
MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT, null);
|
||||
MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
|
@ -73,7 +73,7 @@ public class TestMemStoreLAB {
|
|||
(long) (ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax()
|
||||
* MemorySizeUtil.getGlobalMemStoreHeapPercent(conf, false));
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, globalMemStoreLimit, 0.2f,
|
||||
MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT, null);
|
||||
MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -217,7 +217,8 @@ public class TestMemStoreLAB {
|
|||
long globalMemStoreLimit = (long) (ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()
|
||||
.getMax() * MemorySizeUtil.getGlobalMemStoreHeapPercent(conf, false));
|
||||
ChunkCreator.initialize(MemStoreLABImpl.MAX_ALLOC_DEFAULT, false,
|
||||
globalMemStoreLimit, 0.1f, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT, null);
|
||||
globalMemStoreLimit, 0.1f, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT,
|
||||
null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
ChunkCreator.clearDisableFlag();
|
||||
mslab = new MemStoreLABImpl(conf);
|
||||
// launch multiple threads to trigger frequent chunk retirement
|
||||
|
|
|
@ -59,8 +59,9 @@ public class TestMemstoreLABWithoutPool {
|
|||
long globalMemStoreLimit = (long) (ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()
|
||||
.getMax() * 0.8);
|
||||
// disable pool
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT + Bytes.SIZEOF_LONG, false, globalMemStoreLimit,
|
||||
0.0f, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT, null);
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT + Bytes.SIZEOF_LONG,
|
||||
false, globalMemStoreLimit, 0.0f, MemStoreLAB.POOL_INITIAL_SIZE_DEFAULT,
|
||||
null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -115,7 +115,8 @@ public class TestRecoveredEditsReplayAndAbort {
|
|||
//mock a RegionServerServices
|
||||
final RegionServerAccounting rsAccounting = new RegionServerAccounting(CONF);
|
||||
RegionServerServices rs = Mockito.mock(RegionServerServices.class);
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
Mockito.when(rs.getRegionServerAccounting()).thenReturn(rsAccounting);
|
||||
Mockito.when(rs.isAborted()).thenReturn(false);
|
||||
Mockito.when(rs.getNonceManager()).thenReturn(null);
|
||||
|
|
|
@ -83,7 +83,8 @@ public class TestRegionIncrement {
|
|||
FSHLog wal = new FSHLog(FileSystem.get(conf), TEST_UTIL.getDataTestDir(),
|
||||
TEST_UTIL.getDataTestDir().toString(), conf);
|
||||
wal.init();
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
return (HRegion)TEST_UTIL.createLocalHRegion(Bytes.toBytes(tableName),
|
||||
HConstants.EMPTY_BYTE_ARRAY, HConstants.EMPTY_BYTE_ARRAY, tableName, conf,
|
||||
false, Durability.SKIP_WAL, wal, INCREMENT_BYTES);
|
||||
|
|
|
@ -99,7 +99,8 @@ public class TestReversibleScanners {
|
|||
|
||||
@BeforeClass
|
||||
public static void setUp() {
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
}
|
||||
@Test
|
||||
public void testReversibleStoreFileScanner() throws IOException {
|
||||
|
|
|
@ -118,7 +118,8 @@ public class TestStoreFileRefresherChore {
|
|||
final Configuration walConf = new Configuration(conf);
|
||||
CommonFSUtils.setRootDir(walConf, tableDir);
|
||||
final WALFactory wals = new WALFactory(walConf, "log_" + replicaId);
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
HRegion region =
|
||||
new HRegion(fs, wals.getWAL(info),
|
||||
conf, htd, null);
|
||||
|
|
|
@ -560,7 +560,8 @@ public class TestWALLockup {
|
|||
*/
|
||||
private static HRegion initHRegion(TableName tableName, byte[] startKey, byte[] stopKey, WAL wal)
|
||||
throws IOException {
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
return TEST_UTIL.createLocalHRegion(tableName, startKey, stopKey, false, Durability.SYNC_WAL,
|
||||
wal, COLUMN_FAMILY_BYTES);
|
||||
}
|
||||
|
|
|
@ -122,7 +122,8 @@ public class TestWALMonotonicallyIncreasingSeqId {
|
|||
CommonFSUtils.setRootDir(walConf, tableDir);
|
||||
this.walConf = walConf;
|
||||
wals = new WALFactory(walConf, "log_" + replicaId);
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
HRegion region = HRegion.createHRegion(info, TEST_UTIL.getDefaultRootDirPath(), conf, htd,
|
||||
wals.getWAL(info));
|
||||
return region;
|
||||
|
|
|
@ -75,7 +75,7 @@ import org.apache.hadoop.hbase.regionserver.FlushPolicy;
|
|||
import org.apache.hadoop.hbase.regionserver.FlushPolicyFactory;
|
||||
import org.apache.hadoop.hbase.regionserver.HRegion;
|
||||
import org.apache.hadoop.hbase.regionserver.HStore;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLABImpl;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLAB;
|
||||
import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl;
|
||||
import org.apache.hadoop.hbase.regionserver.RegionServerServices;
|
||||
import org.apache.hadoop.hbase.regionserver.SequenceId;
|
||||
|
@ -553,7 +553,8 @@ public abstract class AbstractTestFSWAL {
|
|||
private HRegion createHoldingHRegion(Configuration conf, TableDescriptor htd, WAL wal)
|
||||
throws IOException {
|
||||
RegionInfo hri = RegionInfoBuilder.newBuilder(htd.getTableName()).build();
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
TEST_UTIL.createLocalHRegion(hri, htd, wal).close();
|
||||
RegionServerServices rsServices = mock(RegionServerServices.class);
|
||||
when(rsServices.getServerName()).thenReturn(ServerName.valueOf("localhost:12345", 123456));
|
||||
|
|
|
@ -40,7 +40,7 @@ import org.apache.hadoop.hbase.client.TableDescriptor;
|
|||
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
|
||||
import org.apache.hadoop.hbase.regionserver.ChunkCreator;
|
||||
import org.apache.hadoop.hbase.regionserver.HRegion;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLABImpl;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLAB;
|
||||
import org.apache.hadoop.hbase.testclassification.MediumTests;
|
||||
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
|
||||
import org.apache.hadoop.hbase.util.Bytes;
|
||||
|
@ -298,7 +298,8 @@ public class TestDurability {
|
|||
throw new IOException("Failed delete of " + path);
|
||||
}
|
||||
}
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
return HRegion.createHRegion(info, path, CONF, htd, wals.getWAL(info));
|
||||
}
|
||||
|
||||
|
@ -310,7 +311,8 @@ public class TestDurability {
|
|||
throw new IOException("Failed delete of " + path);
|
||||
}
|
||||
}
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
return HRegion.createHRegion(info, path, CONF, td, wal);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ import org.apache.hadoop.hbase.client.TableDescriptor;
|
|||
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
|
||||
import org.apache.hadoop.hbase.regionserver.ChunkCreator;
|
||||
import org.apache.hadoop.hbase.regionserver.HRegion;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLABImpl;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLAB;
|
||||
import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl;
|
||||
import org.apache.hadoop.hbase.testclassification.MediumTests;
|
||||
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
|
||||
|
@ -166,7 +166,8 @@ public class TestFSHLog extends AbstractTestFSWAL {
|
|||
TableDescriptorBuilder.newBuilder(TableName.valueOf(this.name.getMethodName()))
|
||||
.setColumnFamily(ColumnFamilyDescriptorBuilder.of(b)).build();
|
||||
RegionInfo hri = RegionInfoBuilder.newBuilder(htd.getTableName()).build();
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
final HRegion region = TEST_UTIL.createLocalHRegion(hri, htd, log);
|
||||
ExecutorService exec = Executors.newFixedThreadPool(2);
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ import org.apache.hadoop.hbase.client.Durability;
|
|||
import org.apache.hadoop.hbase.client.Put;
|
||||
import org.apache.hadoop.hbase.regionserver.ChunkCreator;
|
||||
import org.apache.hadoop.hbase.regionserver.HRegion;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLABImpl;
|
||||
import org.apache.hadoop.hbase.regionserver.MemStoreLAB;
|
||||
import org.apache.hadoop.hbase.util.Bytes;
|
||||
import org.apache.hadoop.hbase.wal.WAL;
|
||||
import org.junit.After;
|
||||
|
@ -158,7 +158,8 @@ public abstract class WALDurabilityTestBase<T extends WAL> {
|
|||
*/
|
||||
public static HRegion initHRegion(TableName tableName, byte[] startKey, byte[] stopKey, WAL wal)
|
||||
throws IOException {
|
||||
ChunkCreator.initialize(MemStoreLABImpl.CHUNK_SIZE_DEFAULT, false, 0, 0, 0, null);
|
||||
ChunkCreator.initialize(MemStoreLAB.CHUNK_SIZE_DEFAULT, false, 0, 0,
|
||||
0, null, MemStoreLAB.INDEX_CHUNK_SIZE_PERCENTAGE_DEFAULT);
|
||||
return TEST_UTIL.createLocalHRegion(tableName, startKey, stopKey, false, Durability.USE_DEFAULT,
|
||||
wal, COLUMN_FAMILY_BYTES);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue