Skip to content

Commit e555a80

Browse files
committed
fix: truncate retry fail
1 parent 88f7f72 commit e555a80

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public class ObTableClient extends AbstractObTableClient implements Lifecycle {
128128
/*
129129
* TableName -> Failures/Lock
130130
*/
131-
public ConcurrentHashMap<String, AtomicLong> tableContinuousFailures = new ConcurrentHashMap<String, AtomicLong>();
131+
private ConcurrentHashMap<String, AtomicLong> tableContinuousFailures = new ConcurrentHashMap<String, AtomicLong>();
132132

133133
private ConcurrentHashMap<String, Lock> refreshTableLocks = new ConcurrentHashMap<String, Lock>();
134134

@@ -788,6 +788,13 @@ public void calculateContinuousFailure(String tableName, String errorMsg) throws
788788
}
789789
}
790790

791+
public void resetContinuousFailureByTableName(String tableName) {
792+
tableContinuousFailures.computeIfPresent(tableName, (k, v) -> {
793+
v.set(0);
794+
return v;
795+
});
796+
}
797+
791798
/**
792799
* Reset execute continuous failure count.
793800
* @param tableName table name

src/main/java/com/alipay/oceanbase/rpc/table/ObTableClientBatchOpsImpl.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -385,10 +385,8 @@ public void partitionExecute(ObTableOperationResult[] results,
385385
if (ex instanceof ObTableRoutingWrongException) {
386386
System.out.println("need fetchAll refresh");
387387
obTableClient.getOrRefreshTableEntry(tableName, true, obTableClient.isTableEntryRefreshIntervalWait(), true);
388-
obTableClient.tableContinuousFailures.computeIfPresent(tableName, (k, v) -> {
389-
v.set(0);
390-
return v;
391-
});
388+
// reset failure count while fetch all route info
389+
obTableClient.resetContinuousFailureByTableName(tableName);
392390
}
393391
} else {
394392
obTableClient.calculateContinuousFailure(tableName, ex.getMessage());

0 commit comments

Comments
 (0)