influxdata / influxdata/influxdb
bucket retention set to infinite but data removed after 6 months
- Dominant language
- Rust
- Stars
- 31.7k
- Forks
- 3.7k
- Avg merge
- 13h 37m
- Merged PRs (30d)
- 8
Description
I noticed that even if the retention policy for my bucket is `infinite` data is removed after 6 months (very precise period).
```
[root@influxdb ~]# influx bucket list
ID Name Retention Shard group duration Organization ID Schema Type
050b7383eec1d35f _monitoring 168h0m0s 24h0m0s d0aa88b91337e8ce implicit
57175e1147e3fe90 _tasks 72h0m0s 24h0m0s d0aa88b91337e8ce implicit
b6bb53153ca112f8 prometheus infinite 168h0m0s d0aa88b91337e8ce implicit
influx v1 dbrp ls
ID Database Bucket ID Retention Policy Default Organization ID
07c9c10e6d5ad000 prometheus b6bb53153ca112f8 myrp true d0aa88b91337e8ce
```
worth noticing that data is ingested via `telegraf` and accessed both using Flux and InfluxQL (see v1 dprb above).
as you can see from the picture, data before 2021-11-25 is delete (exact 6 months ago....)

Logs
```
May 24 22:46:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-24T22:46:03.329453Z lvl=info msg="Retention policy deletion check (start)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=start
May 24 22:46:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-24T22:46:03.329770Z lvl=info msg="Retention policy deletion check (end)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.350ms
May 24 23:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-24T23:16:03.330411Z lvl=info msg="Retention policy deletion check (start)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=start
May 24 23:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-24T23:16:03.330620Z lvl=info msg="Retention policy deletion check (end)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.225ms
May 24 23:46:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-24T23:46:03.330400Z lvl=info msg="Retention policy deletion check (start)" log_id=0_
xXZ0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.177ms
May 25 00:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T00:16:03.329734Z lvl=info msg="Retention policy deletion check (start)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=start
May 25 00:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T00:16:03.332062Z lvl=info msg="Deleted shard group" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check db_instance=050b7383eec1d35f db_shard_group=343 db_rp=autogen
May 25 00:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T00:16:03.333966Z lvl=info msg="Deleted shard" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check db_instance=050b7383eec1d35f db_shard_id=343 db_rp=autogen
May 25 00:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T00:16:03.336213Z lvl=info msg="Retention policy deletion check (end)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=6.486ms
May 25 00:46:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T00:46:03.330253Z lvl=info msg="Retention policy deletion check (start)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=start
May 25 00:46:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T00:46:03.330386Z lvl=info msg="Retention policy deletion check (end)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.141ms
May 25 01:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T01:16:03.329399Z lvl=info msg="Retention policy deletion check (start)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=start
May 25 01:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T01:16:03.329531Z lvl=info msg="Retention policy deletion check (end)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.139ms
May 25 01:46:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T01:46:03.330439Z lvl=info msg="Retention policy deletion check (start)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=start
May 25 01:46:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T01:46:03.330590Z lvl=info msg="Retention policy deletion check (end)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.170ms
May 25 02:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T02:16:03.330031Z lvl=info msg="Retention policy deletion check (start)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=start
May 25 02:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T02:16:03.330174Z lvl=info msg="Retention policy deletion check (end)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.149ms
May 25 02:46:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T02:46:03.330446Z lvl=info msg="Retention policy deletion check (start)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=start
May 25 02:46:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T02:46:03.330598Z lvl=info msg="Retention policy deletion check (end)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.166ms
May 25 03:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T03:16:03.330558Z lvl=info msg="Retention policy deletion check (start)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=start
May 25 03:16:03 xx.xx.xx.xx127.0.0.1 influxdb[2502]: ts=2022-05-25T03:16:03.330743Z lvl=info msg="Retention policy deletion check (end)" log_id=0_dpxXZ0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.196ms
```
the retention policy check runs every 30mins (default) which is correct.
What can I check to understand why it's removing data while the retention policy is `infinite`.
I cannot test the same on Influxdb 2.2 due to this issue
https://github.com/influxdata/influxdb/issues/23326
Env Details
```
uname -srm
Linux 4.18.0-348.12.2.el8_5.x86_64 x86_64
influxd version
InfluxDB 2.1.1 (git: 657e1839de) build_date: 2021-11-09T03:03:48Z
cat /etc/redhat-release
Red Hat Enterprise Linux release 8.5 (Ootpa)
```
Contributor guide
Research direction
Start with the reported retention policy deletion check logs and the `influx v1 dbrp ls` output, then review the related issue 23326. Trace why data in the `prometheus` bucket is removed despite its `infinite` retention setting. Done means identifying the cause and documenting or fixing the behavior so the retention policy is honored.
Written by the indexing model from the issue text.
Assessment
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100