You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "Yukun Zhou (Jira)" <ji...@apache.org> on 2022/10/07 02:16:00 UTC

[jira] [Commented] (IOTDB-4563) [ delete timeseries ]Failed to execute delete timeseries [root.**] in config node, status is TSStatus(code:303, message:Delete timeseries [root.**] failed when [roll back schema black list])

    [ https://issues.apache.org/jira/browse/IOTDB-4563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17613842#comment-17613842 ] 

Yukun Zhou commented on IOTDB-4563:
-----------------------------------

从日志来看,test3下的序列有部分被delete ts操作纳入了黑名单,因此可以断定test3的序列注册和delete ts存在并发竞争,共识层抛400可能是因为单schemaRegion内的并发竞争导致任务执行超时,可尝试调大超时时间或减小单个device下的sensor数量再进行验证。

> [ delete timeseries ]Failed to execute delete timeseries [root.**] in config node, status is TSStatus(code:303, message:Delete timeseries [root.**] failed when [roll back schema black list])
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: IOTDB-4563
>                 URL: https://issues.apache.org/jira/browse/IOTDB-4563
>             Project: Apache IoTDB
>          Issue Type: Bug
>          Components: mpp-cluster
>    Affects Versions: 0.14.0-SNAPSHOT
>            Reporter: 刘珍
>            Assignee: Yukun Zhou
>            Priority: Major
>         Attachments: del_ts.sh, down_delete_ts.conf, ip19_logs_all.tar.gz, run_del_1.sh, run_del_2.sh
>
>
> master_0929_1061156
> SchemaRegion : ratis
> DataRegion : multiLeader
> 均为3副本,3C9D,运行过程中,不执行故障操作
> 串行 多次执行delete timeseries root.**
> ip19 ERROR 信息
> 2022-09-29 20:25:54,598 [pool-24-IoTDB-ClientRPC-Processor-99$20220929_121951_15060_11] {color:#DE350B}*ERROR o.a.i.d.m.p.e.c.e.ClusterConfigTaskExecutor:959 - Failed to execute delete timeseries [root.**] in config node, status is TSStatus(code:303, message:Delete timeseries [root.**] failed when [roll back schema black list]).*{color}
> 2022-09-29 20:25:54,600 [pool-21-IoTDB-MPPCoordinator-16] ERROR o.a.i.d.m.p.e.c.ConfigExecution:124 - Failures happened during running ConfigExecution.
> org.apache.iotdb.commons.exception.IoTDBException: Delete timeseries [root.**] failed when [roll back schema black list]
>         at org.apache.iotdb.db.mpp.plan.execution.config.executor.ClusterConfigTaskExecutor.deleteTimeSeries(ClusterConfigTaskExecutor.java:963)
>         at org.apache.iotdb.db.mpp.plan.execution.config.metadata.DeleteTimeSeriesTask.execute(DeleteTimeSeriesTask.java:43)
>         at org.apache.iotdb.db.mpp.plan.execution.config.ConfigExecution.start(ConfigExecution.java:99)
>         at org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:146)
>         at org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl.executeStatement(ClientRPCServiceImpl.java:564)
>         at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatement.getResult(IClientRPCService.java:3037)
>         at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatement.getResult(IClientRPCService.java:3017)
>         at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
>         at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:38)
>         at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
>         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. 启动3C9D 干净集群
> 3C 172.20.70.31/32/33
> 9D  172.20.70.2/3/4/5/13/14/16/18/19
> 集群配置参数
> ConfigNode
>  MAX_HEAP_SIZE="8G"
> MAX_DIRECT_MEMORY_SIZE="4G"
> 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
> DataNode
> MAX_HEAP_SIZE="20G"
> MAX_DIRECT_MEMORY_SIZE="6G"
> max_waiting_time_when_insert_blocked=3600000
> query_timeout_threshold=36000000
> 2. 启动测试脚本
> 有2个脚本(可以写到1个)
> 先启动脚本1
> 脚本1 的执行流程是
> 流程1:
> DB_NAME=*test1*, bm往root.test1.sg_[x]写入数据,完成(flush)。
> 流程2:
> delete timeseries root.**
> 5秒后
> DB_NAME=*test2 *,运行bm,往root.test2.sg_[x]中写入数据
> 等待delete ts操作和root.test2.sg的写入操作完成(flush)
> 流程3:
> delete timeseries root.**
> 5秒后
> DB_NAME=*test3 *,运行bm,往root.test3.sg_[x]中写入数据
> 等待delete ts操作和root.test3.sg的写入操作完成(flush)
> 脚本1执行完成,执行脚本2:
> 脚本2 的流程与脚本1相同,区别是脚本2的DB_NAME=test3
>  详细见附件
> 脚本2,流程3的bm ERROR
> 2022-09-29 20:20:12,561 ERROR cn.edu.tsinghua.iotdb.benchmark.iotdb013.IoTDB:359 - Register IoTDB schema failed because
> org.apache.iotdb.rpc.StatementExecutionException: 400: Ratis request failed
>         at org.apache.iotdb.rpc.RpcUtils.verifySuccess(RpcUtils.java:94)
>         at org.apache.iotdb.session.SessionConnection.createMultiTimeseries(SessionConnection.java:300)
>         at org.apache.iotdb.session.Session.createMultiTimeseries(Session.java:555)
>         at cn.edu.tsinghua.iotdb.benchmark.iotdb013.IoTDB.registerTimeseries(IoTDB.java:340)
>         at cn.edu.tsinghua.iotdb.benchmark.iotdb013.IoTDB.registerSchema(IoTDB.java:208)
>         at cn.edu.tsinghua.iotdb.benchmark.tsdb.DBWrapper.registerSchema(DBWrapper.java:506)
>         at cn.edu.tsinghua.iotdb.benchmark.client.SchemaClient.run(SchemaClient.java:94)
>         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)
> 3. 验证数据
> 脚本执行完成后,数据库的期望结果是
> 只有root.test3.**的元数据
> ./sbin/start-cli.sh -h 172.20.70.19 -e "show devices"|grep "root.test3"|wc -l
> 300
> ./sbin/start-cli.sh -h 172.20.70.19 -e "count timeseries root.test3.** group by level=3"|grep "     10000|"|wc -l
> 300
> 时间戳都是2014年的 :
> ./sbin/start-cli.sh -h 172.20.70.19 -e "select count(s_4) from root.**  where time < 2014-9-30T00:00:00+08:00 align by device" > q2.out
>  ./sbin/start-cli.sh -h 172.20.70.19 -e "select count(s_4) from root.** align by device" > q1.out
> q1.out 与q2.out相同



--
This message was sent by Atlassian Jira
(v8.20.10#820010)