public void shutDown() { // Shutdown partition accessors for (PartitionAccessor partitionAccessor : partitionAccessors) { if (partitionAccessor != null) { partitionAccessor.shutDown(); } } }
public RuntimeStatisticsAggregator getRuntimeStatistics() { RuntimeStatisticsAggregator runtimeStatisticsAggregator = new RuntimeStatisticsAggregator(); for (PartitionAccessor partitionAccessor : partitionAccessors) { if (partitionAccessor != null) { runtimeStatisticsAggregator.add(partitionAccessor.getRuntimeStatistics()); } } runtimeStatisticsAggregator.setGetRequestsPopulationStatistics( getRequestsTimerAggregator.getAndResetPopulationStatistics()); return runtimeStatisticsAggregator; } }
public HankResponse get(ByteBuffer key, ReaderResult result) throws IOException { HankTimer timer = getRequestsTimerAggregator.getTimer(); try { int partition = partitioner.partition(key, partitionAccessors.length); PartitionAccessor partitionAccessor = partitionAccessors[partition]; if (partitionAccessor == null) { LOG.error("Failed to perform get because of an Exception: wrong host for domain: " + hostDomain.getDomain().getName() + ", partition: " + partition + ", key: " + BytesUtils.bytesToHexString(key) + ", response: " + WRONG_HOST); return WRONG_HOST; } return partitionAccessor.get(key, result); } finally { getRequestsTimerAggregator.add(timer); } }
partitionAccessors[partition.getPartitionNumber()] = new PartitionAccessor(partition, reader);