刘珍 created IOTDB-4062: ------------------------- Summary: [ 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: Jialin Qiao
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重复执行附件中的脚本 -- This message was sent by Atlassian Jira (v8.20.10#820010)