Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement lazy retrieval of series from object store. (thanos-io#5837)
* Implement lazy retrieval of series from object store. The bucket store fetches series in a single blocking operation from object storage. This is likely not an ideal strategy when it comes to latency and resource usage. In addition, it causes the store to buffer everything in memory before starting to send results to queriers. This commit modifies the series retrieval to use the proxy response heap and take advantage of the k-way merge used in the proxy store. Signed-off-by: Filip Petkovski <[email protected]> * Add batching Signed-off-by: Filip Petkovski <[email protected]> * Preload series in batches Signed-off-by: Filip Petkovski <[email protected]> * Emit proper stats Signed-off-by: Filip Petkovski <[email protected]> * Extract block series client Signed-off-by: Filip Petkovski <[email protected]> * Fix CI Signed-off-by: Filip Petkovski <[email protected]> * Address review comments Signed-off-by: Filip Petkovski <[email protected]> * Use emptyPostingsCount in lazyRespSet Signed-off-by: Filip Petkovski <[email protected]> * Reuse chunk metas Signed-off-by: Filip Petkovski <[email protected]> * Avoid overallocating for small responses Signed-off-by: Filip Petkovski <[email protected]> * Add metric for chunk fetch time Signed-off-by: Filip Petkovski <[email protected]> * Regroup imports Signed-off-by: Filip Petkovski <[email protected]> * Change counter to uint64 Signed-off-by: Filip Petkovski <[email protected]> Signed-off-by: Filip Petkovski <[email protected]> Signed-off-by: fpetkovski <[email protected]>
- Loading branch information