Skip to content

Commit a2103d8

Browse files
authored
Correctly close OHTable to avoid database credentials reused (#138)
* fix connection re-used between files because of incorrect close * close all obTableClient when closing OHTable and clear cache * patch fix database credential re-use bugfix to master
1 parent 677f3fb commit a2103d8

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/main/java/com/alipay/oceanbase/hbase/OHTable.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1457,6 +1457,7 @@ public void close() throws IOException {
14571457
if (cleanupPoolOnClose) {
14581458
executePool.shutdown();
14591459
}
1460+
ObTableClientManager.clear();
14601461
}
14611462

14621463
@Override

src/main/java/com/alipay/oceanbase/hbase/util/ObTableClientManager.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,17 @@ public static ObTableClient getOrCreateObTableClient(ObTableClientKey obTableCli
128128
return OB_TABLE_CLIENT_INSTANCE.get(obTableClientKey);
129129
}
130130

131+
public static void clear() throws IOException {
132+
try {
133+
for (Map.Entry<ObTableClientKey, ObTableClient> pair : OB_TABLE_CLIENT_INSTANCE.entrySet()) {
134+
pair.getValue().close();
135+
}
136+
} catch (Exception e) {
137+
throw new IOException("fail to close tableClient" , e);
138+
}
139+
OB_TABLE_CLIENT_INSTANCE.clear();
140+
}
141+
131142
public static class ObTableClientKey {
132143
private String paramUrl;
133144
private String fullUserName;

0 commit comments

Comments
 (0)