You can see above that there were several Cached datapoints ready to be merged with "actual" datapoints. However, postmerge, no cached points were ever merged. This is due to passing an incorrect start value to the merge_cached_points function in graphite.py.
After some debugging, I found the following error:
DEBUG: start_time: 51615267
Traceback (most recent call last):
File "/opt/graphite/webapp/graphite/readers/utils.py", line 106, in merge_with_cache
values[i] = value
IndexError: list assignment index out of range
After I adjusted the value from start_step to start_time, everything started working:
I just had a quick look and it effectively seems that _merge_cached_points expects start_time instead of start_step. If you can open a PR I would be glad to approve it !
See: https://github.com/criteo/biggraphite/blob/e1ad5c0bb3612f88a0485bfd0a7a88b7d66e891d/biggraphite/plugins/graphite.py#L195
Carbonlink queries were failing on my Graphite installation with no results. Cached results were not being merged with cassandra results properly.
Example debug output (stock graphite 1.1.5 + biggraphite 0.14.8 install):
You can see above that there were several Cached datapoints ready to be merged with "actual" datapoints. However, postmerge, no cached points were ever merged. This is due to passing an incorrect start value to the merge_cached_points function in graphite.py.
After some debugging, I found the following error:
After I adjusted the value from start_step to start_time, everything started working:
Now cached points are being merged properly!
This seems like a bug to me, and I'd be happy to submit a PR - either that or I don't understand the purpose of start_step.
Best,
biox