@Override public Object call() throws Exception { SortedOplogStatistics stats = HDFSRegionDirector.getInstance().getHdfsRegionStats("/" + regionName); if (isMajor) { assertEquals(0, stats.getMajorCompaction().getCount()); } else { assertEquals(0, stats.getMinorCompaction().getCount()); } return null; } };
public HFileSortedIterator(HFileScanner scan, byte[] from, boolean fromInclusive, byte[] to, boolean toInclusive) throws IOException { this.scan = scan; this.from = from; this.fromInclusive = fromInclusive; this.to = to; this.toInclusive = toInclusive; scanStat = (stats == null) ? new SortedOplogStatistics("", "").new ScanOperation( 0, 0, 0, 0, 0, 0, 0) : stats.getScan(); scanStart = scanStat.begin(); if (scan == null) { return; } assert from == null || to == null || scan.getReader().getComparator().compare( from, 0, from.length, to, 0, to.length) <= 0; initIterator(); }
protected void markAsInactive(Iterable<TrackedReference<SortedOplogReader>> snapshot, T attach) throws IOException { for (Iterator<TrackedReference<SortedOplogReader>> iter = snapshot.iterator(); iter.hasNext(); ) { TrackedReference<SortedOplogReader> tr = iter.next(); if (logger.fineEnabled()) { logger.fine(String.format("Marking %s as inactive", tr)); } inactive.add(tr); tracker.fileRemoved(tr.get().getFile(), attach); factory.getConfiguration().getStatistics().incActiveFiles(-1); factory.getConfiguration().getStatistics().incInactiveFiles(1); } }
@Override public Object call() throws Exception { SortedOplogStatistics stats = HDFSRegionDirector.getInstance().getHdfsRegionStats("/" + regionName); return stats.getRead().getCount(); } };
assertEquals(0, stats.getFlush().getCount()); assertEquals(0, stats.getFlush().getBytes()); assertEquals(0, stats.getActiveFileCount()); int bytesSent = 0; for (int j = 0; j < 5; j++) { assertEquals(j + 1, stats.getFlush().getCount()); assertTrue(stats.getFlush().getBytes() > bytesSent); assertEquals(j + 1, stats.getActiveFileCount()); assertEquals(0, stats.getMinorCompaction().getCount()); assertEquals(0, stats.getMinorCompaction().getBytes()); assertEquals(0, stats.getInactiveFileCount()); bucket.getCompactor().compact(false, false); assertEquals(1, stats.getMinorCompaction().getCount()); assertEquals(1, stats.getActiveFileCount()); assertEquals(0, stats.getInactiveFileCount()); assertEquals(stats.getMinorCompaction().getBytes(), stats.getFlush() .getBytes());
@Override public ByteBuffer read(byte[] key) throws IOException { assert key != null; if (logger.finestEnabled()) { logger.finest(String.format("Reading key %s from %s", Hex.toHex(key), path)); } long start = sopConfig.getStatistics().getRead().begin(); try { HFileScanner seek = reader.getScanner(true, true); if (seek.seekTo(key) == 0) { ByteBuffer val = seek.getValue(); sopConfig.getStatistics().getRead().end(val.remaining(), start); return val; } sopConfig.getStatistics().getRead().end(start); sopConfig.getStatistics().getBloom().falsePositive(); return null; } catch (IOException e) { sopConfig.getStatistics().getRead().error(start); throw (IOException) e.fillInStackTrace(); } }
private void handleError(Exception e, AtomicBoolean aborted) { if (lockOrAbort(aborted)) { try { unflushed.removeFirstOccurrence(buffer); } finally { rwlock.writeLock().unlock(); } } handler.error(e); factory.getConfiguration().getStatistics().getFlush().error(start); }
/** * @param listener * listener of change events like file creation and deletion * @param hdfsRegionDirector */ HdfsRegionManager(LocalRegion region, HDFSStoreImpl store, HoplogListener listener, StatisticsFactory statsFactory, HDFSRegionDirector hdfsRegionDirector) { bucketOrganizerMap = new ConcurrentHashMap<Integer, HoplogOrganizer>(); this.region = region; this.listener = listener; this.store = store; this.hdfsStats = new SortedOplogStatistics(statsFactory, "HDFSRegionStatistics", region.getFullPath()); this.hdfsRegionDirector = hdfsRegionDirector; }
@Override public long getDiskUsage() { if (soplogStats != null) { return soplogStats.getStoreUsageBytes(); } return ManagementConstants.NOT_AVAILABLE_LONG; }
@Override public void close() { sopConfig.getStatistics().getScan().end(bytes, start); }
/** * Validates two buckets belonging to same region update the same stats */ public void testRegionBucketShareStats() throws Exception { HoplogOrganizer bucket1 = regionManager.create(0); HoplogOrganizer bucket2 = regionManager.create(1); // validate flush stats assertEquals(0, stats.getFlush().getCount()); assertEquals(0, stats.getActiveFileCount()); ArrayList<TestEvent> items = new ArrayList<TestEvent>(); for (int i = 0; i < 100; i++) { items.add(new TestEvent("key-" + i, "value-" + System.nanoTime())); } bucket1.flush(items.iterator(), 100); assertEquals(1, stats.getFlush().getCount()); assertEquals(1, stats.getActiveFileCount()); items.clear(); for (int i = 0; i < 100; i++) { items.add(new TestEvent("key-" + i, "value-" + System.nanoTime())); } bucket2.flush(items.iterator(), 100); assertEquals(2, stats.getFlush().getCount()); assertEquals(2, stats.getActiveFileCount()); }
@Override public boolean add(TrackedReference<Hoplog> e) { // increment number of hoplogs active for this bucket boolean result = super.add(e); if (result) stats.incActiveFiles(1); return result; }
long start = factory.getConfiguration().getStatistics().getMinorCompaction().begin(); try { compacted |= level.compact(aborted); factory.getConfiguration().getStatistics().getMinorCompaction().end(start); factory.getConfiguration().getStatistics().getMinorCompaction().error(start);
@Override public Object call() throws Exception { final SortedOplogStatistics stats = HDFSRegionDirector.getInstance().getHdfsRegionStats("/" + regionName); assertTrue(stats.getMajorCompaction().getCount() > 0); return null; } };
public HDFSRegionBridge(Region<K, V> region) { super(region); HDFSRegionDirector director = HDFSRegionDirector.getInstance(); String regionFullPath = region.getFullPath(); this.soplogStats = director.getHdfsRegionStats(regionFullPath); this.hdfsRegionMonitor = new MBeanStatsMonitor(HDFS_REGION_MONITOR + "_" + regionFullPath); hdfsRegionMonitor.addStatisticsToMonitor(soplogStats.getStats()); this.parRegion = (PartitionedRegion)region; configureHDFSRegionMetrics(); }
@Override public Object call() throws Exception { SortedOplogStatistics stats = HDFSRegionDirector.getInstance().getHdfsRegionStats("/" + regionName); return stats.getRead().getCount(); } };
@Override public void abortBeforeRun() { handler.complete(); factory.getConfiguration().getStatistics().getFlush().end(start); }
/** * @param listener * listener of change events like file creation and deletion * @param hdfsRegionDirector */ HdfsRegionManager(LocalRegion region, HDFSStoreImpl store, HoplogListener listener, StatisticsFactory statsFactory, HDFSRegionDirector hdfsRegionDirector) { bucketOrganizerMap = new ConcurrentHashMap<Integer, HoplogOrganizer>(); this.region = region; this.listener = listener; this.store = store; this.hdfsStats = new SortedOplogStatistics(statsFactory, "HDFSRegionStatistics", region.getFullPath()); this.hdfsRegionDirector = hdfsRegionDirector; }
@Override public long getDiskUsage() { if (soplogStats != null) { return soplogStats.getStoreUsageBytes(); } return ManagementConstants.NOT_AVAILABLE_LONG; }