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 <[email protected]> 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 {}
