temp save
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/LogDispatcher.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/LogDispatcher.java index 3d53d51..89ce46e 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/log/LogDispatcher.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/LogDispatcher.java
@@ -19,22 +19,6 @@ package org.apache.iotdb.cluster.log; -import static org.apache.iotdb.cluster.server.monitor.Timer.Statistic.LOG_DISPATCHER_LOG_ENQUEUE_SINGLE; - -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.concurrent.ArrayBlockingQueue; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; import org.apache.iotdb.cluster.config.ClusterConfig; import org.apache.iotdb.cluster.config.ClusterDescriptor; import org.apache.iotdb.cluster.rpc.thrift.AppendEntriesRequest; @@ -57,11 +41,30 @@ import org.apache.iotdb.commons.utils.TestOnly; import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.tsfile.utils.Pair; + import org.apache.thrift.TException; import org.apache.thrift.async.AsyncMethodCallback; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import static org.apache.iotdb.cluster.server.monitor.Timer.Statistic.DISPATCHER_QUEUE_LENGTH; +import static org.apache.iotdb.cluster.server.monitor.Timer.Statistic.LOG_DISPATCHER_LOG_ENQUEUE_SINGLE; + /** * A LogDispatcher serves a raft leader by queuing logs that the leader wants to send to its * followers and send the logs in an ordered manner so that the followers will not wait for previous @@ -78,6 +81,8 @@ protected List<Pair<Node, BlockingQueue<SendLogRequest>>> nodesLogQueuesList = new ArrayList<>(); protected Map<Node, Boolean> nodesEnabled; protected Map<Node, ExecutorService> executorServices = new HashMap<>(); + protected ExecutorService resultHandlerThread = + IoTDBThreadPoolFactory.newFixedThreadPool(2, "AppendResultHandler"); protected boolean queueOrdered = !(clusterConfig.isUseFollowerSlidingWindow() && clusterConfig.isEnableWeakAcceptance()); @@ -124,6 +129,7 @@ logger.warn("Cannot shut down dispatcher pool of {}-{}", member.getName(), entry.getKey()); } } + resultHandlerThread.shutdownNow(); } protected SendLogRequest transformRequest(Node node, SendLogRequest request) { @@ -284,6 +290,7 @@ while (!Thread.interrupted()) { synchronized (logBlockingDeque) { SendLogRequest poll = logBlockingDeque.take(); + DISPATCHER_QUEUE_LENGTH.add(logBlockingDeque.size() + 1); currBatch.add(poll); if (maxBatchSize > 1 && useBatchInLogCatchUp) { while (!logBlockingDeque.isEmpty() && currBatch.size() < maxBatchSize) { @@ -436,6 +443,12 @@ } } + protected void handleAppendResult(AppendNodeEntryHandler handler, AppendEntryResult result) { + long handleStart = Statistic.RAFT_SENDER_HANDLE_SEND_RESULT.getOperationStartTime(); + handler.onComplete(result); + Statistic.RAFT_SENDER_HANDLE_SEND_RESULT.calOperationCostTimeFromStart(handleStart); + } + void sendLogSync(SendLogRequest logRequest) { AppendNodeEntryHandler handler = member.getAppendNodeEntryHandler( @@ -446,15 +459,18 @@ try { long operationStartTime = Statistic.RAFT_SENDER_SEND_LOG.getOperationStartTime(); for (int i = 0; i < retries; i++) { - int concurrentSender = concurrentSenderNum.incrementAndGet(); - Statistic.RAFT_CONCURRENT_SENDER.add(concurrentSender); Client client = getSyncClient(); if (client == null) { continue; } AppendEntryResult result; + int concurrentSender = concurrentSenderNum.incrementAndGet(); + Statistic.RAFT_CONCURRENT_SENDER.add(concurrentSender); result = client.appendEntry(logRequest.appendEntryRequest, logRequest.isVerifier); + Timer.Statistic.LOG_DISPATCHER_FROM_CREATE_TO_SENT.calOperationCostTimeFromStart( + logRequest.getVotingLog().getLog().getCreateTime()); concurrentSenderNum.decrementAndGet(); + if (result.status == Response.RESPONSE_OUT_OF_WINDOW) { Thread.sleep(100); Statistic.RAFT_SENDER_OOW.add(1); @@ -466,9 +482,7 @@ nodeStatus.getSendEntryNum().incrementAndGet(); nodeStatus.getSendEntryLatencyStatistic().add(sendLogTime); - long handleStart = Statistic.RAFT_SENDER_HANDLE_SEND_RESULT.getOperationStartTime(); - handler.onComplete(result); - Statistic.RAFT_SENDER_HANDLE_SEND_RESULT.calOperationCostTimeFromStart(handleStart); + resultHandlerThread.submit(() -> handleAppendResult(handler, result)); break; } } @@ -510,8 +524,6 @@ } else { sendLogSync(logRequest); } - Timer.Statistic.LOG_DISPATCHER_FROM_CREATE_TO_SENT.calOperationCostTimeFromStart( - logRequest.getVotingLog().getLog().getCreateTime()); } public Client getSyncClient() {
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/LogParser.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/LogParser.java index e5f33a0..87cdc15 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/log/LogParser.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/LogParser.java
@@ -20,11 +20,11 @@ package org.apache.iotdb.cluster.log; import org.apache.iotdb.cluster.exception.UnknownLogTypeException; +import org.apache.iotdb.cluster.expr.craft.FragmentedLog; import org.apache.iotdb.cluster.log.Log.Types; import org.apache.iotdb.cluster.log.logtypes.AddNodeLog; import org.apache.iotdb.cluster.log.logtypes.CloseFileLog; import org.apache.iotdb.cluster.log.logtypes.EmptyContentLog; -import org.apache.iotdb.cluster.expr.craft.FragmentedLog; import org.apache.iotdb.cluster.log.logtypes.LargeTestLog; import org.apache.iotdb.cluster.log.logtypes.RemoveNodeLog; import org.apache.iotdb.cluster.log.logtypes.RequestLog;
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/VotingLog.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/VotingLog.java index 7e9eee9..21816f1 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/log/VotingLog.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/VotingLog.java
@@ -19,10 +19,11 @@ package org.apache.iotdb.cluster.log; +import org.apache.iotdb.cluster.config.ClusterDescriptor; + +import java.util.Collections; import java.util.HashSet; import java.util.Set; -import java.util.concurrent.atomic.AtomicLong; -import org.apache.iotdb.cluster.config.ClusterDescriptor; public class VotingLog { protected Log log; @@ -60,7 +61,7 @@ } public Set<Integer> getWeaklyAcceptedNodeIds() { - return weaklyAcceptedNodeIds; + return weaklyAcceptedNodeIds != null ? weaklyAcceptedNodeIds : Collections.emptySet(); } @Override
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/VotingLogList.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/VotingLogList.java index d1b410f..96bc390 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/log/VotingLogList.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/VotingLogList.java
@@ -51,20 +51,20 @@ public VotingLogList(int quorumSize, RaftMember member) { this.quorumSize = quorumSize; this.member = member; - service.submit( - () -> { - try { - while (true) { - if (!tryCommit()) { - synchronized (newCommitIndex) { - newCommitIndex.wait(1); - } - } - } - } catch (Exception e) { - logger.error("Unexpected exception when updating commit index", e); - } - }); + // service.submit( + // () -> { + // try { + // while (true) { + // if (!tryCommit()) { + // synchronized (newCommitIndex) { + // newCommitIndex.wait(1); + // } + // } + // } + // } catch (Exception e) { + // logger.error("Unexpected exception when updating commit index", e); + // } + // }); } private boolean tryCommit() { @@ -123,9 +123,7 @@ } }); if (newIndex == index) { - synchronized (newCommitIndex) { - newCommitIndex.notifyAll(); - } + tryCommit(); } }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/appender/BlockingLogAppender.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/appender/BlockingLogAppender.java index ffae4cc..62068e6 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/log/appender/BlockingLogAppender.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/appender/BlockingLogAppender.java
@@ -120,8 +120,7 @@ long alreadyWait = 0; Object logUpdateCondition = logManager.getLogUpdateCondition(prevLogIndex); long lastLogIndex = logManager.getLastLogIndex(); - Timer.Statistic.RAFT_RECEIVER_INDEX_DIFF.add(prevLogIndex - lastLogIndex); - long waitTime = 10; + long waitTime = 1; while (lastLogIndex < prevLogIndex && alreadyWait <= ClusterConstant.getWriteOperationTimeoutMS()) { try { @@ -147,6 +146,7 @@ protected long checkPrevLogIndex(long prevLogIndex) { long lastLogIndex = logManager.getLastLogIndex(); long startTime = Timer.Statistic.RAFT_RECEIVER_WAIT_FOR_PREV_LOG.getOperationStartTime(); + Timer.Statistic.RAFT_RECEIVER_INDEX_DIFF.add(prevLogIndex - lastLogIndex); if (lastLogIndex < prevLogIndex && !waitForPrevLog(prevLogIndex)) { // there are logs missing between the incoming log and the local last log, and such logs // did not come within a timeout, report a mismatch to the sender and it shall fix this
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplier.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplier.java index a3ca651..e45cb1c 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplier.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplier.java
@@ -20,10 +20,10 @@ package org.apache.iotdb.cluster.log.applier; import org.apache.iotdb.cluster.config.ClusterDescriptor; +import org.apache.iotdb.cluster.expr.craft.FragmentedLog; import org.apache.iotdb.cluster.log.Log; import org.apache.iotdb.cluster.log.LogApplier; import org.apache.iotdb.cluster.log.logtypes.CloseFileLog; -import org.apache.iotdb.cluster.expr.craft.FragmentedLog; import org.apache.iotdb.cluster.log.logtypes.RequestLog; import org.apache.iotdb.cluster.server.monitor.Timer; import org.apache.iotdb.cluster.server.monitor.Timer.Statistic; @@ -35,6 +35,7 @@ import org.apache.iotdb.db.qp.physical.crud.InsertPlan; import org.apache.iotdb.db.qp.physical.crud.InsertRowsPlan; import org.apache.iotdb.db.qp.physical.sys.CreateTimeSeriesPlan; +import org.apache.iotdb.db.qp.physical.sys.DummyPlan; import org.apache.iotdb.db.service.IoTDB; import org.slf4j.Logger; @@ -42,6 +43,7 @@ import java.util.HashMap; import java.util.Map; +import java.util.Random; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ExecutionException; @@ -60,6 +62,7 @@ private Map<PartialPath, DataLogConsumer> consumerMap; private ExecutorService consumerPool; private String name; + private Random random = new Random(); // a plan that affects multiple sgs should wait until all consumers become empty to assure all // previous logs are applied, such a plan will wait on this condition if it finds any @@ -168,6 +171,8 @@ } else if (plan instanceof CreateTimeSeriesPlan) { PartialPath path = ((CreateTimeSeriesPlan) plan).getPath(); sgPath = IoTDB.schemaProcessor.getBelongedStorageGroup(path); + } else if (plan instanceof DummyPlan) { + sgPath = new PartialPath(Integer.toString(random.nextInt(CONCURRENT_CONSUMER_NUM)), false); } return sgPath; }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/DataLogApplier.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/DataLogApplier.java index 2378492..6cebaa7 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/DataLogApplier.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/DataLogApplier.java
@@ -20,10 +20,10 @@ package org.apache.iotdb.cluster.log.applier; import org.apache.iotdb.cluster.ClusterIoTDB; +import org.apache.iotdb.cluster.expr.craft.FragmentedLog; import org.apache.iotdb.cluster.log.Log; import org.apache.iotdb.cluster.log.logtypes.AddNodeLog; import org.apache.iotdb.cluster.log.logtypes.CloseFileLog; -import org.apache.iotdb.cluster.expr.craft.FragmentedLog; import org.apache.iotdb.cluster.log.logtypes.RemoveNodeLog; import org.apache.iotdb.cluster.log.logtypes.RequestLog; import org.apache.iotdb.cluster.server.member.DataGroupMember;
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/MetaLogApplier.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/MetaLogApplier.java index 488f63c..fabcefb 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/MetaLogApplier.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/MetaLogApplier.java
@@ -20,10 +20,10 @@ package org.apache.iotdb.cluster.log.applier; import org.apache.iotdb.cluster.exception.ChangeMembershipException; +import org.apache.iotdb.cluster.expr.craft.FragmentedLog; import org.apache.iotdb.cluster.log.Log; import org.apache.iotdb.cluster.log.logtypes.AddNodeLog; import org.apache.iotdb.cluster.log.logtypes.EmptyContentLog; -import org.apache.iotdb.cluster.expr.craft.FragmentedLog; import org.apache.iotdb.cluster.log.logtypes.RemoveNodeLog; import org.apache.iotdb.cluster.log.logtypes.RequestLog; import org.apache.iotdb.cluster.server.NodeCharacter;
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java index 46f4251..730e2e2 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java
@@ -19,8 +19,6 @@ package org.apache.iotdb.cluster.log.manage; -import static org.apache.iotdb.cluster.server.monitor.Timer.Statistic.RAFT_COMMIT_LOG_IN_MANAGER; - import org.apache.iotdb.cluster.config.ClusterDescriptor; import org.apache.iotdb.cluster.exception.EntryCompactedException; import org.apache.iotdb.cluster.exception.EntryUnavailableException; @@ -38,8 +36,8 @@ import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil; import org.apache.iotdb.commons.utils.TestOnly; import org.apache.iotdb.consensus.IStateMachine; - import org.apache.iotdb.tsfile.utils.RamUsageEstimator; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,6 +52,8 @@ import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; +import static org.apache.iotdb.cluster.server.monitor.Timer.Statistic.RAFT_COMMIT_LOG_IN_MANAGER; + public abstract class RaftLogManager { private static final Logger logger = LoggerFactory.getLogger(RaftLogManager.class); @@ -676,8 +676,7 @@ logger.error("{}: persistent raft log error:", name, e); throw new LogExecutionException(e); } finally { - Statistic.RAFT_SENDER_COMMIT_APPEND_AND_STABLE_LOGS.calOperationCostTimeFromStart( - startTime); + Statistic.RAFT_SENDER_COMMIT_APPEND_AND_STABLE_LOGS.calOperationCostTimeFromStart(startTime); } } @@ -693,8 +692,7 @@ } synchronized (this) { - Statistic.RAFT_SENDER_COMPETE_LOG_MANAGER_BEFORE_COMMIT.calOperationCostTimeFromStart( - start); + Statistic.RAFT_SENDER_COMPETE_LOG_MANAGER_BEFORE_COMMIT.calOperationCostTimeFromStart(start); long operationStartTime = RAFT_COMMIT_LOG_IN_MANAGER.getOperationStartTime(); long startTime = Statistic.RAFT_SENDER_COMMIT_GET_LOGS.getOperationStartTime(); @@ -755,8 +753,8 @@ changeApplyCommitIndexCond.wait( Math.min( (unappliedLogSize - - ClusterDescriptor.getInstance().getConfig().getMaxNumOfLogsInMem()) - / 10 + - ClusterDescriptor.getInstance().getConfig().getMaxNumOfLogsInMem()) + / 10 + 1, 1000)); } @@ -791,9 +789,10 @@ * * @param low request index low bound * @param high request index upper bound - * @throws EntryCompactedException - * @throws GetEntriesWrongParametersException + * @throws EntryCompactedException if the entry has been compacted + * @throws GetEntriesWrongParametersException if low > high */ + @TestOnly void checkBound(long low, long high) throws EntryCompactedException, GetEntriesWrongParametersException { if (low > high) {
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/sequencing/SynchronousSequencer.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/sequencing/SynchronousSequencer.java index c1e35aa..ec655d4 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/log/sequencing/SynchronousSequencer.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/sequencing/SynchronousSequencer.java
@@ -34,6 +34,7 @@ import org.apache.iotdb.db.qp.physical.sys.LogPlan; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; /** * SynchronizedSequencer performs sequencing by taking the monitor of a LogManager within the caller @@ -59,26 +60,30 @@ return sendLogRequest; } + private static AtomicLong indexBlockCounter = new AtomicLong(); + @Override public SendLogRequest sequence(Log log) { SendLogRequest sendLogRequest = null; - long startTime = - Statistic.RAFT_SENDER_COMPETE_LOG_MANAGER_BEFORE_APPEND_V2.getOperationStartTime(); long startWaitingTime = System.currentTimeMillis(); while (true) { + Statistic.RAFT_INDEX_BLOCKER.add(indexBlockCounter.incrementAndGet()); + long startTime = + Statistic.RAFT_SENDER_COMPETE_LOG_MANAGER_BEFORE_APPEND_V2.getOperationStartTime(); synchronized (logManager) { + Statistic.RAFT_SENDER_COMPETE_LOG_MANAGER_BEFORE_APPEND_V2.calOperationCostTimeFromStart( + startTime); long occupyStart = Statistic.RAFT_SENDER_OCCUPY_LOG_MANAGER_IN_APPEND.getOperationStartTime(); + indexBlockCounter.decrementAndGet(); + if (!IoTDBDescriptor.getInstance().getConfig().isEnableMemControl() || (logManager.getLastLogIndex() - logManager.getCommitLogIndex() <= ClusterDescriptor.getInstance() .getConfig() .getUnCommittedRaftLogNumForRejectThreshold())) { - Statistic.RAFT_SENDER_COMPETE_LOG_MANAGER_BEFORE_APPEND_V2.calOperationCostTimeFromStart( - startTime); - // if the log contains a physical plan which is not a LogPlan, assign the same index to // the plan so the state machine can be bridged with the consensus if (log instanceof RequestLog @@ -97,6 +102,8 @@ startTime = Statistic.RAFT_SENDER_BUILD_LOG_REQUEST.getOperationStartTime(); sendLogRequest = buildSendLogRequest(log); + Statistic.LOG_DISPATCHER_FROM_RECEIVE_TO_CREATE.calOperationCostTimeFromStart( + log.getReceiveTime()); log.setCreateTime(System.nanoTime()); Statistic.RAFT_SENDER_BUILD_LOG_REQUEST.calOperationCostTimeFromStart(startTime);
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandler.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandler.java index cc46844..3dc18e3 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandler.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandler.java
@@ -86,13 +86,6 @@ long resp = response.status; if (resp == RESPONSE_STRONG_ACCEPT || resp == RESPONSE_AGREE) { - member - .getVotingLogList() - .onStronglyAccept( - log.getLog().getCurrLogIndex(), - log.getLog().getCurrLogTerm(), - trueReceiver, - response.signature); Integer count = entryAcceptedTimes.compute( log.getLog().getCurrLogIndex(), @@ -108,6 +101,13 @@ Statistic.RAFT_SENDER_LOG_FROM_CREATE_TO_ACCEPT.calOperationCostTimeFromStart( log.getLog().getCreateTime()); } + member + .getVotingLogList() + .onStronglyAccept( + log.getLog().getCurrLogIndex(), + log.getLog().getCurrLogTerm(), + trueReceiver, + response.signature); member.getPeer(trueReceiver).setMatchIndex(response.lastLogIndex); } else if (resp > 0) {
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java index 7f74867..3795718 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java
@@ -26,17 +26,18 @@ import org.apache.iotdb.cluster.exception.CheckConsistencyException; import org.apache.iotdb.cluster.exception.SnapshotInstallationException; import org.apache.iotdb.cluster.exception.UnknownLogTypeException; +import org.apache.iotdb.cluster.expr.nbraft.SlidingWindowLogAppender; import org.apache.iotdb.cluster.impl.PlanBasedStateMachine; import org.apache.iotdb.cluster.log.IndirectLogDispatcher; import org.apache.iotdb.cluster.log.Log; import org.apache.iotdb.cluster.log.LogParser; import org.apache.iotdb.cluster.log.Snapshot; import org.apache.iotdb.cluster.log.appender.BlockingLogAppender; -import org.apache.iotdb.cluster.expr.nbraft.SlidingWindowLogAppender; import org.apache.iotdb.cluster.log.logtypes.AddNodeLog; import org.apache.iotdb.cluster.log.logtypes.RemoveNodeLog; import org.apache.iotdb.cluster.log.manage.FilePartitionedSnapshotLogManager; import org.apache.iotdb.cluster.log.manage.PartitionedSnapshotLogManager; +import org.apache.iotdb.cluster.log.manage.RaftLogManager; import org.apache.iotdb.cluster.log.snapshot.FileSnapshot; import org.apache.iotdb.cluster.log.snapshot.PartitionedSnapshot; import org.apache.iotdb.cluster.log.snapshot.PullSnapshotTask; @@ -1036,7 +1037,7 @@ } @TestOnly - void setLogManager(PartitionedSnapshotLogManager<Snapshot> logManager) { + public void setLogManager(RaftLogManager logManager) { if (this.logManager != null) { this.logManager.close(); }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java index 0713ea7..4851dc3 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
@@ -31,11 +31,12 @@ import org.apache.iotdb.cluster.exception.CheckConsistencyException; import org.apache.iotdb.cluster.exception.LogExecutionException; import org.apache.iotdb.cluster.exception.UnknownLogTypeException; +import org.apache.iotdb.cluster.expr.craft.FragmentedLog; +import org.apache.iotdb.cluster.expr.craft.FragmentedLogDispatcher; import org.apache.iotdb.cluster.expr.vgraft.KeyManager; import org.apache.iotdb.cluster.expr.vgraft.TrustValueHolder; import org.apache.iotdb.cluster.log.CommitLogCallback; import org.apache.iotdb.cluster.log.CommitLogTask; -import org.apache.iotdb.cluster.expr.craft.FragmentedLogDispatcher; import org.apache.iotdb.cluster.log.HardState; import org.apache.iotdb.cluster.log.IndirectLogDispatcher; import org.apache.iotdb.cluster.log.Log; @@ -50,7 +51,6 @@ import org.apache.iotdb.cluster.log.appender.LogAppender; import org.apache.iotdb.cluster.log.appender.LogAppenderFactory; import org.apache.iotdb.cluster.log.catchup.CatchUpTask; -import org.apache.iotdb.cluster.expr.craft.FragmentedLog; import org.apache.iotdb.cluster.log.logtypes.RequestLog; import org.apache.iotdb.cluster.log.manage.RaftLogManager; import org.apache.iotdb.cluster.log.sequencing.AsynchronousSequencer.Factory; @@ -1200,21 +1200,10 @@ } } - protected TSStatus processPlanLocallyV2(IConsensusRequest plan) { - long totalStartTime = System.nanoTime(); - logger.debug("{}: Processing plan {}", name, plan); - if (readOnly) { - return StatusUtils.NODE_READ_ONLY; - } - + protected Log parseLog(IConsensusRequest plan) throws UnknownLogTypeException { Log log; if (plan instanceof LogPlan) { - try { - log = LogParser.getINSTANCE().parse(((LogPlan) plan).getLog()); - } catch (UnknownLogTypeException e) { - logger.error("Can not parse LogPlan {}", plan, e); - return StatusUtils.PARSE_LOG_ERROR; - } + log = LogParser.getINSTANCE().parse(((LogPlan) plan).getLog()); } else { log = new RequestLog(); ((RequestLog) log).setRequest(plan); @@ -1224,11 +1213,33 @@ log = new FragmentedLog(log, allNodes.size()); } log.setReceiveTime(System.nanoTime()); + return log; + } + + private boolean checkLogSize(Log log) { + return !ClusterDescriptor.getInstance().getConfig().isEnableRaftLogPersistence() + || log.serialize().capacity() + Integer.BYTES + < ClusterDescriptor.getInstance().getConfig().getRaftLogBufferSize(); + } + + protected TSStatus processPlanLocallyV2(IConsensusRequest plan) { + if (readOnly) { + return StatusUtils.NODE_READ_ONLY; + } + + long totalStartTime = System.nanoTime(); + logger.debug("{}: Processing plan {}", name, plan); + + Log log; + try { + log = parseLog(plan); + } catch (UnknownLogTypeException e) { + logger.error("Can not parse LogPlan {}", plan, e); + return StatusUtils.PARSE_LOG_ERROR; + } // just like processPlanLocally,we need to check the size of log - if (ClusterDescriptor.getInstance().getConfig().isEnableRaftLogPersistence() - && log.serialize().capacity() + Integer.BYTES - >= ClusterDescriptor.getInstance().getConfig().getRaftLogBufferSize()) { + if (!checkLogSize(log)) { logger.error( "Log cannot fit into buffer, please increase raft_log_buffer_size;" + "or reduce the size of requests you send."); @@ -1777,6 +1788,8 @@ * wait until "voteCounter" counts down to zero, which means the quorum has received the log, or * one follower tells the node that it is no longer a valid leader, or a timeout is triggered. */ + private AtomicLong appendBlockerCounter = new AtomicLong(); + protected AppendLogResult waitAppendResult(VotingLog log, int quorumSize) { // wait for the followers to vote long startTime = Timer.Statistic.RAFT_SENDER_VOTE_COUNTER.getOperationStartTime(); @@ -1784,6 +1797,9 @@ int weaklyAccepted = log.getWeaklyAcceptedNodeIds().size(); int stronglyAccepted = totalAccepted - weaklyAccepted; + if (Timer.ENABLE_INSTRUMENTING) { + Statistic.RAFT_APPEND_BLOCKER.add(appendBlockerCounter.incrementAndGet()); + } if (log.getLog().getCurrLogIndex() == Long.MIN_VALUE || ((!ClusterDescriptor.getInstance().getConfig().isUseVGRaft() && stronglyAccepted < quorumSize @@ -1795,6 +1811,9 @@ waitAppendResultLoop(log, quorumSize); } + if (Timer.ENABLE_INSTRUMENTING) { + appendBlockerCounter.decrementAndGet(); + } totalAccepted = votingLogList.totalAcceptedNodeNum(log); weaklyAccepted = log.getWeaklyAcceptedNodeIds().size(); stronglyAccepted = totalAccepted - weaklyAccepted; @@ -1823,12 +1842,17 @@ return AppendLogResult.OK; } + private AtomicLong applyBlockerCounter = new AtomicLong(); + @SuppressWarnings("java:S2445") protected void waitApply(Log log) throws LogExecutionException { long startTime; // when using async applier, the log here may not be applied. To return the execution // result, we must wait until the log is applied. + if (Timer.ENABLE_INSTRUMENTING) { + Statistic.RAFT_APPLY_BLOCKER.add(applyBlockerCounter.incrementAndGet()); + } startTime = Statistic.RAFT_SENDER_COMMIT_WAIT_LOG_APPLY.getOperationStartTime(); synchronized (log) { while (!log.isApplied()) { @@ -1841,6 +1865,7 @@ } } } + applyBlockerCounter.decrementAndGet(); Statistic.RAFT_SENDER_COMMIT_WAIT_LOG_APPLY.calOperationCostTimeFromStart(startTime); if (log.getException() != null) { throw new LogExecutionException(log.getException());
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java index 07b35b4..4485244 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java
@@ -361,11 +361,15 @@ RAFT_RELAYED_ENTRY(RAFT_MEMBER_RECEIVER, "number of relayed entries", 1, true, ROOT), RAFT_SEND_RELAY_ACK(RAFT_MEMBER_RECEIVER, "send relay ack", 1, true, ROOT), RAFT_SENT_ENTRY_SIZE(RAFT_MEMBER_SENDER, "sent entry size", 1, true, ROOT), + DISPATCHER_QUEUE_LENGTH(RAFT_MEMBER_SENDER, "dispatcher queue length", 1, true, ROOT), RAFT_RELAYED_LEVEL1_NUM(RAFT_MEMBER_SENDER, "level 1 relay node number", 1, true, ROOT), RAFT_RECEIVE_RELAY_ACK(RAFT_MEMBER_SENDER, "receive relay ack", 1, true, ROOT), RAFT_SENDER_OOW(RAFT_MEMBER_SENDER, "out of window", 1, true, ROOT), RAFT_WEAK_ACCEPT(RAFT_MEMBER_SENDER, "weak accept", 1, true, ROOT), - RAFT_CONCURRENT_SENDER(RAFT_MEMBER_SENDER, "concurrent sender", 1, true, ROOT); + RAFT_CONCURRENT_SENDER(RAFT_MEMBER_SENDER, "concurrent sender", 1, true, ROOT), + RAFT_INDEX_BLOCKER(RAFT_MEMBER_SENDER, "index blocker", 1, true, ROOT), + RAFT_APPEND_BLOCKER(RAFT_MEMBER_SENDER, "append blocker", 1, true, ROOT), + RAFT_APPLY_BLOCKER(RAFT_MEMBER_SENDER, "apply blocker", 1, true, ROOT); String className; String blockName;
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/utils/LogUtils.java b/cluster/src/main/java/org/apache/iotdb/cluster/utils/LogUtils.java index 8bde2e2..e8f55a9 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/utils/LogUtils.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/utils/LogUtils.java
@@ -1,5 +1,3 @@ package org.apache.iotdb.cluster.utils; -public class LogUtils { - -} +public class LogUtils {}
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/client/BaseClientTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/BaseClientTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/client/BaseClientTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/client/BaseClientTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/client/ClientManagerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/ClientManagerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/client/ClientManagerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/client/ClientManagerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/client/ClientPoolFactoryTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/ClientPoolFactoryTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/client/ClientPoolFactoryTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/client/ClientPoolFactoryTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/client/MockClientManager.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/MockClientManager.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/client/MockClientManager.java rename to cluster/src/test/java/org/apache/iotdb/cluster/client/MockClientManager.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/client/async/AsyncDataClientTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncDataClientTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/client/async/AsyncDataClientTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncDataClientTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/client/async/AsyncMetaClientTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncMetaClientTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/client/async/AsyncMetaClientTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncMetaClientTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/client/sync/SyncClientAdaptorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncClientAdaptorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/client/sync/SyncClientAdaptorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncClientAdaptorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/client/sync/SyncDataClientTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncDataClientTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/client/sync/SyncDataClientTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncDataClientTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/client/sync/SyncMetaClientTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncMetaClientTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/client/sync/SyncMetaClientTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncMetaClientTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/IoTDBTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/IoTDBTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/IoTDBTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/IoTDBTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestAsyncClient.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestAsyncClient.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestAsyncClient.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestAsyncClient.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestAsyncDataClient.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestAsyncDataClient.java similarity index 98% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestAsyncDataClient.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestAsyncDataClient.java index 78fd9a8..9173711 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestAsyncDataClient.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestAsyncDataClient.java
@@ -216,7 +216,9 @@ @Override public void appendEntry( - AppendEntryRequest request, AsyncMethodCallback<AppendEntryResult> resultHandler) { + AppendEntryRequest request, + boolean isVerifier, + AsyncMethodCallback<AppendEntryResult> resultHandler) { new Thread( () -> resultHandler.onComplete(new AppendEntryResult(BaseMember.dummyResponse.get()))) .start();
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestAsyncMetaClient.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestAsyncMetaClient.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestAsyncMetaClient.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestAsyncMetaClient.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestDataGroupMember.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestDataGroupMember.java similarity index 92% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestDataGroupMember.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestDataGroupMember.java index fe274e5..c406337 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestDataGroupMember.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestDataGroupMember.java
@@ -33,8 +33,9 @@ public TestDataGroupMember() { super( - TestUtils.getNode(0), new PartitionGroup(Collections.singletonList(TestUtils.getNode(0))), - new PlanBasedStateMachine()); + TestUtils.getNode(0), + new PartitionGroup(Collections.singletonList(TestUtils.getNode(0))), + new PlanBasedStateMachine()); setQueryManager(new ClusterQueryManager()); this.slotManager = new SlotManager(ClusterConstant.SLOT_NUM, null, ""); }
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestException.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestException.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestException.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestException.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestLog.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestLog.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestLog.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestLog.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestLogApplier.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestLogApplier.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestLogApplier.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestLogApplier.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestLogManager.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestLogManager.java similarity index 89% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestLogManager.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestLogManager.java index d7b8a24..01cd71e 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestLogManager.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestLogManager.java
@@ -27,7 +27,11 @@ public class TestLogManager extends RaftLogManager { public TestLogManager(int nodeIdentifier) { - super(new SyncLogDequeSerializer(nodeIdentifier), new TestLogApplier(), "Test", new PlanBasedStateMachine()); + super( + new SyncLogDequeSerializer(nodeIdentifier), + new TestLogApplier(), + "Test", + new PlanBasedStateMachine()); } @Override
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestManagedSeriesReader.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestManagedSeriesReader.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestManagedSeriesReader.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestManagedSeriesReader.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestMetaGroupMember.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestMetaGroupMember.java similarity index 94% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestMetaGroupMember.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestMetaGroupMember.java index 1309348..bae946f 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestMetaGroupMember.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestMetaGroupMember.java
@@ -31,8 +31,7 @@ public TestMetaGroupMember() { super(new PlanBasedStateMachine()); - MetaSingleSnapshotLogManager manager = - new MetaSingleSnapshotLogManager(this); + MetaSingleSnapshotLogManager manager = new MetaSingleSnapshotLogManager(this); setLogManager(manager); PartitionGroup group = new PartitionGroup();
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestPartitionedLogManager.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestPartitionedLogManager.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestPartitionedLogManager.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestPartitionedLogManager.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestSnapshot.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestSnapshot.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestSnapshot.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestSnapshot.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestSyncClient.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestSyncClient.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestSyncClient.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestSyncClient.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestUtils.java b/cluster/src/test/java/org/apache/iotdb/cluster/common/TestUtils.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/common/TestUtils.java rename to cluster/src/test/java/org/apache/iotdb/cluster/common/TestUtils.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/integration/BaseSingleNodeTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/integration/BaseSingleNodeTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/integration/BaseSingleNodeTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/integration/BaseSingleNodeTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/integration/SingleNodeTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/integration/SingleNodeTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/integration/SingleNodeTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/integration/SingleNodeTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/CommitLogCallbackTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/CommitLogCallbackTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/CommitLogCallbackTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/CommitLogCallbackTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/CommitLogTaskTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/CommitLogTaskTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/CommitLogTaskTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/CommitLogTaskTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/HardStateTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/HardStateTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/HardStateTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/HardStateTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/LogDispatcherTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/LogDispatcherTest.java similarity index 97% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/LogDispatcherTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/LogDispatcherTest.java index 163eaa6..c2e8dc4 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/LogDispatcherTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/LogDispatcherTest.java
@@ -75,6 +75,7 @@ @Override public void appendEntry( AppendEntryRequest request, + boolean isVerifier, AsyncMethodCallback<AppendEntryResult> resultHandler) { new Thread( () -> { @@ -114,7 +115,9 @@ @Override public void appendEntry( - AppendEntryRequest request, AsyncMethodCallback<AppendEntryResult> resultHandler) + AppendEntryRequest request, + boolean isVerifier, + AsyncMethodCallback<AppendEntryResult> resultHandler) throws TException { try { if (!downNode.contains(node)) { @@ -147,7 +150,8 @@ public Client getSyncClient(Node node) { return new TestSyncClient() { @Override - public AppendEntryResult appendEntry(AppendEntryRequest request) throws TException { + public AppendEntryResult appendEntry(AppendEntryRequest request, boolean isVerifier) + throws TException { try { if (!downNode.contains(node)) { return mockedAppendEntry(request);
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/LogParserTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/LogParserTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/LogParserTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/LogParserTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplierTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplierTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplierTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplierTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/applier/DataLogApplierTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/DataLogApplierTest.java similarity index 96% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/applier/DataLogApplierTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/applier/DataLogApplierTest.java index 8835a84..12ddbdf 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/applier/DataLogApplierTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/DataLogApplierTest.java
@@ -465,20 +465,19 @@ @Test public void testApplyDeletePartitionFilter() throws QueryProcessException { applier.setStateMachine( - new PlanBasedStateMachine().setPlanExecutor( - new PlanExecutor() { - @Override - public boolean processNonQuery(PhysicalPlan plan) { - assertTrue(plan instanceof DeletePlan); - DeletePlan deletePlan = (DeletePlan) plan; - TimePartitionFilter planFilter = deletePlan.getPartitionFilter(); - TimePartitionFilter memberFilter = testDataGroupMember.getTimePartitionFilter(); - assertEquals(planFilter, memberFilter); - return true; - } - } - ) - ); + new PlanBasedStateMachine() + .setPlanExecutor( + new PlanExecutor() { + @Override + public boolean processNonQuery(PhysicalPlan plan) { + assertTrue(plan instanceof DeletePlan); + DeletePlan deletePlan = (DeletePlan) plan; + TimePartitionFilter planFilter = deletePlan.getPartitionFilter(); + TimePartitionFilter memberFilter = testDataGroupMember.getTimePartitionFilter(); + assertEquals(planFilter, memberFilter); + return true; + } + })); DeletePlan deletePlan = new DeletePlan(); RequestLog log = new RequestLog(deletePlan);
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java similarity index 97% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java index b2e7525..436e675 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java
@@ -68,7 +68,8 @@ } }; - private LogApplier applier = new MetaLogApplier(testMetaGroupMember, testMetaGroupMember.getStateMachine()); + private LogApplier applier = + new MetaLogApplier(testMetaGroupMember, testMetaGroupMember.getStateMachine()); @Override @After
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/catchup/CatchUpTaskTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/CatchUpTaskTest.java similarity index 98% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/catchup/CatchUpTaskTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/CatchUpTaskTest.java index 3c4c812..2f221d8 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/catchup/CatchUpTaskTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/CatchUpTaskTest.java
@@ -78,7 +78,7 @@ public Client getSyncClient(Node node) { return new TestSyncClient() { @Override - public AppendEntryResult appendEntry(AppendEntryRequest request) { + public AppendEntryResult appendEntry(AppendEntryRequest request, boolean isVerifier) { return dummyAppendEntry(request); } @@ -104,7 +104,9 @@ return new TestAsyncClient() { @Override public void appendEntry( - AppendEntryRequest request, AsyncMethodCallback<AppendEntryResult> resultHandler) { + AppendEntryRequest request, + boolean isVerifier, + AsyncMethodCallback<AppendEntryResult> resultHandler) { new Thread(() -> resultHandler.onComplete(dummyAppendEntry(request))).start(); }
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTaskTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTaskTest.java similarity index 97% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTaskTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTaskTest.java index 737d264..abea578 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTaskTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTaskTest.java
@@ -71,7 +71,9 @@ return new TestAsyncClient() { @Override public void appendEntry( - AppendEntryRequest request, AsyncMethodCallback<AppendEntryResult> resultHandler) { + AppendEntryRequest request, + boolean isVerifier, + AsyncMethodCallback<AppendEntryResult> resultHandler) { new Thread( () -> { try { @@ -104,7 +106,8 @@ public Client getSyncClient(Node node) { return new TestSyncClient() { @Override - public AppendEntryResult appendEntry(AppendEntryRequest request) throws TException { + public AppendEntryResult appendEntry(AppendEntryRequest request, boolean isVerifier) + throws TException { try { return dummyAppendEntry(request); } catch (UnknownLogTypeException e) {
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTaskTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTaskTest.java similarity index 98% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTaskTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTaskTest.java index ec58b11..2321ec4 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTaskTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTaskTest.java
@@ -75,7 +75,9 @@ return new TestAsyncClient() { @Override public void appendEntry( - AppendEntryRequest request, AsyncMethodCallback<AppendEntryResult> resultHandler) { + AppendEntryRequest request, + boolean isVerifier, + AsyncMethodCallback<AppendEntryResult> resultHandler) { new Thread(() -> resultHandler.onComplete(dummyAppendEntry(request))).start(); } @@ -99,7 +101,7 @@ } return new TestSyncClient() { @Override - public AppendEntryResult appendEntry(AppendEntryRequest request) { + public AppendEntryResult appendEntry(AppendEntryRequest request, boolean isVerifier) { return dummyAppendEntry(request); }
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/logtypes/SerializeLogTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/logtypes/SerializeLogTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/logtypes/SerializeLogTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/logtypes/SerializeLogTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/CommittedEntryManagerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/CommittedEntryManagerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/CommittedEntryManagerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/manage/CommittedEntryManagerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/FilePartitionedSnapshotLogManagerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/FilePartitionedSnapshotLogManagerTest.java similarity index 94% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/FilePartitionedSnapshotLogManagerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/manage/FilePartitionedSnapshotLogManagerTest.java index 4cc02b6..06c5600 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/FilePartitionedSnapshotLogManagerTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/FilePartitionedSnapshotLogManagerTest.java
@@ -21,11 +21,9 @@ import org.apache.iotdb.cluster.common.IoTDBTest; import org.apache.iotdb.cluster.common.TestDataGroupMember; -import org.apache.iotdb.cluster.common.TestLogApplier; import org.apache.iotdb.cluster.common.TestUtils; import org.apache.iotdb.cluster.config.ClusterConstant; import org.apache.iotdb.cluster.log.Log; -import org.apache.iotdb.cluster.log.LogApplier; import org.apache.iotdb.cluster.log.snapshot.FileSnapshot; import org.apache.iotdb.cluster.log.snapshot.PartitionedSnapshot; import org.apache.iotdb.cluster.partition.PartitionTable; @@ -63,10 +61,7 @@ PartitionTable partitionTable = TestUtils.getPartitionTable(3); FilePartitionedSnapshotLogManager manager = new FilePartitionedSnapshotLogManager( - partitionTable, - TestUtils.getNode(0), - TestUtils.getNode(0), - new TestDataGroupMember()); + partitionTable, TestUtils.getNode(0), TestUtils.getNode(0), new TestDataGroupMember()); try { List<Log> logs = TestUtils.prepareTestLogs(10);
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/MetaSingleSnapshotLogManagerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/MetaSingleSnapshotLogManagerTest.java similarity index 98% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/MetaSingleSnapshotLogManagerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/manage/MetaSingleSnapshotLogManagerTest.java index 44beea3..bd21fc0 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/MetaSingleSnapshotLogManagerTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/MetaSingleSnapshotLogManagerTest.java
@@ -20,7 +20,6 @@ package org.apache.iotdb.cluster.log.manage; import org.apache.iotdb.cluster.common.IoTDBTest; -import org.apache.iotdb.cluster.common.TestLogApplier; import org.apache.iotdb.cluster.common.TestUtils; import org.apache.iotdb.cluster.coordinator.Coordinator; import org.apache.iotdb.cluster.impl.PlanBasedStateMachine;
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/RaftLogManagerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/RaftLogManagerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/RaftLogManagerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/manage/RaftLogManagerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/UnCommittedEntryManagerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/UnCommittedEntryManagerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/UnCommittedEntryManagerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/manage/UnCommittedEntryManagerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/DataSnapshotTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/DataSnapshotTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/DataSnapshotTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/DataSnapshotTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/FileSnapshotTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/FileSnapshotTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/FileSnapshotTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/FileSnapshotTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/MetaSimpleSnapshotTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/MetaSimpleSnapshotTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/MetaSimpleSnapshotTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/MetaSimpleSnapshotTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/PartitionedSnapshotTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PartitionedSnapshotTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/PartitionedSnapshotTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PartitionedSnapshotTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskDescriptorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskDescriptorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskDescriptorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskDescriptorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/SimpleSnapshot.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/SimpleSnapshot.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/log/snapshot/SimpleSnapshot.java rename to cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/SimpleSnapshot.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/partition/SchemaProcessorWhiteBox.java b/cluster/src/test/java/org/apache/iotdb/cluster/partition/SchemaProcessorWhiteBox.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/partition/SchemaProcessorWhiteBox.java rename to cluster/src/test/java/org/apache/iotdb/cluster/partition/SchemaProcessorWhiteBox.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/partition/SlotManagerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotManagerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/partition/SlotManagerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotManagerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/BaseQueryTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/BaseQueryTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/BaseQueryTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/BaseQueryTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterAggregateExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterAggregateExecutorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterAggregateExecutorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterAggregateExecutorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterDataQueryExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterDataQueryExecutorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterDataQueryExecutorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterDataQueryExecutorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterPhysicalGeneratorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPhysicalGeneratorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterPhysicalGeneratorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPhysicalGeneratorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterPlanExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPlanExecutorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterPlanExecutorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPlanExecutorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterPlannerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPlannerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterPlannerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPlannerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterQueryRouterTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterQueryRouterTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterQueryRouterTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterQueryRouterTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterUDTFQueryExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterUDTFQueryExecutorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/ClusterUDTFQueryExecutorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterUDTFQueryExecutorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/LoadConfigurationTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/LoadConfigurationTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/LoadConfigurationTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/LoadConfigurationTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/fill/ClusterFillExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/fill/ClusterFillExecutorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/fill/ClusterFillExecutorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/fill/ClusterFillExecutorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByNoVFilterDataSetTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByNoVFilterDataSetTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByNoVFilterDataSetTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByNoVFilterDataSetTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByVFilterDataSetTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByVFilterDataSetTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByVFilterDataSetTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByVFilterDataSetTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/groupby/MergeGroupByExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/MergeGroupByExecutorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/groupby/MergeGroupByExecutorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/MergeGroupByExecutorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/groupby/RemoteGroupByExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/RemoteGroupByExecutorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/groupby/RemoteGroupByExecutorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/RemoteGroupByExecutorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/manage/ClusterQueryManagerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/manage/ClusterQueryManagerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/manage/ClusterQueryManagerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/manage/ClusterQueryManagerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/manage/QueryCoordinatorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/manage/QueryCoordinatorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/manage/QueryCoordinatorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/manage/QueryCoordinatorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactoryTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactoryTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactoryTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactoryTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/ClusterTimeGeneratorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterTimeGeneratorTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/ClusterTimeGeneratorTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterTimeGeneratorTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/DatasourceInfoTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/DatasourceInfoTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/DatasourceInfoTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/reader/DatasourceInfoTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/RemoteSeriesReaderByTimestampTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSeriesReaderByTimestampTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/RemoteSeriesReaderByTimestampTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSeriesReaderByTimestampTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/RemoteSimpleSeriesReaderTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSimpleSeriesReaderTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/RemoteSimpleSeriesReaderTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSimpleSeriesReaderTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/mult/AssignPathManagedMergeReaderTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/AssignPathManagedMergeReaderTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/mult/AssignPathManagedMergeReaderTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/AssignPathManagedMergeReaderTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/mult/MultSeriesRawDataPointReaderTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/MultSeriesRawDataPointReaderTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/mult/MultSeriesRawDataPointReaderTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/MultSeriesRawDataPointReaderTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/mult/RemoteMultSeriesReaderTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/RemoteMultSeriesReaderTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/query/reader/mult/RemoteMultSeriesReaderTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/RemoteMultSeriesReaderTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServiceImplTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServiceImplTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServiceImplTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServiceImplTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandlerTest.java similarity index 77% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandlerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandlerTest.java index 538040c..ba3c052 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandlerTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandlerTest.java
@@ -29,7 +29,6 @@ import org.apache.iotdb.cluster.rpc.thrift.AppendEntryResult; import org.apache.iotdb.cluster.server.Response; import org.apache.iotdb.cluster.server.member.RaftMember; -import org.apache.iotdb.cluster.server.monitor.PeerInfo; import org.apache.iotdb.db.exception.StorageEngineException; import org.apache.iotdb.db.utils.EnvironmentUtils; @@ -43,7 +42,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; public class AppendNodeEntryHandlerTest { @@ -70,13 +68,10 @@ try { ClusterDescriptor.getInstance().getConfig().setReplicationNum(10); VotingLog votingLog = new VotingLog(log, 10); - PeerInfo peerInfo = new PeerInfo(1); for (int i = 0; i < 10; i++) { AppendNodeEntryHandler handler = new AppendNodeEntryHandler(); - handler.setLeaderShipStale(leadershipStale); handler.setLog(votingLog); handler.setMember(member); - handler.setReceiverTerm(receiverTerm); handler.setDirectReceiver(TestUtils.getNode(i)); handler.setQuorumSize(ClusterDescriptor.getInstance().getConfig().getReplicationNum() / 2); long resp = i >= 5 ? Response.RESPONSE_AGREE : Response.RESPONSE_LOG_MISMATCH; @@ -87,7 +82,7 @@ assertEquals(-1, receiverTerm.get()); assertFalse(leadershipStale.get()); - assertEquals(5, votingLog.getStronglyAcceptedNodeIds().size()); + assertEquals(5, member.getVotingLogList().totalAcceptedNodeNum(votingLog)); } finally { ClusterDescriptor.getInstance().getConfig().setReplicationNum(replicationNum); } @@ -95,18 +90,13 @@ @Test public void testNoAgreement() { - AtomicLong receiverTerm = new AtomicLong(-1); - AtomicBoolean leadershipStale = new AtomicBoolean(false); Log log = new TestLog(); VotingLog votingLog = new VotingLog(log, 10); - PeerInfo peerInfo = new PeerInfo(1); for (int i = 0; i < 3; i++) { AppendNodeEntryHandler handler = new AppendNodeEntryHandler(); - handler.setLeaderShipStale(leadershipStale); handler.setLog(votingLog); handler.setMember(member); - handler.setReceiverTerm(receiverTerm); handler.setDirectReceiver(TestUtils.getNode(i)); handler.setQuorumSize(ClusterDescriptor.getInstance().getConfig().getReplicationNum() / 2); AppendEntryResult result = new AppendEntryResult(); @@ -114,58 +104,43 @@ handler.onComplete(result); } - assertEquals(-1, receiverTerm.get()); - assertFalse(leadershipStale.get()); - assertEquals(3, votingLog.getStronglyAcceptedNodeIds().size()); + assertEquals(3, member.getVotingLogList().totalAcceptedNodeNum(votingLog)); } @Test public void testLeadershipStale() throws InterruptedException { - AtomicLong receiverTerm = new AtomicLong(-1); - AtomicBoolean leadershipStale = new AtomicBoolean(false); Log log = new TestLog(); VotingLog votingLog = new VotingLog(log, 10); - PeerInfo peerInfo = new PeerInfo(1); synchronized (votingLog) { AppendNodeEntryHandler handler = new AppendNodeEntryHandler(); - handler.setLeaderShipStale(leadershipStale); handler.setLog(votingLog); handler.setMember(member); - handler.setReceiverTerm(receiverTerm); handler.setDirectReceiver(TestUtils.getNode(0)); handler.setQuorumSize(ClusterDescriptor.getInstance().getConfig().getReplicationNum() / 2); new Thread(() -> handler.onComplete(new AppendEntryResult(100L))).start(); votingLog.wait(); } - assertEquals(100, receiverTerm.get()); - assertTrue(leadershipStale.get()); - assertEquals(0, votingLog.getStronglyAcceptedNodeIds().size()); + assertEquals(100, member.getTerm().get()); + assertEquals(0, member.getVotingLogList().totalAcceptedNodeNum(votingLog)); } @Test public void testError() { - AtomicLong receiverTerm = new AtomicLong(-1); - AtomicBoolean leadershipStale = new AtomicBoolean(false); Log log = new TestLog(); int replicationNum = ClusterDescriptor.getInstance().getConfig().getReplicationNum(); ClusterDescriptor.getInstance().getConfig().setReplicationNum(10); try { VotingLog votingLog = new VotingLog(log, 10); - PeerInfo peerInfo = new PeerInfo(1); AppendNodeEntryHandler handler = new AppendNodeEntryHandler(); - handler.setLeaderShipStale(leadershipStale); handler.setLog(votingLog); handler.setMember(member); - handler.setReceiverTerm(receiverTerm); handler.setDirectReceiver(TestUtils.getNode(0)); handler.setQuorumSize(ClusterDescriptor.getInstance().getConfig().getReplicationNum() / 2); handler.onError(new TestException()); - assertEquals(-1, receiverTerm.get()); - assertFalse(leadershipStale.get()); - assertEquals(0, votingLog.getStronglyAcceptedNodeIds().size()); + assertEquals(0, member.getVotingLogList().totalAcceptedNodeNum(votingLog)); } finally { ClusterDescriptor.getInstance().getConfig().setReplicationNum(replicationNum);
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/ElectionHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/ElectionHandlerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/ElectionHandlerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/ElectionHandlerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/GenericHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/GenericHandlerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/GenericHandlerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/GenericHandlerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/JoinClusterHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/JoinClusterHandlerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/JoinClusterHandlerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/JoinClusterHandlerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/LogCatchUpHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/LogCatchUpHandlerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/LogCatchUpHandlerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/LogCatchUpHandlerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/PullMeasurementSchemaHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/PullMeasurementSchemaHandlerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/PullMeasurementSchemaHandlerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/PullMeasurementSchemaHandlerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/PullSnapshotHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/PullSnapshotHandlerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/PullSnapshotHandlerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/PullSnapshotHandlerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/SnapshotCatchUpHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/SnapshotCatchUpHandlerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/caller/SnapshotCatchUpHandlerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/SnapshotCatchUpHandlerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/forwarder/ForwardPlanHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/forwarder/ForwardPlanHandlerTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/handlers/forwarder/ForwardPlanHandlerTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/forwarder/ForwardPlanHandlerTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThreadTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThreadTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThreadTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThreadTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/heartbeat/MetaHeartbeatThreadTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/MetaHeartbeatThreadTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/heartbeat/MetaHeartbeatThreadTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/MetaHeartbeatThreadTest.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/BaseMember.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/BaseMember.java similarity index 99% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/BaseMember.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/member/BaseMember.java index c6037bf..34b803b 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/BaseMember.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/BaseMember.java
@@ -242,7 +242,7 @@ } @Override - public AppendEntryResult appendEntry(AppendEntryRequest request) { + public AppendEntryResult appendEntry(AppendEntryRequest request, boolean isVerifier) { return new AppendEntryResult(Response.RESPONSE_AGREE); }
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java similarity index 99% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java index f517936..00cd99a 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java
@@ -204,7 +204,7 @@ } @Override - public AppendEntryResult appendEntry(AppendEntryRequest request) { + public AppendEntryResult appendEntry(AppendEntryRequest request, boolean isVerifier) { return new AppendEntryResult(Response.RESPONSE_AGREE); }
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java similarity index 99% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java index b8c7356..bc31de1 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java
@@ -120,7 +120,6 @@ import org.apache.iotdb.tsfile.write.schema.TimeseriesSchema; import org.apache.thrift.async.AsyncMethodCallback; -import org.apache.thrift.protocol.TCompactProtocol.Factory; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -252,7 +251,8 @@ } catch (QueryProcessException | StorageGroupNotSetException | StorageEngineException e) { - return new ConsensusWriteResponse(new ConsensusException(e.getMessage(), e), StatusUtils.EXECUTE_STATEMENT_ERROR); + return new ConsensusWriteResponse( + new ConsensusException(e.getMessage(), e), StatusUtils.EXECUTE_STATEMENT_ERROR); } } @@ -462,6 +462,7 @@ @Override public void appendEntry( AppendEntryRequest request, + boolean isVerifier, AsyncMethodCallback<AppendEntryResult> resultHandler) { new Thread( () -> { @@ -1114,13 +1115,13 @@ GenericHandler<AppendEntryResult> handler = new GenericHandler<>(TestUtils.getNode(0), result); testMetaMember.setPartitionTable(null); testMetaMember.setReady(false); - new MetaAsyncService(testMetaMember).appendEntry(request, handler); + new MetaAsyncService(testMetaMember).appendEntry(request, false, handler); assertEquals(Response.RESPONSE_PARTITION_TABLE_UNAVAILABLE, result.get().status); System.out.println("Term after first append: " + testMetaMember.getTerm().get()); testMetaMember.setPartitionTable(partitionTable); testMetaMember.setReady(true); - new MetaAsyncService(testMetaMember).appendEntry(request, handler); + new MetaAsyncService(testMetaMember).appendEntry(request, false, handler); System.out.println("Term after second append: " + testMetaMember.getTerm().get()); assertEquals(Response.RESPONSE_STRONG_ACCEPT, result.get().status); }
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/RaftMemberTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/RaftMemberTest.java similarity index 95% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/RaftMemberTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/server/member/RaftMemberTest.java index b52cbd5..22aa1ee 100644 --- a/cluster/src/test_back/java/org/apache/iotdb/cluster/server/member/RaftMemberTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/RaftMemberTest.java
@@ -84,7 +84,7 @@ .setConsistencyLevel(ConsistencyLevel.STRONG_CONSISTENCY); try { - PartitionedSnapshotLogManager partitionedSnapshotLogManager = + PartitionedSnapshotLogManager<?> partitionedSnapshotLogManager = Mockito.mock(PartitionedSnapshotLogManager.class); Mockito.when(partitionedSnapshotLogManager.getMaxHaveAppliedCommitIndex()).thenReturn(1000L); dataGroupMemberWithWriteStrongConsistencyTrue.setLogManager(partitionedSnapshotLogManager); @@ -107,7 +107,7 @@ ClusterDescriptor.getInstance().getConfig().setMaxReadLogLag(1); try { - PartitionedSnapshotLogManager partitionedSnapshotLogManager = + PartitionedSnapshotLogManager<?> partitionedSnapshotLogManager = Mockito.mock(PartitionedSnapshotLogManager.class); Mockito.when(partitionedSnapshotLogManager.getMaxHaveAppliedCommitIndex()).thenReturn(-2L); dataGroupMemberWithWriteStrongConsistencyFalse.setLogManager(partitionedSnapshotLogManager); @@ -130,7 +130,7 @@ ClusterDescriptor.getInstance().getConfig().setMaxReadLogLag(500); try { - PartitionedSnapshotLogManager partitionedSnapshotLogManager = + PartitionedSnapshotLogManager<?> partitionedSnapshotLogManager = Mockito.mock(PartitionedSnapshotLogManager.class); Mockito.when(partitionedSnapshotLogManager.getMaxHaveAppliedCommitIndex()).thenReturn(600L); dataGroupMemberWithWriteStrongConsistencyTrue.setLogManager(partitionedSnapshotLogManager); @@ -153,7 +153,7 @@ ClusterDescriptor.getInstance().getConfig().setMaxReadLogLag(1); try { - PartitionedSnapshotLogManager partitionedSnapshotLogManager = + PartitionedSnapshotLogManager<?> partitionedSnapshotLogManager = Mockito.mock(PartitionedSnapshotLogManager.class); Mockito.when(partitionedSnapshotLogManager.getMaxHaveAppliedCommitIndex()).thenReturn(-2L); dataGroupMemberWithWriteStrongConsistencyFalse.setLogManager(partitionedSnapshotLogManager); @@ -175,7 +175,7 @@ ClusterDescriptor.getInstance().getConfig().setMaxReadLogLag(500); try { - PartitionedSnapshotLogManager partitionedSnapshotLogManager = + PartitionedSnapshotLogManager<?> partitionedSnapshotLogManager = Mockito.mock(PartitionedSnapshotLogManager.class); Mockito.when(partitionedSnapshotLogManager.getMaxHaveAppliedCommitIndex()).thenReturn(600L); dataGroupMemberWithWriteStrongConsistencyTrue.setLogManager(partitionedSnapshotLogManager); @@ -201,7 +201,7 @@ } @Override - public AppendEntryResult appendEntry(AppendEntryRequest request) { + public AppendEntryResult appendEntry(AppendEntryRequest request, boolean isVerifier) { return new AppendEntryResult(Response.RESPONSE_AGREE); } @@ -238,7 +238,7 @@ } @Override - public AppendEntryResult appendEntry(AppendEntryRequest request) { + public AppendEntryResult appendEntry(AppendEntryRequest request, boolean isVerifier) { return new AppendEntryResult(Response.RESPONSE_AGREE); }
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/utils/Constants.java b/cluster/src/test/java/org/apache/iotdb/cluster/utils/Constants.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/utils/Constants.java rename to cluster/src/test/java/org/apache/iotdb/cluster/utils/Constants.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/utils/CreateTemplatePlanUtil.java b/cluster/src/test/java/org/apache/iotdb/cluster/utils/CreateTemplatePlanUtil.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/utils/CreateTemplatePlanUtil.java rename to cluster/src/test/java/org/apache/iotdb/cluster/utils/CreateTemplatePlanUtil.java
diff --git a/cluster/src/test_back/java/org/apache/iotdb/cluster/utils/SerializeUtilTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/utils/SerializeUtilTest.java similarity index 100% rename from cluster/src/test_back/java/org/apache/iotdb/cluster/utils/SerializeUtilTest.java rename to cluster/src/test/java/org/apache/iotdb/cluster/utils/SerializeUtilTest.java
diff --git a/cluster/src/test_back/resources/logback-test.xml b/cluster/src/test/resources/logback-test.xml similarity index 100% rename from cluster/src/test_back/resources/logback-test.xml rename to cluster/src/test/resources/logback-test.xml
diff --git a/cluster/src/test_back/resources/node1conf/iotdb-cluster.properties b/cluster/src/test/resources/node1conf/iotdb-cluster.properties similarity index 100% rename from cluster/src/test_back/resources/node1conf/iotdb-cluster.properties rename to cluster/src/test/resources/node1conf/iotdb-cluster.properties
diff --git a/cluster/src/test_back/resources/node1conf/iotdb-engine.properties b/cluster/src/test/resources/node1conf/iotdb-engine.properties similarity index 100% rename from cluster/src/test_back/resources/node1conf/iotdb-engine.properties rename to cluster/src/test/resources/node1conf/iotdb-engine.properties
diff --git a/cluster/src/test_back/resources/node1conf/iotdb-metric.yml b/cluster/src/test/resources/node1conf/iotdb-metric.yml similarity index 100% rename from cluster/src/test_back/resources/node1conf/iotdb-metric.yml rename to cluster/src/test/resources/node1conf/iotdb-metric.yml
diff --git a/cluster/src/test_back/resources/node1conf/logback.xml b/cluster/src/test/resources/node1conf/logback.xml similarity index 100% rename from cluster/src/test_back/resources/node1conf/logback.xml rename to cluster/src/test/resources/node1conf/logback.xml
diff --git a/cluster/src/test_back/resources/node2conf/iotdb-cluster.properties b/cluster/src/test/resources/node2conf/iotdb-cluster.properties similarity index 100% rename from cluster/src/test_back/resources/node2conf/iotdb-cluster.properties rename to cluster/src/test/resources/node2conf/iotdb-cluster.properties
diff --git a/cluster/src/test_back/resources/node2conf/iotdb-engine.properties b/cluster/src/test/resources/node2conf/iotdb-engine.properties similarity index 100% rename from cluster/src/test_back/resources/node2conf/iotdb-engine.properties rename to cluster/src/test/resources/node2conf/iotdb-engine.properties
diff --git a/cluster/src/test_back/resources/node2conf/iotdb-metric.yml b/cluster/src/test/resources/node2conf/iotdb-metric.yml similarity index 100% rename from cluster/src/test_back/resources/node2conf/iotdb-metric.yml rename to cluster/src/test/resources/node2conf/iotdb-metric.yml
diff --git a/cluster/src/test_back/resources/node2conf/logback.xml b/cluster/src/test/resources/node2conf/logback.xml similarity index 100% rename from cluster/src/test_back/resources/node2conf/logback.xml rename to cluster/src/test/resources/node2conf/logback.xml
diff --git a/cluster/src/test_back/resources/node3conf/iotdb-cluster.properties b/cluster/src/test/resources/node3conf/iotdb-cluster.properties similarity index 100% rename from cluster/src/test_back/resources/node3conf/iotdb-cluster.properties rename to cluster/src/test/resources/node3conf/iotdb-cluster.properties
diff --git a/cluster/src/test_back/resources/node3conf/iotdb-engine.properties b/cluster/src/test/resources/node3conf/iotdb-engine.properties similarity index 100% rename from cluster/src/test_back/resources/node3conf/iotdb-engine.properties rename to cluster/src/test/resources/node3conf/iotdb-engine.properties
diff --git a/cluster/src/test_back/resources/node3conf/iotdb-metric.yml b/cluster/src/test/resources/node3conf/iotdb-metric.yml similarity index 100% rename from cluster/src/test_back/resources/node3conf/iotdb-metric.yml rename to cluster/src/test/resources/node3conf/iotdb-metric.yml
diff --git a/cluster/src/test_back/resources/node3conf/logback.xml b/cluster/src/test/resources/node3conf/logback.xml similarity index 100% rename from cluster/src/test_back/resources/node3conf/logback.xml rename to cluster/src/test/resources/node3conf/logback.xml