diff --git a/src/main/java/com/alipay/oceanbase/rpc/protocol/payload/impl/execute/query/AbstractQueryStreamResult.java b/src/main/java/com/alipay/oceanbase/rpc/protocol/payload/impl/execute/query/AbstractQueryStreamResult.java index b4d2bc92..5c8a8676 100644 --- a/src/main/java/com/alipay/oceanbase/rpc/protocol/payload/impl/execute/query/AbstractQueryStreamResult.java +++ b/src/main/java/com/alipay/oceanbase/rpc/protocol/payload/impl/execute/query/AbstractQueryStreamResult.java @@ -155,7 +155,6 @@ protected ObPayload commonExecute(ObTableClient client, Logger logger, result = subObTable.executeWithConnection(request, connectionRef); } else { result = subObTable.execute(request); - if (result != null && result.getPcode() == Pcodes.OB_TABLE_API_MOVE) { ObTableApiMove moveResponse = (ObTableApiMove) result; client.getRouteTableRefresher().addTableIfAbsent(indexTableName, true); @@ -258,7 +257,7 @@ protected ObPayload commonExecute(ObTableClient client, Logger logger, ((ObTableException) e).getErrorCode(), tryTimes, e); // tablet not exists, refresh table entry if (e instanceof ObTableNeedFetchAllException) { - client.getOrRefreshTableEntry(tableName, true, true, true); + client.getOrRefreshTableEntry(indexTableName, true, true, true); throw e; } } else { @@ -576,7 +575,8 @@ public void init() throws Exception { RUNTIME.error("Fail to get refresh table entry response after {}", retryTimes); throw new ObTableRetryExhaustedException( - "Fail to get refresh table entry response after " + retryTimes); + "Fail to get refresh table entry response after " + retryTimes + + "errorCode:" + ((ObTableNeedFetchAllException) e).getErrorCode()); } } else { diff --git a/src/main/java/com/alipay/oceanbase/rpc/stream/ObTableClientQueryAsyncStreamResult.java b/src/main/java/com/alipay/oceanbase/rpc/stream/ObTableClientQueryAsyncStreamResult.java index e5b90458..fe6c9717 100644 --- a/src/main/java/com/alipay/oceanbase/rpc/stream/ObTableClientQueryAsyncStreamResult.java +++ b/src/main/java/com/alipay/oceanbase/rpc/stream/ObTableClientQueryAsyncStreamResult.java @@ -88,7 +88,8 @@ public void init() throws Exception { RUNTIME.error("Fail to get refresh table entry response after {}", retryTimes); throw new ObTableRetryExhaustedException( - "Fail to get refresh table entry response after " + retryTimes); + "Fail to get refresh table entry response after " + retryTimes + + "errorCode:" + ((ObTableNeedFetchAllException) e).getErrorCode()); } } else { diff --git a/src/main/java/com/alipay/oceanbase/rpc/table/ObTableClientQueryImpl.java b/src/main/java/com/alipay/oceanbase/rpc/table/ObTableClientQueryImpl.java index 7ff2a8c9..d460bde6 100644 --- a/src/main/java/com/alipay/oceanbase/rpc/table/ObTableClientQueryImpl.java +++ b/src/main/java/com/alipay/oceanbase/rpc/table/ObTableClientQueryImpl.java @@ -244,7 +244,6 @@ ObTableClientQueryAsyncStreamResult execute() throws Exception { public Map> initPartitions(ObTableQuery tableQuery, String tableName) throws Exception { Map> partitionObTables = new LinkedHashMap<>(); String indexName = tableQuery.getIndexName(); - String indexTableName = null; if (!this.obTableClient.isOdpMode()) { indexTableName = obTableClient.getIndexTableName(tableName, indexName, tableQuery.getScanRangeColumns(), false);