changxue created IOTDB-5132:
-------------------------------

             Summary: create many timeseries with benchmark, failed with 301 
null 
                 Key: IOTDB-5132
                 URL: https://issues.apache.org/jira/browse/IOTDB-5132
             Project: Apache IoTDB
          Issue Type: Bug
          Components: Core/Schema Manager
    Affects Versions: 1.0.0
            Reporter: changxue
            Assignee: Gaofei Cao
         Attachments: allnodes-log.tar.gz, config.properties, nohup.out

create many timeseries with benchmark, failed with 301 null

environment:
3C3D cluster, the 1.0.0 release bin of allinone

benchmark:
1.0  commit: 25c1f742
config see attachment of config.properties and nohup.out is its full logs.

I'm going to do performance testing with benchmark on IoTDB. There is a 
scenario: create 50W timeseries on 1 device.

reproduction:
1. start IoTDB cluster successfully 
2. 4 minutes later start the iot-benchmark

error log of benchmark:
{code}
2022-12-06 19:37:30,280 ERROR cn.edu.tsinghua.iot.benchmark.iotdb100.IoTDB:359 
- Register IoTDB schema failed because  
org.apache.iotdb.rpc.StatementExecutionException: 301: null
        at org.apache.iotdb.rpc.RpcUtils.verifySuccess(RpcUtils.java:96)
        at 
org.apache.iotdb.session.SessionConnection.createAlignedTimeseries(SessionConnection.java:293)
        at 
org.apache.iotdb.session.Session.createAlignedTimeseries(Session.java:552)
        at 
cn.edu.tsinghua.iot.benchmark.iotdb100.IoTDB.registerTimeseries(IoTDB.java:332)
        at 
cn.edu.tsinghua.iot.benchmark.iotdb100.IoTDB.registerSchema(IoTDB.java:208)
        at 
cn.edu.tsinghua.iot.benchmark.tsdb.DBWrapper.registerSchema(DBWrapper.java:517)
        at 
cn.edu.tsinghua.iot.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)
{code}

error log of datanode:
{code}
2022-12-06 19:37:23,184 [grpc-default-executor-0] WARN  
o.a.ratis.util.LogUtils:124 - 1: Failed requestVote 5->1#0
org.apache.ratis.protocol.exceptions.GroupMismatchException: 1: 
group-000200000000 not found.
        at 
org.apache.ratis.server.impl.RaftServerProxy$ImplMap.get(RaftServerProxy.java:150)
        at 
org.apache.ratis.server.impl.RaftServerProxy.getImplFuture(RaftServerProxy.java:351)
        at 
org.apache.ratis.server.impl.RaftServerProxy.getImpl(RaftServerProxy.java:360)
        at 
org.apache.ratis.server.impl.RaftServerProxy.getImpl(RaftServerProxy.java:355)
        at 
org.apache.ratis.server.impl.RaftServerProxy.requestVote(RaftServerProxy.java:618)
        at 
org.apache.ratis.grpc.server.GrpcServerProtocolService.requestVote(GrpcServerProtocolService.java:175)
        at 
org.apache.ratis.proto.grpc.RaftServerProtocolServiceGrpc$MethodHandlers.invoke(RaftServerProtocolServiceGrpc.java:382)
        at 
org.apache.ratis.thirdparty.io.grpc.stub.ServerCalls$UnaryServerCallHandler$UnaryServerCallListener.onHalfClose(ServerCalls.java:182)
        at 
org.apache.ratis.thirdparty.io.grpc.PartialForwardingServerCallListener.onHalfClose(PartialForwardingServerCallListener.java:35)
        at 
org.apache.ratis.thirdparty.io.grpc.ForwardingServerCallListener.onHalfClose(ForwardingServerCallListener.java:23)
        at 
org.apache.ratis.thirdparty.io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.halfClosed(ServerCallImpl.java:354)
        at 
org.apache.ratis.thirdparty.io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1HalfClosed.runInContext(ServerImpl.java:866)
        at 
org.apache.ratis.thirdparty.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
        at 
org.apache.ratis.thirdparty.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
        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)
{code}

说明:
1. 单独创建timeseries是没有问题的。
2. 猜测是并发问题
3. show timeseries root.** 发现并未创建成功,1个都没有




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

Reply via email to