You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ca...@apache.org on 2022/12/24 13:02:47 UTC
[iotdb] 01/02: fix procedure test
This is an automated email from the ASF dual-hosted git repository.
caogaofei pushed a commit to branch beyyes/procedure
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 95491d09816b81670d2f0b618889e39d75847deb
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Sat Dec 24 10:27:52 2022 +0800
fix procedure test
---
.../procedure/TestProcedureExecutor.java | 8 ++++----
.../confignode/procedure/TestSTMProcedure.java | 12 ++++++++----
.../procedure/entity/SimpleLockProcedure.java | 12 ++++++++----
.../procedure/entity/SimpleSTMProcedure.java | 13 +++++++++----
.../procedure/entity/StuckProcedure.java | 2 +-
.../procedure/entity/TestProcedureFactory.java | 5 +++--
.../procedure/env/TestConfigNodeEnv.java | 22 ----------------------
7 files changed, 33 insertions(+), 41 deletions(-)
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/TestProcedureExecutor.java b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/TestProcedureExecutor.java
index 046e4f9ffa..0c209fbc3a 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/TestProcedureExecutor.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/TestProcedureExecutor.java
@@ -73,10 +73,10 @@ public class TestProcedureExecutor extends TestProcedureBase {
Assert.assertEquals(3, threads1);
ProcedureTestUtil.waitForProcedure(procExecutor, otherProcId);
- Assert.assertEquals(true, procExecutor.isFinished(otherProcId));
- Assert.assertEquals(true, procExecutor.isRunning());
- Assert.assertEquals(false, procExecutor.isFinished(busyProcId1));
- Assert.assertEquals(false, procExecutor.isFinished(busyProcId2));
+ Assert.assertTrue(procExecutor.isFinished(otherProcId));
+ Assert.assertTrue(procExecutor.isRunning());
+ Assert.assertFalse(procExecutor.isFinished(busyProcId1));
+ Assert.assertFalse(procExecutor.isFinished(busyProcId2));
// terminate the busy procedures
latch1.release();
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/TestSTMProcedure.java b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/TestSTMProcedure.java
index 7b387d3d43..0eff94ff97 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/TestSTMProcedure.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/TestSTMProcedure.java
@@ -25,11 +25,15 @@ import org.apache.iotdb.confignode.procedure.util.ProcedureTestUtil;
import org.junit.Assert;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.util.concurrent.atomic.AtomicInteger;
public class TestSTMProcedure extends TestProcedureBase {
+ public static final Logger LOGGER = LoggerFactory.getLogger(TestSTMProcedure.class);
+
@Test
public void testSubmitProcedure() {
SimpleSTMProcedure stmProcedure = new SimpleSTMProcedure();
@@ -37,7 +41,7 @@ public class TestSTMProcedure extends TestProcedureBase {
ProcedureTestUtil.waitForProcedure(this.procExecutor, procId);
TestProcEnv env = this.getEnv();
AtomicInteger acc = env.getAcc();
- Assert.assertEquals(acc.get(), 10);
+ Assert.assertEquals(10, acc.get());
}
@Test
@@ -50,9 +54,9 @@ public class TestSTMProcedure extends TestProcedureBase {
AtomicInteger acc = env.getAcc();
int success = env.successCount.get();
int rolledback = env.rolledBackCount.get();
- System.out.println(acc.get());
- System.out.println(success);
- System.out.println(rolledback);
+ LOGGER.info("all count: " + acc.get());
+ LOGGER.info("success count: " + success);
+ LOGGER.info("rolledback count: " + rolledback);
Assert.assertEquals(1 + success - rolledback, acc.get());
}
}
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/SimpleLockProcedure.java b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/SimpleLockProcedure.java
index 564b980794..a88afdb4f4 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/SimpleLockProcedure.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/SimpleLockProcedure.java
@@ -25,11 +25,15 @@ import org.apache.iotdb.confignode.procedure.exception.ProcedureSuspendedExcepti
import org.apache.iotdb.confignode.procedure.exception.ProcedureYieldException;
import org.apache.iotdb.confignode.procedure.scheduler.SimpleProcedureScheduler;
import org.apache.iotdb.confignode.procedure.state.ProcedureLockState;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.IOException;
public class SimpleLockProcedure extends Procedure<TestProcEnv> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(SimpleLockProcedure.class);
+
private String procName;
public SimpleLockProcedure() {}
@@ -46,7 +50,7 @@ public class SimpleLockProcedure extends Procedure<TestProcEnv> {
}
@Override
- protected void rollback(TestProcEnv testProcEnv) throws IOException, InterruptedException {}
+ protected void rollback(TestProcEnv testProcEnv) {}
@Override
protected boolean abort(TestProcEnv testProcEnv) {
@@ -57,19 +61,19 @@ public class SimpleLockProcedure extends Procedure<TestProcEnv> {
protected ProcedureLockState acquireLock(TestProcEnv testProcEnv) {
if (testProcEnv.getEnvLock().tryLock()) {
testProcEnv.lockAcquireSeq.append(procName);
- System.out.println(procName + " acquired lock.");
+ LOGGER.info(procName + " acquired lock.");
return ProcedureLockState.LOCK_ACQUIRED;
}
SimpleProcedureScheduler scheduler = (SimpleProcedureScheduler) testProcEnv.getScheduler();
scheduler.addWaiting(this);
- System.out.println(procName + " wait for lock.");
+ LOGGER.info(procName + " wait for lock.");
return ProcedureLockState.LOCK_EVENT_WAIT;
}
@Override
protected void releaseLock(TestProcEnv testProcEnv) {
- System.out.println(procName + " release lock.");
+ LOGGER.info(procName + " release lock.");
testProcEnv.getEnvLock().unlock();
SimpleProcedureScheduler scheduler = (SimpleProcedureScheduler) testProcEnv.getScheduler();
scheduler.releaseWaiting();
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/SimpleSTMProcedure.java b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/SimpleSTMProcedure.java
index 25a39b04cf..99c7b4e5d1 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/SimpleSTMProcedure.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/SimpleSTMProcedure.java
@@ -19,11 +19,14 @@
package org.apache.iotdb.confignode.procedure.entity;
+import org.apache.iotdb.confignode.procedure.TestSTMProcedure;
import org.apache.iotdb.confignode.procedure.env.TestProcEnv;
import org.apache.iotdb.confignode.procedure.exception.ProcedureException;
import org.apache.iotdb.confignode.procedure.exception.ProcedureSuspendedException;
import org.apache.iotdb.confignode.procedure.exception.ProcedureYieldException;
import org.apache.iotdb.confignode.procedure.impl.statemachine.StateMachineProcedure;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
@@ -31,6 +34,8 @@ import java.util.concurrent.atomic.AtomicInteger;
public class SimpleSTMProcedure
extends StateMachineProcedure<TestProcEnv, SimpleSTMProcedure.TestState> {
+ public static final Logger LOGGER = LoggerFactory.getLogger(SimpleSTMProcedure.class);
+
public int throwAtIndex = -1;
public enum TestState {
@@ -40,8 +45,7 @@ public class SimpleSTMProcedure
}
@Override
- protected Flow executeFromState(TestProcEnv testProcEnv, TestState testState)
- throws ProcedureSuspendedException, ProcedureYieldException, InterruptedException {
+ protected Flow executeFromState(TestProcEnv testProcEnv, TestState testState) {
AtomicInteger acc = testProcEnv.getAcc();
try {
switch (testState) {
@@ -77,8 +81,9 @@ public class SimpleSTMProcedure
}
@Override
- protected void rollbackState(TestProcEnv testProcEnv, TestState testState)
- throws IOException, InterruptedException {}
+ protected void rollbackState(TestProcEnv testProcEnv, TestState testState) {
+ LOGGER.info("Execute rollback in SimpleSTMProcedure, testState: {}", testState);
+ }
@Override
protected TestState getState(int stateId) {
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/StuckProcedure.java b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/StuckProcedure.java
index 1db02597c4..1f1204de44 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/StuckProcedure.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/StuckProcedure.java
@@ -52,7 +52,7 @@ public class StuckProcedure extends Procedure<TestProcEnv> {
}
@Override
- protected void rollback(TestProcEnv testProcEnv) throws IOException, InterruptedException {}
+ protected void rollback(TestProcEnv testProcEnv) {}
@Override
protected boolean abort(TestProcEnv testProcEnv) {
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/TestProcedureFactory.java b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/TestProcedureFactory.java
index 421fe7cc46..c4c73e99db 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/TestProcedureFactory.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/entity/TestProcedureFactory.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.confignode.procedure.entity;
import org.apache.iotdb.confignode.procedure.Procedure;
+import org.apache.iotdb.confignode.procedure.env.TestProcEnv;
import org.apache.iotdb.confignode.procedure.store.IProcedureFactory;
import java.io.IOException;
@@ -28,13 +29,13 @@ import java.nio.ByteBuffer;
public class TestProcedureFactory implements IProcedureFactory {
@Override
- public Procedure create(ByteBuffer buffer) throws IOException {
+ public Procedure<TestProcEnv> create(ByteBuffer buffer) throws IOException {
int typeNum = buffer.getInt();
if (typeNum >= TestProcedureType.values().length) {
throw new IOException("unrecognized log type " + typeNum);
}
TestProcedureType type = TestProcedureType.values()[typeNum];
- Procedure procedure;
+ Procedure<TestProcEnv> procedure;
switch (type) {
case INC_PROCEDURE:
procedure = new IncProcedure();
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/env/TestConfigNodeEnv.java b/confignode/src/test/java/org/apache/iotdb/confignode/procedure/env/TestConfigNodeEnv.java
deleted file mode 100644
index a27b2244ea..0000000000
--- a/confignode/src/test/java/org/apache/iotdb/confignode/procedure/env/TestConfigNodeEnv.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.iotdb.confignode.procedure.env;
-
-public class TestConfigNodeEnv {}