public long getWriteBufferSize() { return this.options.getBulkOptions().getMaxMemory(); }
@Deprecated public Builder() { options = new BulkOptions(); options.asyncMutatorCount = BIGTABLE_ASYNC_MUTATOR_COUNT_DEFAULT; options.useBulkApi = true; options.bulkMaxRowKeyCount = BIGTABLE_BULK_MAX_ROW_KEY_COUNT_DEFAULT; options.bulkMaxRequestSize = BIGTABLE_BULK_MAX_REQUEST_SIZE_BYTES_DEFAULT; options.autoflushMs = BIGTABLE_BULK_AUTOFLUSH_MS_DEFAULT; options.maxInflightRpcs = -1; options.maxMemory = BIGTABLE_MAX_MEMORY_DEFAULT; options.enableBulkMutationThrottling = BIGTABLE_BULK_ENABLE_THROTTLE_REBALANCE_DEFAULT; options.bulkMutationRpcTargetMs = BIGTABLE_BULK_THROTTLE_TARGET_MS_DEFAULT; }
private Builder(BulkOptions options) { this.options = options.clone(); }
BulkMutation( BigtableTableName tableName, BigtableDataClient client, OperationAccountant operationAccountant, ScheduledExecutorService retryExecutorService, BulkOptions bulkOptions) { this.tableName = tableName.toString(); this.client = client; this.retryExecutorService = retryExecutorService; this.operationAccountant = operationAccountant; this.maxRowKeyCount = bulkOptions.getBulkMaxRowKeyCount(); this.maxRequestSize = bulkOptions.getBulkMaxRequestSize(); this.autoflushMs = bulkOptions.getAutoflushMs(); }
private synchronized static ResourceLimiter initializeResourceLimiter(BigtableOptions options) { BigtableInstanceName instanceName = options.getInstanceName(); String key = instanceName.toString(); ResourceLimiter resourceLimiter = resourceLimiterMap.get(key); if (resourceLimiter == null) { int maxInflightRpcs = options.getBulkOptions().getMaxInflightRpcs(); long maxMemory = options.getBulkOptions().getMaxMemory(); ResourceLimiterStats stats = ResourceLimiterStats.getInstance(instanceName); resourceLimiter = new ResourceLimiter(stats, maxMemory, maxInflightRpcs); BulkOptions bulkOptions = options.getBulkOptions(); if (bulkOptions.isEnableBulkMutationThrottling()) { resourceLimiter.throttle(bulkOptions.getBulkMutationRpcTargetMs()); } resourceLimiterMap.put(key, resourceLimiter); } return resourceLimiter; }
int maxInflightRpcs = BulkOptions.BIGTABLE_MAX_INFLIGHT_RPCS_PER_CHANNEL_DEFAULT * options.dataChannelCount; options.bulkOptions = BulkOptions.builder().setMaxInflightRpcs(maxInflightRpcs).build(); } else if (options.bulkOptions.getMaxInflightRpcs() <= 0) { int maxInflightRpcs = BulkOptions.BIGTABLE_MAX_INFLIGHT_RPCS_PER_CHANNEL_DEFAULT * options.dataChannelCount; options.bulkOptions = options.bulkOptions.toBuilder().setMaxInflightRpcs(maxInflightRpcs).build();
@Test public void testWriteWithBigTableOptionsSetsBulkOptionsAndRetryOptions() { final int maxInflightRpcs = 1; final int initialBackoffMillis = -1; BigtableOptions.Builder optionsBuilder = BIGTABLE_OPTIONS.toBuilder(); BulkOptions.Builder bulkOptionsBuilder = new BulkOptions.Builder(); bulkOptionsBuilder.setMaxInflightRpcs(maxInflightRpcs); RetryOptions.Builder retryOptionsBuilder = new RetryOptions.Builder(); retryOptionsBuilder.setInitialBackoffMillis(initialBackoffMillis); optionsBuilder .setBulkOptions(bulkOptionsBuilder.build()) .setRetryOptions(retryOptionsBuilder.build()); BigtableIO.Write write = BigtableIO.write().withBigtableOptions(optionsBuilder.build()); BigtableOptions options = write.getBigtableOptions(); assertEquals(true, options.getBulkOptions().useBulkApi()); assertEquals(maxInflightRpcs, options.getBulkOptions().getMaxInflightRpcs()); assertEquals(initialBackoffMillis, options.getRetryOptions().getInitialBackoffMillis()); assertThat( options.getBulkOptions(), Matchers.equalTo(bulkOptionsBuilder.setUseBulkApi(true).build())); assertThat(options.getRetryOptions(), Matchers.equalTo(retryOptionsBuilder.build())); }
private static void setBulkOptions(final Configuration configuration, BigtableOptions.Builder bigtableOptionsBuilder) { BulkOptions.Builder bulkOptionsBuilder = BulkOptions.builder();
static SerializableFunction<BigtableOptions.Builder, BigtableOptions.Builder> enableBulkApiConfigurator( final @Nullable SerializableFunction<BigtableOptions.Builder, BigtableOptions.Builder> userConfigurator) { return optionsBuilder -> { if (userConfigurator != null) { optionsBuilder = userConfigurator.apply(optionsBuilder); } return optionsBuilder.setBulkOptions( optionsBuilder.build().getBulkOptions().toBuilder().setUseBulkApi(true).build()); }; }
/** * <p>createBulkRead.</p> * * @param tableName a {@link com.google.cloud.bigtable.grpc.BigtableTableName} object. * @return a {@link com.google.cloud.bigtable.grpc.async.BulkRead} object. */ public BulkRead createBulkRead(BigtableTableName tableName) { return new BulkRead(dataClient, tableName, options.getBulkOptions().getBulkMaxRowKeyCount(), BigtableSessionSharedThreadPools.getInstance().getBatchThreadPool() ); }
private static void setBulkOptions(final Configuration configuration, BigtableOptions.Builder bigtableOptionsBuilder) { BulkOptions.Builder bulkOptionsBuilder = BulkOptions.builder();
public long getWriteBufferSize() { return this.options.getBulkOptions().getMaxMemory(); }