diff --git a/src/main/java/com/alipay/oceanbase/rpc/ObTableClient.java b/src/main/java/com/alipay/oceanbase/rpc/ObTableClient.java index 3f71128d..74b4cb62 100644 --- a/src/main/java/com/alipay/oceanbase/rpc/ObTableClient.java +++ b/src/main/java/com/alipay/oceanbase/rpc/ObTableClient.java @@ -904,19 +904,21 @@ public void eraseTableEntry(String tableName) { public void setRpcExecuteTimeout(int rpcExecuteTimeout) { this.properties.put(RPC_EXECUTE_TIMEOUT.getKey(), String.valueOf(rpcExecuteTimeout)); this.rpcExecuteTimeout = rpcExecuteTimeout; - if (tableRoute != null) { - ConcurrentHashMap tableRoster = tableRoute.getTableRoster().getTables(); + if (odpMode) { + ObTable odpTable = tableRoute.getOdpTable(); + if (null != odpTable) { + odpTable.setObTableExecuteTimeout(rpcExecuteTimeout); + } + } else { + TableRoster tableRoster = tableRoute.getTableRoster(); if (null != tableRoster) { - for (ObTable obTable : tableRoster.values()) { - if (obTable != null) { + ConcurrentHashMap addTableMap = tableRoster.getTables(); + for (ObTable obTable : addTableMap.values()) { + if (null != obTable) { obTable.setObTableExecuteTimeout(rpcExecuteTimeout); } } } - ObTable odpTable = tableRoute.getOdpTable(); - if (null != odpTable) { - odpTable.setObTableExecuteTimeout(rpcExecuteTimeout); - } } }