From 7bd41072b47714c6e1a00915f4ff03373b8e5ad4 Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Thu, 29 Jan 2026 10:50:20 -0500 Subject: [PATCH 1/5] deps: update hbase-client version --- .../hbase/BigtableBufferedMutatorHelper.java | 9 +++++++ .../hbase/wrappers/BigtableHBaseSettings.java | 3 +++ .../veneer/BigtableHBaseVeneerSettings.java | 9 +++++++ .../bigtable-hbase-2.x-shaded/pom.xml | 1 + .../bigtable/hbase2_x/BigtableAsyncAdmin.java | 1 + .../BigtableAsyncBufferedMutator.java | 20 ++++++++++++++ .../bigtable/hbase2_x/BigtableConnection.java | 5 ++++ .../hbase/client/BigtableAsyncConnection.java | 26 +++++++++++++++++++ pom.xml | 2 +- 9 files changed, 75 insertions(+), 1 deletion(-) diff --git a/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/BigtableBufferedMutatorHelper.java b/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/BigtableBufferedMutatorHelper.java index 9a3426cdba..6e6594d345 100644 --- a/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/BigtableBufferedMutatorHelper.java +++ b/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/BigtableBufferedMutatorHelper.java @@ -26,6 +26,7 @@ import com.google.cloud.bigtable.hbase.wrappers.BulkMutationWrapper; import com.google.cloud.bigtable.hbase.wrappers.DataClientWrapper; import java.io.IOException; +import java.time.Duration; import java.util.ArrayList; import java.util.List; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -127,6 +128,14 @@ public long getWriteBufferSize() { return this.settings.getBatchingMaxRequestSize(); } + public int getMaxRowKeyCount() { + return this.settings.getBulkMaxRowCount(); + } + + public Duration getAutoFlushInterval() { + return this.settings.getAutoFlushInterval(); + } + public List> mutate(List mutations) { closedReadLock.lock(); try { diff --git a/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/wrappers/BigtableHBaseSettings.java b/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/wrappers/BigtableHBaseSettings.java index 0b6fd56b3b..1653dd9d3f 100644 --- a/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/wrappers/BigtableHBaseSettings.java +++ b/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/wrappers/BigtableHBaseSettings.java @@ -27,6 +27,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; import java.io.IOException; +import java.time.Duration; import java.util.Map; import org.apache.hadoop.conf.Configuration; @@ -101,6 +102,8 @@ public int getTtlSecondsForBackup() { public abstract long getBatchingMaxRequestSize(); + public abstract Duration getAutoFlushInterval(); + // This is equivalent to allow server-side timestamp. public abstract boolean isRetriesWithoutTimestampAllowed(); diff --git a/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/wrappers/veneer/BigtableHBaseVeneerSettings.java b/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/wrappers/veneer/BigtableHBaseVeneerSettings.java index 13e2d791eb..90bf8a193d 100644 --- a/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/wrappers/veneer/BigtableHBaseVeneerSettings.java +++ b/bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/wrappers/veneer/BigtableHBaseVeneerSettings.java @@ -241,6 +241,15 @@ public long getBatchingMaxRequestSize() { return batchingMaxMemory; } + @Override + public java.time.Duration getAutoFlushInterval() { + return dataSettings + .getStubSettings() + .bulkMutateRowsSettings() + .getBatchingSettings() + .getDelayThresholdDuration(); + } + @Override public boolean isRetriesWithoutTimestampAllowed() { return allowRetriesWithoutTimestamp; diff --git a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x-shaded/pom.xml b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x-shaded/pom.xml index 5fc3a28499..23d9c01e28 100644 --- a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x-shaded/pom.xml +++ b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x-shaded/pom.xml @@ -247,6 +247,7 @@ limitations under the License. org.apache.htrace:htrace-core4 commons-logging:commons-logging org.apache.yetus:audience-annotations + jakarta.activation:jakarta.activation-api diff --git a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncAdmin.java b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncAdmin.java index 0a7b948026..e57abac2a6 100644 --- a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncAdmin.java +++ b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncAdmin.java @@ -696,6 +696,7 @@ public Size getStoreFileSize() { return new Size(size, Unit.BYTE); } } + /** Handler for unsupported operations for generating Admin class at runtime. */ public static class UnsupportedOperationsHandler implements InvocationHandler { @Override diff --git a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncBufferedMutator.java b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncBufferedMutator.java index 7eeec43358..790dcfed19 100644 --- a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncBufferedMutator.java +++ b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncBufferedMutator.java @@ -24,7 +24,9 @@ import com.google.cloud.bigtable.hbase.wrappers.BigtableHBaseSettings; import java.io.IOException; import java.util.List; +import java.util.Map; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.TableName; @@ -88,6 +90,24 @@ public long getWriteBufferSize() { return helper.getWriteBufferSize(); } + /** {@inheritDoc} */ + @Override + public int getMaxMutations() { + return helper.getMaxRowKeyCount(); + } + + /** {@inheritDoc} */ + @Override + public long getPeriodicalFlushTimeout(TimeUnit unit) { + return unit.convert(helper.getAutoFlushInterval().toNanos(), TimeUnit.NANOSECONDS); + } + + /** {@inheritDoc} */ + @Override + public Map getRequestAttributes() { + throw new UnsupportedOperationException("not implemented"); + } + /** {@inheritDoc} */ @Override public List> mutate(List mutations) { diff --git a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableConnection.java b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableConnection.java index e2b9df215a..184c1f8453 100644 --- a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableConnection.java +++ b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableConnection.java @@ -111,6 +111,11 @@ public TableBuilder setOperationTimeout(int arg0) { return this; } + @Override + public TableBuilder setRequestAttribute(String s, byte[] bytes) { + throw new UnsupportedOperationException("not implemented"); + } + @Override public Table build() { try { diff --git a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableAsyncConnection.java b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableAsyncConnection.java index 27aa6f3434..1b52eb7b49 100644 --- a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableAsyncConnection.java +++ b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableAsyncConnection.java @@ -201,6 +201,11 @@ public AsyncBufferedMutatorBuilder setMaxKeyValueSize(int i) { return this; } + @Override + public AsyncBufferedMutatorBuilder setMaxMutations(int i) { + return this; + } + @Override public AsyncBufferedMutatorBuilder setStartLogErrorsCnt(int arg0) { return this; @@ -259,6 +264,12 @@ public AsyncTableBuilder setStartLogErrorsCnt(int ar return this; } + @Override + public AsyncTableBuilder setRequestAttribute( + String s, byte[] bytes) { + return this; + } + @Override public AsyncTableBuilder setScanTimeout( long arg0, TimeUnit arg1) { @@ -304,6 +315,11 @@ public AsyncTableBuilder setRetryPauseForServerOverl return this; } + @Override + public AsyncTableBuilder setMaxRetries(int maxRetries) { + return this; + } + @Override public AsyncTable build() { return new BigtableAsyncTable(BigtableAsyncConnection.this, createAdapter(tableName)); @@ -371,6 +387,11 @@ public AsyncTableBuilder setStartLogErrorsCnt(int arg0) { return this; } + @Override + public AsyncTableBuilder setRequestAttribute(String s, byte[] bytes) { + return this; + } + @Override public AsyncTableBuilder setWriteRpcTimeout(long arg0, TimeUnit arg1) { return this; @@ -381,6 +402,11 @@ public AsyncTableBuilder setRetryPauseForServerOverloaded( long l, TimeUnit timeUnit) { return this; } + + @Override + public AsyncTableBuilder setMaxRetries(int maxRetries) { + return this; + } }; } diff --git a/pom.xml b/pom.xml index f1898b6206..e7161033f4 100644 --- a/pom.xml +++ b/pom.xml @@ -66,7 +66,7 @@ limitations under the License. 1.7.2 - 2.5.7-hadoop3 + 2.6.4-hadoop3 2.28.2 From 9d923c15444b862c1c4a40409c1fe65f8d9d419d Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Thu, 29 Jan 2026 11:51:30 -0500 Subject: [PATCH 2/5] ignore deps --- .../bigtable-hbase-2.x-mapreduce/pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x-mapreduce/pom.xml b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x-mapreduce/pom.xml index 96750739af..8cd457a026 100644 --- a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x-mapreduce/pom.xml +++ b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x-mapreduce/pom.xml @@ -188,6 +188,12 @@ limitations under the License. org.apache.hbase:hbase-mapreduce + + + javax.activation:activation + javax.xml.bind:jaxb-api + javax.xml.stream:stax-api + From 85b1625bcd625f4b48cbbde421873e4df74c1d3a Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Thu, 29 Jan 2026 13:42:33 -0500 Subject: [PATCH 3/5] update --- .../cloud/bigtable/beam/hbasesnapshots/EndToEndIT.java | 10 ++++++++-- .../cloud/bigtable/beam/it/CloudBigtableBeamIT.java | 3 +++ .../cloud/bigtable/beam/sequencefiles/EndToEndIT.java | 10 ++++++++-- .../cloud/bigtable/hbase2_x/BigtableAsyncAdmin.java | 5 +++++ .../cloud/bigtable/hbase2_x/BigtableConnection.java | 9 ++++++++- 5 files changed, 32 insertions(+), 5 deletions(-) diff --git a/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/hbasesnapshots/EndToEndIT.java b/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/hbasesnapshots/EndToEndIT.java index 10f51e7ec8..47104c2054 100644 --- a/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/hbasesnapshots/EndToEndIT.java +++ b/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/hbasesnapshots/EndToEndIT.java @@ -26,6 +26,7 @@ import com.google.cloud.bigtable.beam.validation.SyncTableJob; import com.google.cloud.bigtable.beam.validation.SyncTableJob.SyncTableOptions; import com.google.cloud.bigtable.hbase.BigtableConfiguration; +import com.google.cloud.bigtable.hbase.BigtableOptionsFactory; import com.google.common.base.Preconditions; import com.google.common.io.ByteStreams; import java.io.BufferedReader; @@ -54,6 +55,7 @@ import org.apache.beam.sdk.metrics.MetricQueryResults; import org.apache.beam.sdk.options.PipelineOptionsFactory; import org.apache.beam.sdk.options.ValueProvider.StaticValueProvider; +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HConstants; @@ -122,9 +124,13 @@ public void setup() throws Exception { uploadFixture(gcsUtil, SNAPSHOT_FIXTURE_NAME, fixtureDir); + // Disable CSM to reduce noise in the test output + Configuration config = + BigtableConfiguration.configure(properties.getProjectId(), properties.getInstanceId()); + config.set(BigtableOptionsFactory.BIGTABLE_ENABLE_CLIENT_SIDE_METRICS, "false"); + // Bigtable config - connection = - BigtableConfiguration.connect(properties.getProjectId(), properties.getInstanceId()); + connection = BigtableConfiguration.connect(config); // TODO: use timebased names to allow for gc tableId = "test_" + UUID.randomUUID(); diff --git a/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/it/CloudBigtableBeamIT.java b/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/it/CloudBigtableBeamIT.java index e813e2fea2..b5d66f1dad 100644 --- a/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/it/CloudBigtableBeamIT.java +++ b/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/it/CloudBigtableBeamIT.java @@ -26,6 +26,7 @@ import com.google.cloud.bigtable.beam.test_env.EnvSetup; import com.google.cloud.bigtable.beam.test_env.TestProperties; import com.google.cloud.bigtable.hbase.BigtableConfiguration; +import com.google.cloud.bigtable.hbase.BigtableOptionsFactory; import java.io.IOException; import java.io.Serializable; import java.util.ArrayList; @@ -112,6 +113,8 @@ public void setUp() throws IOException { properties .getAdminEndpoint() .ifPresent(endpoint -> config.set(BIGTABLE_ADMIN_HOST_KEY, endpoint)); + // Disable CSM to reduce noise in the test output + config.set(BigtableOptionsFactory.BIGTABLE_ENABLE_CLIENT_SIDE_METRICS, "false"); connection = BigtableConfiguration.connect(config); diff --git a/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/sequencefiles/EndToEndIT.java b/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/sequencefiles/EndToEndIT.java index 33828f69da..d5f5617fef 100644 --- a/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/sequencefiles/EndToEndIT.java +++ b/bigtable-dataflow-parent/bigtable-beam-import/src/test/java/com/google/cloud/bigtable/beam/sequencefiles/EndToEndIT.java @@ -22,6 +22,7 @@ import com.google.cloud.bigtable.beam.test_env.EnvSetup; import com.google.cloud.bigtable.beam.test_env.TestProperties; import com.google.cloud.bigtable.hbase.BigtableConfiguration; +import com.google.cloud.bigtable.hbase.BigtableOptionsFactory; import com.google.common.collect.ImmutableList; import com.google.common.collect.Sets; import com.google.common.truth.Correspondence; @@ -38,6 +39,7 @@ import org.apache.beam.sdk.extensions.gcp.util.gcsfs.GcsPath; import org.apache.beam.sdk.options.PipelineOptionsFactory; import org.apache.beam.sdk.options.ValueProvider.StaticValueProvider; +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.TableName; @@ -89,9 +91,13 @@ public void setup() throws Exception { properties.applyTo(gcpOptions); gcsUtil = new GcsUtil.GcsUtilFactory().create(gcpOptions); + // Disable CSM to reduce noise in the test output + Configuration config = + BigtableConfiguration.configure(properties.getProjectId(), properties.getInstanceId()); + config.set(BigtableOptionsFactory.BIGTABLE_ENABLE_CLIENT_SIDE_METRICS, "false"); + // Bigtable config - connection = - BigtableConfiguration.connect(properties.getProjectId(), properties.getInstanceId()); + connection = BigtableConfiguration.connect(config); // TODO: support endpoints } diff --git a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncAdmin.java b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncAdmin.java index e57abac2a6..2962a6c657 100644 --- a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncAdmin.java +++ b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableAsyncAdmin.java @@ -695,6 +695,11 @@ public int getStoreFileCount() { public Size getStoreFileSize() { return new Size(size, Unit.BYTE); } + + @Override + public Size getMemStoreSize() { + return new Size(size, Unit.BYTE); + } } /** Handler for unsupported operations for generating Admin class at runtime. */ diff --git a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableConnection.java b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableConnection.java index 184c1f8453..32eb3eafb9 100644 --- a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableConnection.java +++ b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/com/google/cloud/bigtable/hbase2_x/BigtableConnection.java @@ -22,6 +22,7 @@ import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.List; +import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ExecutorService; import org.apache.hadoop.conf.Configuration; @@ -58,7 +59,13 @@ public BigtableConnection(Configuration conf) throws IOException { public BigtableConnection(Configuration conf, ExecutorService pool, User user) throws IOException { - super(conf); + super(conf, false, pool, user); + } + + public BigtableConnection( + Configuration conf, ExecutorService pool, User user, Map connectionAttributes) + throws IOException { + super(conf, false, pool, user); } /** From ff854eac18fc48f2139c53aea34e393bcf1f5590 Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Thu, 29 Jan 2026 14:31:59 -0500 Subject: [PATCH 4/5] add ctor --- .../hadoop/hbase/client/BigtableConnectionRegistry.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableConnectionRegistry.java b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableConnectionRegistry.java index 8d5b09890d..7c742fa068 100644 --- a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableConnectionRegistry.java +++ b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableConnectionRegistry.java @@ -20,6 +20,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.RegionLocations; import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.security.User; /** Implementation for `hbase.client.registry.impl` for HBase >= 2.3 */ @InternalApi @@ -32,6 +33,10 @@ public BigtableConnectionRegistry(Configuration ignored) { // noop } + public BigtableConnectionRegistry(Configuration ignored, User user) { + // noop + } + @Override public CompletableFuture getMetaRegionLocations() { throw new UnsupportedOperationException(); From 2a4e18f537fd12441cbf78c5d882d5afa32c846c Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Wed, 4 Feb 2026 22:25:51 -0500 Subject: [PATCH 5/5] add ctor --- .../apache/hadoop/hbase/client/BigtableAsyncConnection.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableAsyncConnection.java b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableAsyncConnection.java index 1b52eb7b49..6c45a53e95 100644 --- a/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableAsyncConnection.java +++ b/bigtable-hbase-2.x-parent/bigtable-hbase-2.x/src/main/java/org/apache/hadoop/hbase/client/BigtableAsyncConnection.java @@ -37,6 +37,7 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CopyOnWriteArrayList; @@ -76,6 +77,11 @@ public BigtableAsyncConnection(Configuration conf) throws IOException { this(conf, null, null, null); } + public BigtableAsyncConnection( + Configuration conf, final User ignoredUser, Map ignored) throws IOException { + this(conf, null, null, null); + } + // This constructor is used in HBase 2 version < 2.3 public BigtableAsyncConnection( Configuration conf, Object ignoredAsyncRegistry, String ignoredClusterId, User ignoredUser)