[ https://issues.apache.org/jira/browse/IOTDB-3040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17562059#comment-17562059 ]
Liuxuxin commented on IOTDB-3040: --------------------------------- [PR-6378|[https://github.com/apache/iotdb/pull/6378]] changes the way compaction tasks are submitted. After than, the bug of TTL failure disappear. > [ TTL ] Expired tsfiles with a TTL of more than 10 hours are not deleted > ------------------------------------------------------------------------ > > Key: IOTDB-3040 > URL: https://issues.apache.org/jira/browse/IOTDB-3040 > Project: Apache IoTDB > Issue Type: Bug > Components: Core/Server > Affects Versions: 0.14.0-SNAPSHOT > Reporter: 刘珍 > Assignee: Liuxuxin > Priority: Major > Labels: pull-request-available > Attachments: config.properties, file status.png, > iotdb-engine.properties, iotdb-env.sh, log-all-20220511.3.log.gz, log.png, > logback.xml > > > master_0427_b633df5 > 问题描述: > 长测配置,设置TTL为24小时, > grep ttl logs/log_all.log |tail -1 > 2022-04-29 08:57:07,404 [pool-11-IoTDB-TTL-Check-1] INFO > o.a.i.d.e.s.DataRegion:1658 - Removed a file > /data/iotdb_data/data/sequence/root.test.g_4/0/0/1651092583331-4021-1-0.tsfile{color:#DE350B} > before Sat Sep 01 19:33:53 CST 2018 by ttl{color} (115392194000ms) > ./tools/tsfileToolSet/print-tsfile-resource-files.sh > 解析sg中第1个resource文件,查看时间戳范围,最大时间戳: > device root.test.g_0.d_350, start time 1535749930200 > (2018-09-01T05:12:10.200+08:00[Asia/Shanghai]), {color:#DE350B}*end time > 1535749948000 (2018-09-01T05:12:28+08:00[Asia/Shanghai])*{color} > 有14个小时的过期文件没有被删除,磁盘空间无法释放。 > 1. 机器信息 > 私有云172.20.70.14/13 8C32G > 数据库,bm配置文件见附件。 > 长测运行起来之后,24小时,设置TTL: > #!/bin/bash > #ttl默认大小24小时 > ttl=86400000 > host=127.0.0.1 > port=6667 > function setTTLOfSg(){ > input_new_ttl=$1 > ./sbin/start-cli.sh -h $host -p $port -e "set ttl to root.** $input_new_ttl" > } > #计算操作系统当前时间和iotdb 序列max_time的差值 > function getDiffOfTime(){ > # 操作系统当前值 秒 > os_now=`date +%s` > max_time=`./sbin/start-cli.sh -h $host -p $port -e "show devices limit > 1"|grep root|awk -F '|' '{print "./sbin/start-cli.sh -h " host " -p " port " > -e \"select max_time(s_0) from " $2 " \" "}' host=$host port=$port|sh|grep "| > "|awk -F '|' '{print $2}'` > diffTime=$((((os_now*=1000))-max_time)) > echo $diffTime > } > # 2小时校正1次 > #sleep 24h > for i in {1..40000} > do > getDiffOfTime > new_ttl=$((ttl+diffTime)) > echo $new_ttl > setTTLOfSg $new_ttl > sleep 2h > done -- This message was sent by Atlassian Jira (v8.20.10#820010)