Skip to content

Commit 22eeb36

Browse files
committed
Fix frequent refresh lock failures due to short refresh interval
1 parent 8d60c55 commit 22eeb36

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

src/main/java/com/alipay/oceanbase/rpc/ObTableClient.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1334,10 +1334,9 @@ public TableEntry refreshTableLocationByTabletId(TableEntry tableEntry, String t
13341334
if (tableEntry == null) {
13351335
throw new ObTableEntryRefreshException("Table entry is null, tableName=" + tableName);
13361336
}
1337-
13381337
long lastRefreshTime = tableEntry.getPartitionEntry().getPartitionInfo(tabletId).getLastUpdateTime();
13391338
long currentTime = System.currentTimeMillis();
1340-
if (currentTime - lastRefreshTime < tableEntryRefreshIntervalBase) {
1339+
if (currentTime - lastRefreshTime < tableEntryRefreshLockTimeout) {
13411340
return tableEntry;
13421341
}
13431342

@@ -1364,7 +1363,7 @@ public TableEntry refreshTableLocationByTabletId(TableEntry tableEntry, String t
13641363
RUNTIME.error("RefreshTableEntry encountered an exception", e);
13651364
throw e;
13661365
} catch (Exception e) {
1367-
String errorMsg = String.format("Failed to get table entry. Key=%s, Original TableEntry=%s, TabletId=%d", tableEntryKey, tableEntry, tabletId);
1366+
String errorMsg = String.format("Failed to get table entry. Key=%s, TabletId=%d, message=%s", tableEntryKey, tabletId, e.getMessage());
13681367
RUNTIME.error(LCD.convert("01-00020"), tableEntryKey, tableEntry, e);
13691368
throw new ObTableEntryRefreshException(errorMsg, e);
13701369
}
@@ -2050,11 +2049,6 @@ public List<ObPair<Long, ObTableParam>> getTables(String tableName, ObTableQuery
20502049
}
20512050

20522051
ObTableParam param = new ObTableParam(obTable);
2053-
if (ObGlobal.obVsnMajor() >= 4) {
2054-
long partIdx = tableEntry.getPartIdx(partId);
2055-
partId = tableEntry.isPartitionTable() ? tableEntry.getPartitionInfo()
2056-
.getPartTabletIdMap().get(partIdx) : partId;
2057-
}
20582052
param.setTableId(tableEntry.getTableId());
20592053
// real partition(tablet) id
20602054
param.setPartitionId(partId);

0 commit comments

Comments
 (0)