Skip to content

Commit 4a54421

Browse files
committed
Optimized the lock for encoding & compressor's invalidate cache (#16733)
* fix * jr
1 parent 04361a2 commit 4a54421

File tree

3 files changed

+6
-4
lines changed

3 files changed

+6
-4
lines changed

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterEncodingCompressorProcedure.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ protected Flow executeFromState(
127127
break;
128128
case CLEAR_CACHE:
129129
LOGGER.info("Invalidate cache of timeSeries {}", requestMessage);
130-
invalidateCache(env, patternTreeBytes, requestMessage, this::setFailure);
130+
invalidateCache(env, patternTreeBytes, requestMessage, this::setFailure, false);
131131
collectPayload4Pipe(env);
132132
return Flow.NO_MORE_STATE;
133133
default:

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteTimeSeriesProcedure.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ protected Flow executeFromState(
117117
}
118118
case CLEAN_DATANODE_SCHEMA_CACHE:
119119
LOGGER.info("Invalidate cache of timeSeries {}", requestMessage);
120-
invalidateCache(env, patternTreeBytes, requestMessage, this::setFailure);
120+
invalidateCache(env, patternTreeBytes, requestMessage, this::setFailure, true);
121121
setNextState(DeleteTimeSeriesState.DELETE_DATA);
122122
break;
123123
case DELETE_DATA:
@@ -199,13 +199,14 @@ public static void invalidateCache(
199199
final ConfigNodeProcedureEnv env,
200200
final ByteBuffer patternTreeBytes,
201201
final String requestMessage,
202-
final Consumer<ProcedureException> setFailure) {
202+
final Consumer<ProcedureException> setFailure,
203+
final boolean needLock) {
203204
final Map<Integer, TDataNodeLocation> dataNodeLocationMap =
204205
env.getConfigManager().getNodeManager().getRegisteredDataNodeLocations();
205206
final DataNodeAsyncRequestContext<TInvalidateMatchedSchemaCacheReq, TSStatus> clientHandler =
206207
new DataNodeAsyncRequestContext<>(
207208
CnToDnAsyncRequestType.INVALIDATE_MATCHED_SCHEMA_CACHE,
208-
new TInvalidateMatchedSchemaCacheReq(patternTreeBytes),
209+
new TInvalidateMatchedSchemaCacheReq(patternTreeBytes).setNeedLock(needLock),
209210
dataNodeLocationMap);
210211
CnToDnInternalServiceAsyncRequestManager.getInstance().sendAsyncRequestWithRetry(clientHandler);
211212
final Map<Integer, TSStatus> statusMap = clientHandler.getResponseMap();

iotdb-protocol/thrift-datanode/src/main/thrift/datanode.thrift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@ struct TRollbackSchemaBlackListReq {
359359

360360
struct TInvalidateMatchedSchemaCacheReq {
361361
1: required binary pathPatternTree
362+
2: optional bool needLock
362363
}
363364

364365
struct TFetchSchemaBlackListReq {

0 commit comments

Comments
 (0)