mergeValues() will set responseLengthMismatch = true on the first case where there is a length mismatch and prevent further attempts to merge. It can happen that that this prevents merging from a following series that has the same length.
There is a TODO nearby that hints at a proposed solution.
We believe we've seen this when requesting data right at a rollup boundary and a race condition on the carbonstores will determine if we get it's data at higher or lower resolution.
mergeValues()
will setresponseLengthMismatch = true
on the first case where there is a length mismatch and prevent further attempts to merge. It can happen that that this prevents merging from a following series that has the same length.There is a TODO nearby that hints at a proposed solution.
We believe we've seen this when requesting data right at a rollup boundary and a race condition on the carbonstores will determine if we get it's data at higher or lower resolution.