go-graphite / carbonzipper

proxy to transparently merge graphite carbon backends
Other
103 stars 29 forks source link

Merge logic should try harder to merge series when 1 is of different length. #22

Open nnuss opened 8 years ago

nnuss commented 8 years ago

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.

Civil commented 7 years ago

Related to #4