Not really, if you are using rrd4j, that’s just how rrd4j works. It’s how it manages to store data essentially forever without the storage space growing. It works in stages.
rrd4j has the concept of buckets. For the first hour (I’m going from memory so treat these durations as illustrative and not necessarily the times rrd4j acutally uses in practice) rrd4j has one bucket per minute. It will save a value up to every five seconds in each of those buckets.
Once the data gets older than an hour, it compresses those buckets into one value (the average of all the values in the bucket) and those get put into another bucket, lets say a five minute bucket. After a week, those five minute buckets are compressed and the results put into one hour buckets. And so on and so on until data that is over a year old might have only one value per day stored.
So in rrd4j, it doesn’t matter how often the Item updates, it needs to save a value periodically or else the whole compression scheme breaks down and rrd4j stops working. This is why one must have an everyMinute strategy with rrd4j configs.
But this also means that when you query rrd4j, you will be getting values that do not represent an update nor a change and which were put in there simply because rrd4j requires them.