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/03/09 05:46:00 UTC

[jira] [Assigned] (IOTDB-2708) [merge recover] The query result contains deleted records

     [ https://issues.apache.org/jira/browse/IOTDB-2708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

刘珍 reassigned IOTDB-2708:
-------------------------

    Assignee: Jialin Qiao

> [merge recover] The query result contains deleted records
> ---------------------------------------------------------
>
>                 Key: IOTDB-2708
>                 URL: https://issues.apache.org/jira/browse/IOTDB-2708
>             Project: Apache IoTDB
>          Issue Type: Bug
>          Components: Core/Compaction
>    Affects Versions: 0.12.5
>            Reporter: 刘珍
>            Assignee: Jialin Qiao
>            Priority: Major
>         Attachments: image-2022-03-09-13-43-54-412.png, q.sh, select.sh
>
>
> iotdb版本:0.12.5 rc1
> 问题描述:
>  merge_thread_num=3
>  合并过程中,执行delete,kill iotdb。
>   启动iotdb,执行查询,部分设备可以查询到已经delete的数据。
> 测试流程:
> 1. 0.12.5 pre4 关合并,生成数据,存放在192.168.10.68的/data/liuzhen_test/1205_pre4/data_bk_close-comp
> 2.copy 步骤1中的备份,到/data/liuzhen_test/1205_rc1
> 执行恢复。
> 2022-03-09 10:52:17,714 [main] INFO  o.a.i.db.service.IoTDB:153 - Congratulation, IoTDB is set up successfully. Now, enjoy yourself!
> 2022-03-09 11:16:08,221  执行delete_when_comp.sh(每个设备delete2条记录,100个设备串行执行):
> #!/bin/bash
> base_db_dir="/data/liuzhen_test/1205_rc1"
> out_dev="dev_name.txt"
> function expDevNameToFile()
> {
>         ${base_db_dir}/sbin/start-cli.sh  -e "set max_display_num=0 ;show devices;"|grep root|awk -F '|' '{print $2}'>${out_dev}
> }
> expDevNameToFile
> # delete 2 row  1 of seq ,1 of unseq
> function del2rows()
> {
>    while read LINE
>    do
>       ${base_db_dir}/sbin/start-cli.sh -e " select s_0 from "$LINE" where time=2024-05-24T18:00:05.000+08:00 or time=2034-01-24T18:53:22.000+08:00" >> sel.out
>       ${base_db_dir}/sbin/start-cli.sh -e " delete from "$LINE" where time=2034-01-24T18:53:22.000+08:00"  >> sel.out
>       ${base_db_dir}/sbin/start-cli.sh -e " delete from "$LINE" where time=2024-05-24T18:00:05.000+08:00"  >> sel.out
>       ${base_db_dir}/sbin/start-cli.sh -e " select s_0 from "$LINE" where time=2024-05-24T18:00:05.000+08:00 or time=2034-01-24T18:53:22.000+08:00" >> sel.out
>       echo $LINE
>    done  < ${out_dev}
> }
> del2rows
> 这个脚本执行完后,killall -u liuzhen
> 备份data,存放在/data/liuzhen_test/1205_rc1/data_del-2rows_stop-merge-3threads_01
> 3. 清操作系统缓存
> sudo -s <<EOF
> echo 3 >/proc/sys/vm/drop_caches
> EOF
> 4.启动iotdb
> 启动成功后,串行执行查询脚本
> select.sh
> 和
> q.sh
> 5.查看查询结果,root.ip5.ip52存储组下的10个设备中已经delete的记录,可以查询到。
>  !image-2022-03-09-13-43-54-412.png! 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)