[ https://issues.apache.org/jira/browse/IOTDB-4062?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jialin Qiao reassigned IOTDB-4062: ---------------------------------- Assignee: Yukun Zhou (was: Jialin Qiao) > [ raft log & MetaData ] raft log recovery should not redo > MeasurementAlreadyExist operation > -------------------------------------------------------------------------------------------- > > Key: IOTDB-4062 > URL: https://issues.apache.org/jira/browse/IOTDB-4062 > Project: Apache IoTDB > Issue Type: Improvement > Components: mpp-cluster > Reporter: 刘珍 > Assignee: Yukun Zhou > Priority: Major > Attachments: config_raft_log_recovery.properties > > > raft log恢复,会重做所有MetaData的写操作,对于失败的元数据写操作比如序列已存在: > [192.168.10.62_50010@group-000200000000-StateMachineUpdater] ERROR > o.a.i.d.m.v.SchemaExecutionVisitor:108 - IoTDB: MetaData error: > org.apache.iotdb.db.exception.metadata.MeasurementAlreadyExistException: Path > [root.bm68_dn62.g_0.d_0.s_1] already exist > 不需要重做。 > 完整的异常: > 2022-08-08 17:46:29,045 > [192.168.10.62_50010@group-000200000000-StateMachineUpdater] ERROR > o.a.i.d.m.v.SchemaExecutionVisitor:108 - IoTDB: MetaData error: > org.apache.iotdb.db.exception.metadata.MeasurementAlreadyExistException: Path > [root.bm68_dn62.g_0.d_0.s_2] already exist > at > org.apache.iotdb.db.metadata.mtree.MTreeBelowSGMemoryImpl.createTimeseries(MTreeBelowSGMemoryImpl.java:213) > at > org.apache.iotdb.db.metadata.schemaregion.SchemaRegionMemoryImpl.createTimeseries(SchemaRegionMemoryImpl.java:589) > at > org.apache.iotdb.db.metadata.visitor.SchemaExecutionVisitor.visitCreateMultiTimeSeries(SchemaExecutionVisitor.java:105) > at > org.apache.iotdb.db.metadata.visitor.SchemaExecutionVisitor.visitCreateMultiTimeSeries(SchemaExecutionVisitor.java:62) > at > org.apache.iotdb.db.mpp.plan.planner.plan.node.metedata.write.CreateMultiTimeSeriesNode.accept(CreateMultiTimeSeriesNode.java:141) > at > org.apache.iotdb.db.consensus.statemachine.SchemaRegionStateMachine.write(SchemaRegionStateMachine.java:68) > at > org.apache.iotdb.consensus.ratis.ApplicationStateMachineProxy.applyTransaction(ApplicationStateMachineProxy.java:121) > at > org.apache.ratis.server.impl.RaftServerImpl.applyLogToStateMachine(RaftServerImpl.java:1588) > at > org.apache.ratis.server.impl.StateMachineUpdater.applyLog(StateMachineUpdater.java:239) > at > org.apache.ratis.server.impl.StateMachineUpdater.run(StateMachineUpdater.java:182) > at java.lang.Thread.run(Thread.java:748) > 复现流程 > 1. benchmark重复执行附件中的脚本 > 2.再重启恢复,datanode有error -- This message was sent by Atlassian Jira (v8.20.10#820010)