You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

测试目标

尽可能覆盖所有合并可能遇到的场景

测试版本

[ISSUE-3445] New compaction strategy and compaction scheduling strategy

https://github.com/apache/iotdb/pull/3447

测试中可调整的配置参数


测试场景配置

序号

测试步骤

问题描述

扩容缩容的问题?

状态

1

1、部署node-21和node-13节点的单副本集群,启动;

2、杀掉 node-13;

3、CLI 连接 node-21,创建2条时间序列;show timeseries

步骤3执行结果:

问题1:创建时间序列成功(应该失败,因为在线节点数1<=集群节点总数的一半)

问题2show timeseries耗时60秒(耗时太长)

 


2

1、部署node-21和node-13节点的单副本集群,启动;

2、2个 bm 分别连接1个节点执行不同设备的读写负载。

bm客户端NPE,某些序列只insert 成功10条。

-       rel/0.12单机bm不存在此问题。

-       master集群bm有同样的问题。


3

1、部署node-21和node-13节点的单副本集群,启动;

2、2bm分别连接1个节点执行ingestionquery;

3、运行3分钟左右增加node-11;

增加 node-11时,node-11 的 server 日志 PathNotExistException

 

【fix】待核验

0624复测,未通过

4

1、部署node-21和node-13节点的单副本集群,启动;

2、2bm分别连接1个节点执行ingestionquery;

3、运行3分钟左右增加node-11;

4、node-11加入后,增加一个bm连接node-11进行读写;

5、3个bm持续长期执行读写;

6、15小时后,在 node-11 节点写入一个序列的当前时间数据点。

3个bm并发读写15小时后,node-21节点OOM,node-13与node-11执行show devices 个数不一致。

node-11节点insert 当前时间戳,max_time 聚合查询结果不正确



补充测试:

master 0614 2节点 node-21node-13 运行13个小时,node-21 OOM

不确定


5

1、部署node-21和node-13节点的单副本集群,顺序启动node-21、node-13;

2、stop-node.sh 脚本停止 node-21;

3、Cli 连接 node-13 创建时间序列。

步骤3执行结果:

报错信息不正确。

Msg: 312:No associated storage group.

可用节点数小于等于总结点的一半,应该不支持写操作。


6

1、部署node-21和node-13节点的单副本集群,顺序启动node-21、node-13;

2、启动1个bm连接node-13,time1,读写2分钟;

3、增加node-11,运行 5分钟;

4、将 node-11 停止,等待2分钟;

5、将 node-11 启动;

6、time1+10分钟时,增加1个bm连接node-21,进行读写;

7、将 node-11 停止。3分钟后启动。2分钟后remove;

8、删除node-11的data/logs,增加node-11;


6. node-21 server 大量

WARN o.a.i.d.metadata.MManager:2285 meet error when check root.group_8.d_78.s_488,message : Path [root.group_8d_78.s_488] does not exist.

8.增加node-11后,node-13 server报错

Internal error processing queryMultSeries

org.apache.thrift.TException: java.lang.NullPointerException


7

1、部署node-21和node-13节点的单副本集群,顺序启动node-21、node-13;

2、bm客户端分别连接node21/13执行多用户并发读写;

3、增加node-11

4、增加1个bm连接node11执行多用户并发读写;

5、remove-node.sh  node-13

6、在 node-11、node-21对一条序列执行倒序查询 (带limit)

6. node11节点查询结果不正确

 

否(master分布式本身就有的严重问题,复现方式很简单:启动单副本两节点集群,用bm插入数据后就会产生这个倒序查询结果异常,comment by lta)

【fix】待核验

0624复测,未通过

fix】0625 已解决并测试通过(链接为相应commit)

原因分析:当协调者节点需要从其他节点获取查询结果时,会直接返回BatchData,而倒序查询时返回类型应该为DescReadBatchData,获取数据时类型直接统一处理为BatchData会丢失倒序信息,导致结果有误。

【0625】 复测,desc结果不正确的问题,解决。

8

1、部署node-21的单副本集群,启动;

2、启动bm连接node-21,进行并发读写1小时;

3、增加node-11,bm继续读写1小时;手动查看2个节点的data目录大小是否正常增长、CLI分别连接2个节点,手动给个别序列做count聚合

4、增加node-13,bm继续读写1小时;手动查看三个节点的data目录大小是否正常增长、CLI分别连接3个节点,手动给个别序列做count聚合

5、移除 node-13,手动查看2个节点的data目录大小是否正常增长、CLI分别连接2个节点,手动给个别序列做count聚合

6、移除 node-11,手动查看1个节点的data目录大小是否正常增长、CLI分别连接1个节点,手动给个别序列做count聚合

2.

每30分钟data大小

5.4G/8.6G

3.连node-11的bm NPE异常

node-21,node-11 show devices结果不一致(node-21的结果不正确)

node-11的部分序列只insert 成功10条(和bm NPE异常估计有关)

node-21运行bm 2小时 data大小为8.0G

增加node-11运行bm约 1小时,data大小为6.3G

中止测试,继续没意义。



9

1、部署node-21、node-11的2副本集群,启动;

2、启动bm连接node-21,进行并发读写1小时;

3、增加node-13,bm继续读写1小时;手动查看三个节点的data目录大小是否正常增长、CLI分别连接3个节点,手动给个别序列做count聚合

4、移除 node-13,手动查看2个节点的data目录大小是否正常增长、CLI分别连接2个节点,手动给个别序列做count聚合

3、增加node-13,bm继续运行1小时

3节点data大小:

    node-21: 11GB
    node-11:    11GB
    node-13 : 3.1GB

node-21执行查询count(s_1)/show devices/last/min_time(s_1)慢,几十秒。其余2节点没有这个问题。

bm有NPE

node-21日志:

      2021-06-23 15:14:01,741 [pool-46-thread-4] WARN o.a.i.c.s.m.RaftMember:904 - Data(192.168.130.11:9007, raftId=0): leader is still offline after 60004ms
      2021-06-23 15:14:01,741 [pool-46-thread-4] WARN o.a.i.c.s.m.RaftMember:880 - Data(192.168.130.11:9007, raftId=0): No leader is found when synchronizing

node-13日志:

      2021-06-23 15:39:00,296 [ClusterClient-7] INFO o.a.i.c.s.m.NodeStatusManager:150 - NodeStatus of Node(internalIp:192.168.130.11, metaPort:9007, nodeIdentifier:356153200, dataPort:40011, clientPort:6677, clientIp:0.0.0.0) is updated, status: TNodeStatus(), response time: 297176
      2021-06-23 15:39:00,297 [ClusterClient-7] INFO o.a.i.c.s.m.NodeStatusManager:150 - NodeStatus of Node(internalIp:192.168.130.14, metaPort:9004, nodeIdentifier:355890000, dataPort:40014, clientPort:6667, clientIp:0.0.0.0) is updated, status: TNodeStatus(), response time: 598229

4、移除node-13

node-21执行查询count(s_1)/show devices/last/min_time(s_1)依然慢,相比3节点时,有改善。

node-21执行查询,也会偶尔出现正常(耗时毫秒级),需分析慢的原因。

移除node-13约30分钟后,node-21的日志:

      2021-06-23 16:52:40,671 [ClusterClient-10] INFO o.a.i.d.s.TSServiceImpl:916 - Cost: 21115 ms, sql is SELECT count(s_977) FROM root.group_3.d_23 WHERE time >= 1537383440000 AND time <= 1537383690000
      2021-06-23 16:52:40,686 [ClusterClient-6] WARN o.a.i.c.s.m.RaftMember:991 - Data(192.168.130.11:9007, raftId=0): Failed to synchronize to target index 224172 after 20003ms

node-21日志

      2021-06-23 17:20:30,446 [ClusterClient-3] WARN o.a.i.c.s.m.RaftMember:991 - Data(192.168.130.11:9007, raftId=0): Failed to synchronize to target index 274201 after 20086ms

data大小

移除node-13 18小时,data文件夹大小:

node-21:21G (其中system下raft日志 9GB)

node-11:21G (其中system 下raft日志 9GB)

node-21、node-11 count 序列查询结果不一致

    select count(s_1) from root.group_1.d_21

   node-21 : 103620条记录

    node-11:   91670条记录

  最大时间戳不正确

    node-21 :select min_time(s_1 ) ,max_time(s_1) from root.group_1.d_21

                       查询的最小时间戳=最大时间戳,最大时间戳的值不正确

    node-11 :select min_time(s_1 ) ,max_time(s_1) from root.group_1.d_21

                       最大时间戳结果不正确



10

查看数据组的主节点,node-11执行

./sbin/nodetool.sh header

[iotdb@fit11 node11]$ ./sbin/nodetool.sh header
Access denied! Invalid access level for requested MBeanServer operation.


【fix】jmx.access文件中iotdb用户的权限设置问题,报错原因是没有写权限,header命令需要传输raftid。解决方式:修改为默认用户为root,该用户默认拥有读写权限

0624复测,通过

  • No labels