You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "刘珍 (Jira)" <ji...@apache.org> on 2022/04/29 05:50:00 UTC
[jira] [Created] (IOTDB-3044) [ concurrent delete sg ] There are some timeseries that cannot be deleted
刘珍 created IOTDB-3044:
-------------------------
Summary: [ concurrent delete sg ] There are some timeseries that cannot be deleted
Key: IOTDB-3044
URL: https://issues.apache.org/jira/browse/IOTDB-3044
Project: Apache IoTDB
Issue Type: Bug
Components: Core/Schema Manager
Affects Versions: 0.14.0-SNAPSHOT
Reporter: 刘珍
Assignee: Jialin Qiao
Attachments: image-2022-04-29-13-45-06-033.png
master_0428_ca4f3cf
问题描述:
50sg,500 dev, 200000 sensor/dev
show devices的结果输出到dev_name.txt
顺序读取dev_name.txt中的设备名称,一个设备上1次delete 1个ts,10用户并发执行delete。
有的ts delete不掉。
日志中记录delete ts的操作,show timeseries还可以看到:
!image-2022-04-29-13-45-06-033.png!
测试流程
1. 192.168.10.68 机器
benchmark生成元数据。
2. 获取devices (放在${iotdb_dir})
执行脚本
get_dev_name.sh
#!/bin/bash
./sbin/start-cli.sh -e "show devices;" |grep root|awk -F '|' '{print $2}' > dev_name.txt
3. 启动并行delete (放在${iotdb_dir})
cat del_10ts.sh
#!/bin/bash
function delete_ts()
{
del_ts=$1
dev_name=$2
exp_count=$3
count_ts ${exp_count} ${dev_name}
./sbin/start-cli.sh -e "delete timeseries ${del_ts};"
let exp_count--
count_ts ${exp_count} ${dev_name}
}
function count_ts()
{
exp_c_ts=$1
dev_name=$2
cur_c_ts=`./sbin/start-cli.sh -e "count timeseries ${dev_name};"|sed -n "4,4p"|awk -F '|' '{print $2}'`
if [ "${cur_c_ts}" -eq "${exp_c_ts}" ];then
echo "ok"
else
echo "fail. ${dev_name} ${exp_c_ts} ${cur_c_ts}" >>./fail.log
fi
}
function execute()
{
in_file=$1
i=$2
exp_count=$3
n=0
cat ${in_file} | while read line
do
del_ts="${line}.s_${i}"
dev_name="${line}.*";
delete_ts ${del_ts} ${dev_name} ${exp_count} &
let i++
let n++
b=$(( $n % 10 ))
if [ "$b" -eq "0" ];then
wait
fi
done
wait
}
# 循环几轮
count_ts_base=200000
for loop in {0..99}
do
idx=$(( $loop * 2000 ))
execute "dev_name.txt" ${idx} ${count_ts_base}
let count_ts_base--
done
idx=199999
execute "dev_name.txt" ${idx} ${count_ts_base}
不符合预期的结果会打印到fail.log
根据fail中记录的 ts名称,查看日志,有对应的delete ,show 可以看到没有被delete掉。
--
This message was sent by Atlassian Jira
(v8.20.7#820007)