private List<Callable<Void>> getMultiPutTasksForSingleHost(final InetSocketAddress host, Collection<TableCellAndValue> values, final long timestamp) { Iterable<List<TableCellAndValue>> partitioned = IterablePartitioner.partitionByCountAndBytes(values, getMultiPutBatchCount(), getMultiPutBatchSizeBytes(), extractTableNames(values).toString(), TableCellAndValue.SIZING_FUNCTION); List<Callable<Void>> tasks = Lists.newArrayList(); for (final List<TableCellAndValue> batch : partitioned) { final Set<TableReference> tableRefs = extractTableNames(batch); tasks.add(AnnotatedCallable.wrapWithThreadName(AnnotationType.PREPEND, "Atlas multiPut of " + batch.size() + " cells into " + tableRefs + " on " + host, () -> multiPutForSingleHostInternal(host, tableRefs, batch, timestamp) )); } return tasks; }
private List<Callable<Void>> getMultiPutTasksForSingleHost(final InetSocketAddress host, Collection<TableCellAndValue> values, final long timestamp) { Iterable<List<TableCellAndValue>> partitioned = IterablePartitioner.partitionByCountAndBytes(values, getMultiPutBatchCount(), getMultiPutBatchSizeBytes(), extractTableNames(values).toString(), TableCellAndValue.SIZING_FUNCTION); List<Callable<Void>> tasks = Lists.newArrayList(); for (final List<TableCellAndValue> batch : partitioned) { final Set<TableReference> tableRefs = extractTableNames(batch); tasks.add(AnnotatedCallable.wrapWithThreadName(AnnotationType.PREPEND, "Atlas multiPut of " + batch.size() + " cells into " + tableRefs + " on " + host, () -> multiPutForSingleHostInternal(host, tableRefs, batch, timestamp) )); } return tasks; }