From c08a2c884cd344d7f96366ff724931caf818c656 Mon Sep 17 00:00:00 2001 From: JackShi148 Date: Wed, 3 Sep 2025 18:09:30 +0800 Subject: [PATCH 1/2] add NeedTabletId flag --- src/main/java/com/alipay/oceanbase/hbase/OHTable.java | 4 ++++ .../alipay/oceanbase/hbase/util/OHBaseFuncUtils.java | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/main/java/com/alipay/oceanbase/hbase/OHTable.java b/src/main/java/com/alipay/oceanbase/hbase/OHTable.java index 9ccedada..3204a30f 100644 --- a/src/main/java/com/alipay/oceanbase/hbase/OHTable.java +++ b/src/main/java/com/alipay/oceanbase/hbase/OHTable.java @@ -2373,6 +2373,7 @@ private BatchOperation buildBatchOperation(String tableName, List } batch.setEntityType(ObTableEntityType.HKV); batch.setServerCanRetry(OHBaseFuncUtils.serverCanRetry(obTableClient)); + batch.setNeedTabletId(OHBaseFuncUtils.needTabletId(obTableClient)); return batch; } @@ -2478,6 +2479,7 @@ private ObTableQueryRequest buildObTableQueryRequest(ObTableQuery obTableQuery, request.setTableQuery(obTableQuery); request.setTableName(targetTableName); request.setServerCanRetry(OHBaseFuncUtils.serverCanRetry(obTableClient)); + request.setNeedTabletId(OHBaseFuncUtils.needTabletId(obTableClient)); return request; } @@ -2492,6 +2494,7 @@ private ObTableQueryAsyncRequest buildObTableQueryAsyncRequest(ObTableQuery obTa asyncRequest.setTableName(targetTableName); asyncRequest.setObTableQueryRequest(request); asyncRequest.setServerCanRetry(OHBaseFuncUtils.serverCanRetry(obTableClient)); + asyncRequest.setNeedTabletId(OHBaseFuncUtils.needTabletId(obTableClient)); return asyncRequest; } @@ -2507,6 +2510,7 @@ private ObTableQueryAndMutateRequest buildObTableQueryAndMutateRequest(ObTableQu request.setEntityType(ObTableEntityType.HKV); request.setReturningAffectedEntity(true); request.setServerCanRetry(OHBaseFuncUtils.serverCanRetry(obTableClient)); + request.setNeedTabletId(OHBaseFuncUtils.needTabletId(obTableClient)); return request; } diff --git a/src/main/java/com/alipay/oceanbase/hbase/util/OHBaseFuncUtils.java b/src/main/java/com/alipay/oceanbase/hbase/util/OHBaseFuncUtils.java index d9931888..61b4ef65 100644 --- a/src/main/java/com/alipay/oceanbase/hbase/util/OHBaseFuncUtils.java +++ b/src/main/java/com/alipay/oceanbase/hbase/util/OHBaseFuncUtils.java @@ -111,4 +111,15 @@ public static boolean serverCanRetry(ObTableClient tableClient) { return true; } } + + public static boolean needTabletId(ObTableClient tableClient) { + if (tableClient.isOdpMode()) { + return ObGlobal.isDistributeNeedTabletIdSupport() + && ObGlobal.OB_PROXY_VERSION >= ObGlobal.OB_PROXY_VERSION_4_3_6_0 + && tableClient.getServerCapacity().isSupportDistributedExecute(); + } else { + return ObGlobal.isDistributeNeedTabletIdSupport() + && tableClient.getServerCapacity().isSupportDistributedExecute(); + } + } } From 96624ad7b7e91c834eb4fd4030d0a3af92e03a9e Mon Sep 17 00:00:00 2001 From: JackShi148 Date: Wed, 10 Sep 2025 12:14:32 +0800 Subject: [PATCH 2/2] fix getscanners bug --- src/main/java/com/alipay/oceanbase/hbase/OHTable.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/alipay/oceanbase/hbase/OHTable.java b/src/main/java/com/alipay/oceanbase/hbase/OHTable.java index 3204a30f..5efbb7f7 100644 --- a/src/main/java/com/alipay/oceanbase/hbase/OHTable.java +++ b/src/main/java/com/alipay/oceanbase/hbase/OHTable.java @@ -1152,6 +1152,7 @@ public List call() throws IOException { request = buildObTableQueryAsyncRequest(obTableQuery, getTargetTableName(tableNameString)); + request.setNeedTabletId(false); request.setAllowDistributeScan(false); String phyTableName = obTableClient.getPhyTableNameFromTableGroup( request.getObTableQueryRequest(), tableNameString); @@ -1188,6 +1189,7 @@ public List call() throws IOException { String targetTableName = getTargetTableName(tableNameString, Bytes.toString(family), configuration); request = buildObTableQueryAsyncRequest(obTableQuery, targetTableName); + request.setNeedTabletId(false); request.setAllowDistributeScan(false); List partitions = obTableClient .getPartition(targetTableName, false);