[ 
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)

Reply via email to