Skip to content

Commit c62ec4c

Browse files
authored
Merge pull request #288 from oceanbase/fix_not_recovery
Fix performance not recovery after disaster recovery
2 parents 45b5485 + 96624ad commit c62ec4c

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1152,6 +1152,7 @@ public List<ResultScanner> call() throws IOException {
11521152

11531153
request = buildObTableQueryAsyncRequest(obTableQuery,
11541154
getTargetTableName(tableNameString));
1155+
request.setNeedTabletId(false);
11551156
request.setAllowDistributeScan(false);
11561157
String phyTableName = obTableClient.getPhyTableNameFromTableGroup(
11571158
request.getObTableQueryRequest(), tableNameString);
@@ -1188,6 +1189,7 @@ public List<ResultScanner> call() throws IOException {
11881189
String targetTableName = getTargetTableName(tableNameString, Bytes.toString(family),
11891190
configuration);
11901191
request = buildObTableQueryAsyncRequest(obTableQuery, targetTableName);
1192+
request.setNeedTabletId(false);
11911193
request.setAllowDistributeScan(false);
11921194
List<Partition> partitions = obTableClient
11931195
.getPartition(targetTableName, false);
@@ -2373,6 +2375,7 @@ private BatchOperation buildBatchOperation(String tableName, List<? extends Row>
23732375
}
23742376
batch.setEntityType(ObTableEntityType.HKV);
23752377
batch.setServerCanRetry(OHBaseFuncUtils.serverCanRetry(obTableClient));
2378+
batch.setNeedTabletId(OHBaseFuncUtils.needTabletId(obTableClient));
23762379
return batch;
23772380
}
23782381

@@ -2478,6 +2481,7 @@ private ObTableQueryRequest buildObTableQueryRequest(ObTableQuery obTableQuery,
24782481
request.setTableQuery(obTableQuery);
24792482
request.setTableName(targetTableName);
24802483
request.setServerCanRetry(OHBaseFuncUtils.serverCanRetry(obTableClient));
2484+
request.setNeedTabletId(OHBaseFuncUtils.needTabletId(obTableClient));
24812485
return request;
24822486
}
24832487

@@ -2492,6 +2496,7 @@ private ObTableQueryAsyncRequest buildObTableQueryAsyncRequest(ObTableQuery obTa
24922496
asyncRequest.setTableName(targetTableName);
24932497
asyncRequest.setObTableQueryRequest(request);
24942498
asyncRequest.setServerCanRetry(OHBaseFuncUtils.serverCanRetry(obTableClient));
2499+
asyncRequest.setNeedTabletId(OHBaseFuncUtils.needTabletId(obTableClient));
24952500
return asyncRequest;
24962501
}
24972502

@@ -2507,6 +2512,7 @@ private ObTableQueryAndMutateRequest buildObTableQueryAndMutateRequest(ObTableQu
25072512
request.setEntityType(ObTableEntityType.HKV);
25082513
request.setReturningAffectedEntity(true);
25092514
request.setServerCanRetry(OHBaseFuncUtils.serverCanRetry(obTableClient));
2515+
request.setNeedTabletId(OHBaseFuncUtils.needTabletId(obTableClient));
25102516
return request;
25112517
}
25122518

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,4 +111,15 @@ public static boolean serverCanRetry(ObTableClient tableClient) {
111111
return true;
112112
}
113113
}
114+
115+
public static boolean needTabletId(ObTableClient tableClient) {
116+
if (tableClient.isOdpMode()) {
117+
return ObGlobal.isDistributeNeedTabletIdSupport()
118+
&& ObGlobal.OB_PROXY_VERSION >= ObGlobal.OB_PROXY_VERSION_4_3_6_0
119+
&& tableClient.getServerCapacity().isSupportDistributedExecute();
120+
} else {
121+
return ObGlobal.isDistributeNeedTabletIdSupport()
122+
&& tableClient.getServerCapacity().isSupportDistributedExecute();
123+
}
124+
}
114125
}

0 commit comments

Comments
 (0)