[
https://issues.apache.org/jira/browse/IOTDB-3983?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17573647#comment-17573647
]
刘珍 commented on IOTDB-3983:
---------------------------
master_0801_55b5b17 , 已解决。不过下面的warn 日志可以处理一下(每个dataregion的最后1个wal文件):
!screenshot-1.png!
> [pool-10-IoTDB-WAL-Recover-1] java.lang.IllegalArgumentException: Negative
> position
> -----------------------------------------------------------------------------------
>
> Key: IOTDB-3983
> URL: https://issues.apache.org/jira/browse/IOTDB-3983
> Project: Apache IoTDB
> Issue Type: Bug
> Affects Versions: 0.14.0-SNAPSHOT
> Reporter: 刘珍
> Assignee: Haiming Zhu
> Priority: Major
> Labels: pull-request-available
> Attachments: ip3_q8_config.properties, screenshot-1.png
>
>
> master_0727_975eaa5
> MultiLeaderConsensus,3副本3C3D,1 benchmark,执行写入(有last查询)完成,
> follower同步未完成,停止整个集群,重启恢复,原leader 报错:
> 2022-07-27 18:04:49,451 [pool-10-IoTDB-WAL-Recover-1] ERROR
> o.a.i.c.c.t.WrappedThreadPoolExecutor:104 - Exception in thread pool
> org.apache.iotdb.threadpool:type=WAL-Recover
> java.lang.IllegalArgumentException: Negative position
> at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:712)
> at
> org.apache.iotdb.db.wal.recover.WALRecoverWriter.readTailMagic(WALRecoverWriter.java:58)
> at
> org.apache.iotdb.db.wal.recover.WALRecoverWriter.recover(WALRecoverWriter.java:42)
> at
> org.apache.iotdb.db.wal.recover.WALNodeRecoverTask.recoverLastFile(WALNodeRecoverTask.java:158)
> at
> org.apache.iotdb.db.wal.recover.WALNodeRecoverTask.run(WALNodeRecoverTask.java:110)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 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)
> follower节点:
> 2022-07-27 18:05:12,947 [pool-10-IoTDB-WAL-Recover-1] ERROR
> o.a.i.c.c.t.WrappedThreadPoolExecutor:104 - Exception in thread pool
> org.apache.iotdb.threadpool:type=WAL-Recover
> java.nio.channels.NonWritableChannelException: null
> at sun.nio.ch.FileChannelImpl.truncate(FileChannelImpl.java:326)
> at
> org.apache.iotdb.db.wal.recover.WALRecoverWriter.recover(WALRecoverWriter.java:46)
> at
> org.apache.iotdb.db.wal.recover.WALNodeRecoverTask.recoverLastFile(WALNodeRecoverTask.java:158)
> at
> org.apache.iotdb.db.wal.recover.WALNodeRecoverTask.run(WALNodeRecoverTask.java:110)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 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)
> ~
> 复现流程:
> 1. 192.168.130.3/4/5 16C32G
> ConfigNode
> schema_region_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus
> data_region_consensus_protocol_class=org.apache.iotdb.consensus.multileader.MultiLeaderConsensus
> schema_replication_factor=3
> data_replication_factor=3
> MAX_HEAP_SIZE="4G"
> DataNode
> wal_buffer_size_in_byte=1048576
> max_waiting_time_when_insert_blocked=3600000
> query_timeout_threshold=36000000
> 2. benchmark 运行附件中的脚本
> 1.88小时。
> 3. 约1小时,停止整个集群(未同步完)
> 重启恢复,wal异常。
> 查询结果少数据。
--
This message was sent by Atlassian Jira
(v8.20.10#820010)