diff --git a/src/main/java/com/alipay/oceanbase/rpc/location/model/TableRoute.java b/src/main/java/com/alipay/oceanbase/rpc/location/model/TableRoute.java index 8e2b1068..3df36ad6 100644 --- a/src/main/java/com/alipay/oceanbase/rpc/location/model/TableRoute.java +++ b/src/main/java/com/alipay/oceanbase/rpc/location/model/TableRoute.java @@ -107,10 +107,15 @@ public void close() throws ObTableCloseException { if (routeRefresher != null) { routeRefresher.close(); } - tableRoster.closeRoster(); - ObTable odpTable = getOdpTable(); - if (odpTable != null) { - odpTable.close(); + if (tableClient.isOdpMode()) { + ObTable odpTable = getOdpTable(); + if (odpTable != null) { + odpTable.close(); + } + } else { + if (tableRoster != null) { + tableRoster.closeRoster(); + } } }