Series Cardinality


#1

Here’s a quick experiment using influx 1.5.1 with 3 small time series, a single tag key (location) and a single field key (degrees). The measurement is named “temps”.

Select * from temps group by *
name: temps
tags: location=‘A’
time degrees


2018-04-10T00:00:00Z 75
2018-04-11T00:00:00Z 77

name: temps
tags: location=‘B’
time degrees


2018-04-09T00:00:00Z 78
2018-04-10T00:00:00Z 79
2018-04-11T00:00:00Z 77

name: temps
tags: location=‘C’
time degrees


2018-04-08T00:00:00Z 65

Show Series Cardinality from temps
name: temps
count


3

delete from temps where time < ‘2018-04-09’
Show Series Cardinality from temps
name: temps
count


2

According to the documentation, if I delete all the points in a series, the series should be empty, but still in the index. (To me this indicates that the second “Show Series Cardinality” should return 3, not 2.)

Note: I can replicate these results using Influxdb 1.3.7 . (Of course, the commands for getting the series cardinality are different.)

Question:
Is the number returned by the series cardinality correct (implying an empty series is removed from the index–i.e., the series has been dropped)?
Or is the documentation correct (and the series is in the index, but not counted by the series cardinality command)?
Or am I missing something fundamental?

I’d appreciate any insights you might be able to provide. Thank you.

PS. In case you are interested, I’m asking because our series cardinality is growing beyond what (TSM) Influx can handle on our customer systems. If an empty series is removed from the index (contrary to the documentation claims), then we can work around the problem by using short retention policies. However, if I correctly understand the situation, a short retention policy won’t help if each empty series remains in the index. (We would need to find a way to drop each empty series without touching the non-empty series’. This doesn’t appear to be doable via a CQ, and I haven’t found a reasonable way to do this via the CLI.)

PPS. Assuming TSI alleviates the problem, then we would need to upgrade the InfluxDB our custormers use from TSM to TSI.