Skip to content

Commit be83090

Browse files
committed
fix
1 parent df23610 commit be83090

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,17 +1141,20 @@ public ObIndexInfo getOrRefreshIndexInfo(final String indexTableName, boolean fo
11411141
logger.info("index info is not exist, create new index info, indexTableName: {}",
11421142
indexTableName);
11431143
int serverSize = serverRoster.getMembers().size();
1144-
int refreshTryTimes = tableEntryRefreshTryTimes > serverSize ? serverSize
1145-
: tableEntryRefreshTryTimes;
1144+
int refreshTryTimes = Math.min(tableEntryRefreshTryTimes, serverSize);
11461145
for (int i = 0; i < refreshTryTimes; i++) {
11471146
try {
11481147
ObServerAddr serverAddr = serverRoster.getServer(serverAddressPriorityTimeout,
11491148
serverAddressCachingTimeout);
1149+
if (serverAddr.isExpired(serverAddressCachingTimeout)) {
1150+
syncRefreshMetadata(false);
1151+
}
11501152
indexInfo = getIndexInfoFromRemote(serverAddr, sysUA,
11511153
tableEntryAcquireConnectTimeout, tableEntryAcquireSocketTimeout,
11521154
indexTableName);
11531155
if (indexInfo != null) {
11541156
indexinfos.put(indexTableName, indexInfo);
1157+
break;
11551158
} else {
11561159
RUNTIME.error("get index info from remote is null, indexTableName: {}",
11571160
indexTableName);

0 commit comments

Comments
 (0)