You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xi...@apache.org on 2022/07/29 10:49:35 UTC
[iotdb] branch ml_0729_test updated: fix potential error when using condition
This is an automated email from the ASF dual-hosted git repository.
xingtanzjr pushed a commit to branch ml_0729_test
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/ml_0729_test by this push:
new 5536f5a61e fix potential error when using condition
5536f5a61e is described below
commit 5536f5a61e0920894d6687d46716396de97288b2
Author: Jinrui.Zhang <xi...@gmail.com>
AuthorDate: Fri Jul 29 18:49:24 2022 +0800
fix potential error when using condition
---
.../db/consensus/statemachine/DataRegionStateMachine.java | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java b/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java
index b83fbf1a0e..852f421b33 100644
--- a/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java
+++ b/server/src/main/java/org/apache/iotdb/db/consensus/statemachine/DataRegionStateMachine.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.consensus.common.DataSet;
import org.apache.iotdb.consensus.common.request.IConsensusRequest;
import org.apache.iotdb.consensus.common.request.IndexedConsensusRequest;
+import org.apache.iotdb.consensus.multileader.wal.ConsensusReqReader;
import org.apache.iotdb.consensus.multileader.wal.GetConsensusReqReaderPlan;
import org.apache.iotdb.db.consensus.statemachine.visitor.DataExecutionVisitor;
import org.apache.iotdb.db.engine.StorageEngineV2;
@@ -117,8 +118,8 @@ public class DataRegionStateMachine extends BaseStateMachine {
}
private InsertNode cacheAndGetLatestInsertNode(long syncIndex, InsertNode insertNode) {
+ lock.lock();
try {
- lock.lock();
requestCache.add(new InsertNodeWrapper(syncIndex, insertNode));
while (!(requestCache.size() >= MAX_REQUEST_CACHE_SIZE
&& requestCache.peek().getSyncIndex() == syncIndex)) {
@@ -175,10 +176,13 @@ public class DataRegionStateMachine extends BaseStateMachine {
innerNode.setSearchIndex(indexedRequest.getSearchIndex());
insertNodes.add(innerNode);
}
- // planNode = mergeInsertNodes(insertNodes);
- planNode =
- cacheAndGetLatestInsertNode(
- indexedRequest.getSyncIndex(), mergeInsertNodes(insertNodes));
+ if (indexedRequest.getSearchIndex() == ConsensusReqReader.DEFAULT_SEARCH_INDEX) {
+ planNode =
+ cacheAndGetLatestInsertNode(
+ indexedRequest.getSyncIndex(), mergeInsertNodes(insertNodes));
+ } else {
+ planNode = mergeInsertNodes(insertNodes);
+ }
} else {
planNode = getPlanNode(request);
}