You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
For each API request to the object storage (counted in thanos_objstore_bucket_operations_total metric), the Thanos Azure client makes an additional GetBlobProperties call to retrieve the object size, causing a discrepancy between the number of requests reported by Azure and the previous metric, which is problematic as we bill based on number of requests.
Improve the Thanos Azure client implementation to optionally pass the object size when known so we can avoid an unnecessary GetBlobProperties call. Most of our objects are immutable and this could be cached in-memory as we already do in the chunks cache implementation.
An alternative way to do it, is removing the need to have the Thanos azure client knowing the object size, which is what thanos-io/thanos#5451 is doing.
Is your feature request related to a problem? Please describe.
For each API request to the object storage (counted in
thanos_objstore_bucket_operations_total
metric), the Thanos Azure client makes an additional GetBlobProperties call to retrieve the object size, causing a discrepancy between the number of requests reported by Azure and the previous metric, which is problematic as we bill based on number of requests.This is also caused by #2232
Describe the solution you'd like
Improve the Thanos Azure client implementation to optionally pass the object size when known so we can avoid an unnecessary GetBlobProperties call. Most of our objects are immutable and this could be cached in-memory as we already do in the chunks cache implementation.
Additional context
For each Get() and GetRange() call to Thanos Azure client, we call GetProperties() to get the size of the object:
https://github.com/thanos-io/thanos/blob/ce84ec521c99493e98fb17ec4bb1358b56a68ebb/pkg/objstore/azure/azure.go#L319-L323
The text was updated successfully, but these errors were encountered: