@Override public long getMemStoreLimit() { return this.regionServer.getRegionServerAccounting().getGlobalMemStoreLimit(); }
/** * @param conf * @param server */ public MemStoreFlusher(final Configuration conf, final HRegionServer server) { super(); this.conf = conf; this.server = server; this.threadWakeFrequency = conf.getLong(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000); this.blockingWaitTime = conf.getInt("hbase.hstore.blockingWaitTime", 90000); int handlerCount = conf.getInt("hbase.hstore.flusher.count", 2); this.flushHandlers = new FlushHandler[handlerCount]; LOG.info("globalMemStoreLimit=" + TraditionalBinaryPrefix .long2String(this.server.getRegionServerAccounting().getGlobalMemStoreLimit(), "", 1) + ", globalMemStoreLimitLowMark=" + TraditionalBinaryPrefix.long2String( this.server.getRegionServerAccounting().getGlobalMemStoreLimitLowMark(), "", 1) + ", Offheap=" + (this.server.getRegionServerAccounting().isOffheap())); }
@Test public void testOnheapMemstoreHigherWaterMarkLimits() { RegionServerAccounting regionServerAccounting = new RegionServerAccounting(conf); long dataSize = regionServerAccounting.getGlobalMemStoreLimit(); MemStoreSize memstoreSize = new MemStoreSize(dataSize, dataSize, 0, 0); regionServerAccounting.incGlobalMemStoreSize(memstoreSize); assertEquals(FlushType.ABOVE_ONHEAP_HIGHER_MARK, regionServerAccounting.isAboveHighWaterMark()); }
@Test public void testOnheapMemstoreLowerWaterMarkLimits() { RegionServerAccounting regionServerAccounting = new RegionServerAccounting(conf); long dataSize = regionServerAccounting.getGlobalMemStoreLimit(); MemStoreSize memstoreSize = new MemStoreSize(dataSize, dataSize, 0, 0); regionServerAccounting.incGlobalMemStoreSize(memstoreSize); assertEquals(FlushType.ABOVE_ONHEAP_LOWER_MARK, regionServerAccounting.isAboveLowWaterMark()); }
logMsg("global memstore heapsize", server.getRegionServerAccounting().getGlobalMemStoreHeapSize(), server.getRegionServerAccounting().getGlobalMemStoreLimit()); } else { switch (flushType) { logMsg("the global offheap memstore datasize", server.getRegionServerAccounting().getGlobalMemStoreOffHeapSize(), server.getRegionServerAccounting().getGlobalMemStoreLimit()); break; case ABOVE_ONHEAP_HIGHER_MARK:
@Test public void testOnheapMemstoreHigherWaterMarkLimits() { RegionServerAccounting regionServerAccounting = new RegionServerAccounting(conf); long dataSize = regionServerAccounting.getGlobalMemStoreLimit(); MemStoreSize memstoreSize = new MemStoreSize(dataSize, dataSize, 0); regionServerAccounting.incGlobalMemStoreSize(memstoreSize); assertEquals(FlushType.ABOVE_ONHEAP_HIGHER_MARK, regionServerAccounting.isAboveHighWaterMark()); }
@Test public void testOnheapMemstoreLowerWaterMarkLimits() { RegionServerAccounting regionServerAccounting = new RegionServerAccounting(conf); long dataSize = regionServerAccounting.getGlobalMemStoreLimit(); MemStoreSize memstoreSize = new MemStoreSize(dataSize, dataSize, 0); regionServerAccounting.incGlobalMemStoreSize(memstoreSize); assertEquals(FlushType.ABOVE_ONHEAP_LOWER_MARK, regionServerAccounting.isAboveLowWaterMark()); }