[ https://issues.apache.org/jira/browse/IOTDB-3983?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jinrui Zhang reopened IOTDB-3983: --------------------------------- Let's continue to handle the warning and exception stack > [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)