From 84aeb90f68c66f6a6dab18ca665846888314aed5 Mon Sep 17 00:00:00 2001 From: miyuan-ljr Date: Fri, 8 Nov 2024 17:28:57 +0800 Subject: [PATCH 1/2] fix --- .../java/com/alipay/oceanbase/rpc/location/LocationUtil.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alipay/oceanbase/rpc/location/LocationUtil.java b/src/main/java/com/alipay/oceanbase/rpc/location/LocationUtil.java index a78ea8c9..b18074f7 100644 --- a/src/main/java/com/alipay/oceanbase/rpc/location/LocationUtil.java +++ b/src/main/java/com/alipay/oceanbase/rpc/location/LocationUtil.java @@ -920,7 +920,10 @@ public static TableEntry getTableEntryLocationFromRemote(Connection connection, ps.setString(1, key.getTenantName()); ps.setString(2, key.getDatabaseName()); ps.setString(3, key.getTableName()); - ps.setString(4, key.getTenantName()); + if (ObGlobal.obVsnMajor() >= 4) { + // Only for v4. + ps.setString(4, key.getTenantName()); + } rs = ps.executeQuery(); partitionEntry = getPartitionLocationFromResultSet(tableEntry, rs, partitionEntry); } catch (Exception e) { From 395261f4f5bf0424252263e7ed25c591e817392d Mon Sep 17 00:00:00 2001 From: miyuan-ljr Date: Fri, 8 Nov 2024 17:46:57 +0800 Subject: [PATCH 2/2] fix --- src/main/java/com/alipay/oceanbase/rpc/ObTableClient.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alipay/oceanbase/rpc/ObTableClient.java b/src/main/java/com/alipay/oceanbase/rpc/ObTableClient.java index f289bcb0..e8247692 100644 --- a/src/main/java/com/alipay/oceanbase/rpc/ObTableClient.java +++ b/src/main/java/com/alipay/oceanbase/rpc/ObTableClient.java @@ -1956,8 +1956,11 @@ private List> getPartitionReplica(TableEntry table } } else { for (Long partId : partIds) { - long partitionId = ObPartIdCalculator.getPartIdx(partId, tableEntry - .getPartitionInfo().getSubPartDesc().getPartNum()); + long partitionId = partId; + if (tableEntry.getPartitionInfo().getLevel() == ObPartitionLevel.LEVEL_TWO) { + partitionId = ObPartIdCalculator.getPartIdx(partId, tableEntry + .getPartitionInfo().getSubPartDesc().getPartNum()); + } replicas.add(new ObPair(partId, getPartitionLocation( tableEntry, partitionId, route))); }