You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "刘珍 (Jira)" <ji...@apache.org> on 2022/09/16 06:00:00 UTC

[jira] [Created] (IOTDB-4429) [ ratis ]java.lang.IllegalStateException Found a gap between logs ,failed to start datanode

刘珍 created IOTDB-4429:
-------------------------

             Summary: [ ratis ]java.lang.IllegalStateException  Found a gap between logs ,failed to start datanode
                 Key: IOTDB-4429
                 URL: https://issues.apache.org/jira/browse/IOTDB-4429
             Project: Apache IoTDB
          Issue Type: Bug
          Components: mpp-cluster
    Affects Versions: 0.14.0-SNAPSHOT
            Reporter: 刘珍
            Assignee: Song Ziyang


master_0914_ratis , 基于ratis代码打包:
3C3D3副本,bm写入完成,(12小时后)查询序列的记录数正确。
3台机器手动执行 killall -u current_user   ,
重启启动集群,datanode启动失败:
2022-09-16 10:05:29,073 [main] ERROR o.a.i.c.ServerCommandLine:63 - Failed to execute system command
java.util.concurrent.CompletionException: java.lang.IllegalStateException: Found a gap between logs: the last log segment log-518339_518817 ended at 518817 but the next log segment log-614837_615559 started at 614837
        at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
        at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
        at java.util.concurrent.CompletableFuture.biRelay(CompletableFuture.java:1298)
        at java.util.concurrent.CompletableFuture$BiRelay.tryFire(CompletableFuture.java:1284)
        at java.util.concurrent.CompletableFuture$CoCompletion.tryFire(CompletableFuture.java:1034)
        at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
        at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990)
        at org.apache.ratis.util.ConcurrentUtils.accept(ConcurrentUtils.java:176)
        at org.apache.ratis.util.ConcurrentUtils.lambda$null$3(ConcurrentUtils.java:165)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: Found a gap between logs: the last log segment log-518339_518817 ended at 518817 but the next log segment log-614837_615559 started at 614837
        at org.apache.ratis.util.Preconditions.assertTrue(Preconditions.java:73)
        at org.apache.ratis.server.raftlog.segmented.SegmentedRaftLogCache.validateAdding(SegmentedRaftLogCache.java:430)
        at org.apache.ratis.server.raftlog.segmented.SegmentedRaftLogCache.addSegment(SegmentedRaftLogCache.java:437)
        at org.apache.ratis.server.raftlog.segmented.SegmentedRaftLogCache.loadSegment(SegmentedRaftLogCache.java:390)
        at org.apache.ratis.server.raftlog.segmented.SegmentedRaftLog.loadLogSegments(SegmentedRaftLog.java:242)
        at org.apache.ratis.server.raftlog.segmented.SegmentedRaftLog.openImpl(SegmentedRaftLog.java:215)
        at org.apache.ratis.server.raftlog.RaftLogBase.open(RaftLogBase.java:251)
        at org.apache.ratis.server.impl.ServerState.initRaftLog(ServerState.java:186)
        at org.apache.ratis.server.impl.ServerState.initRaftLog(ServerState.java:166)
        at org.apache.ratis.server.impl.ServerState.lambda$new$5(ServerState.java:130)
        at org.apache.ratis.util.MemoizedSupplier.get(MemoizedSupplier.java:62)
        at org.apache.ratis.server.impl.ServerState.initialize(ServerState.java:147)
        at org.apache.ratis.server.impl.RaftServerImpl.start(RaftServerImpl.java:326)
        at org.apache.ratis.util.ConcurrentUtils.accept(ConcurrentUtils.java:173)
        ... 4 common frames omitted

测试环境
1. 192.168.130.3/4/5 16cpu32GB
bm在ip2

2. bm配置见附件
运行时间 10.36小时。
全部数据写入成功。

3. (12小时后)select count(s_89) from root.** align by device ;
1600个序列的count值 均= 50000

4. 3台机器,手动输入cmd  killall -u iotdb
echo 3 > /proc/sys/vm/drop_caches

5. 启动ConfigNode 成功

6. 启动DataDode失败



--
This message was sent by Atlassian Jira
(v8.20.10#820010)