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 <filip.petkovsky@gmail.com> * Add batching Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> * Preload series in batches Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> * Emit proper stats Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> * Extract block series client Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> * Fix CI Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> * Address review comments Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> * Use emptyPostingsCount in lazyRespSet Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> * Reuse chunk metas Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> * Avoid overallocating for small responses Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> * Add metric for chunk fetch time Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> * Regroup imports Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> * Change counter to uint64 Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> Signed-off-by: fpetkovski <filip.petkovsky@gmail.com>
- Loading branch information