This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 4c99996e9d Add back the logic of blocking insert before holding
writelock (#6649)
4c99996e9d is described below
commit 4c99996e9d029dba60161b514b538f9fd6d7423d
Author: Haonan <[email protected]>
AuthorDate: Tue Jul 12 21:28:35 2022 +0800
Add back the logic of blocking insert before holding writelock (#6649)
---
.../org/apache/iotdb/db/engine/storagegroup/DataRegion.java | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
index a419f18373..3f0fb4bca8 100755
---
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
@@ -896,6 +896,9 @@ public class DataRegion {
if (!isAlive(insertRowNode.getTime())) {
throw new OutOfTTLException(insertRowNode.getTime(),
(System.currentTimeMillis() - dataTTL));
}
+ if (enableMemControl) {
+ StorageEngineV2.blockInsertionIfReject(null);
+ }
writeLock("InsertRow");
try {
// init map
@@ -1054,7 +1057,9 @@ public class DataRegion {
@SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity
warning
public void insertTablet(InsertTabletNode insertTabletNode)
throws TriggerExecutionException, BatchProcessException,
WriteProcessException {
-
+ if (enableMemControl) {
+ StorageEngineV2.blockInsertionIfReject(null);
+ }
writeLock("insertTablet");
try {
TSStatus[] results = new TSStatus[insertTabletNode.getRowCount()];
@@ -3433,6 +3438,9 @@ public class DataRegion {
*/
public void insert(InsertRowsOfOneDeviceNode insertRowsOfOneDeviceNode)
throws WriteProcessException, TriggerExecutionException,
BatchProcessException {
+ if (enableMemControl) {
+ StorageEngineV2.blockInsertionIfReject(null);
+ }
writeLock("InsertRowsOfOneDevice");
try {
boolean isSequence = false;