influx-cli
influx-cli copied to clipboard
/query 1.x compatibility API fails to delete data with a false error: "default retention policy not set"
Trying to delete data using the /query 1.x compatibility API, fails with an incorrect error "default retention policy not set for: my_db"
environment
- OS: Debian: GNU/Linux 12 (bookworm)
- influx version: Influx CLI dev (git: https://github.com/influxdata/influx-cli/commit/a79a2a1b825867421d320428538f76a4c90aa34c) build_date: 2024-04-16T14:34:32Z
- retention periods for the bucket in question:
SHOW RETENTION POLICIES ON my_db (queried also using the 1.x compatibility API)
name,tags,name,duration,shardGroupDuration,replicaN,default
,,autogen,0s,168h0m0s,replicaN,true
--> Is this also a bug? when executed in the v1 shell, the query returns:
SHOW RETENTION POLICIES ON my_db
name,duration,shardGroupDuration,replicaN,default
autogen,0s,168h0m0s,1,true
steps to reproduce
- execute a DELETE query using the /query 1.x compatibility API:
curl --get 'http://my_server:8086/query' --header 'Authorization: Token <my token>' --header 'Accept: application/csv' --header 'Content-type: application/json' --data-urlencode 'orgID=m<_org' --data-urlencode 'db=my_db' --data-urlencode 'epoch=ns' --data-urlencode 'q=DELETE FROM heating WHERE time=1735492769351901200'
expected result
data with the indicated timestamp is deleted
actual result
the API returns:
{"results":[{"statement_id":0,"error":"default retention policy not set for: my_db"}]}
Additional information:
- if the token has only read permission on my_db, the error message is correct:
"error":"insufficient permissions" - if the token has only write permission on my_db, the error message is incorrect (this bug):
"error":"default retention policy not set for: my_db" - if the token has read and write permission on my_db, the query is executed successfully (data is deleted).
So when deleting data via a query, you need read permission. This should be documented, because it is not intuitive and the error message is misleading