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
In GetChunksForSeries, we do a RangeValueStart on bucket.from. Now I thought if the bucket.hashKey is same, the bucket.from is also same, turns out that is soo not true.
bucket.from is the relative milliseconds from the actual bucket start time.
Now I did not realise this while building the long-term caching approach, I thought if the hashKey and RangeKey match, everything else matches:
and end up picking only the "active" range query on merge. This means the bucket.from is higher than it should be and we end up filtering chunks out. This causes gaps in the queries and we're dropping entire chunks to the floor.
The text was updated successfully, but these errors were encountered:
An attempt to fixcortexproject#1698
We don't mix things when the time-range for the query overlaps the
"active" time-range. We consider all index entries as active. This is
because the `IndexQuery` fields depend on the `from` value and changing
it might mess things up.
This is kinda only effective when paired with query-frontend as most
queries issued fall in the active-range, but the query-frontend with
it's splitting would make sure the queriers actually only see some
queries that are totally in the non-active range.
Signed-off-by: Goutham Veeramachaneni <[email protected]>
An attempt to fixcortexproject/cortex#1698
We don't mix things when the time-range for the query overlaps the
"active" time-range. We consider all index entries as active. This is
because the `IndexQuery` fields depend on the `from` value and changing
it might mess things up.
This is kinda only effective when paired with query-frontend as most
queries issued fall in the active-range, but the query-frontend with
it's splitting would make sure the queriers actually only see some
queries that are totally in the non-active range.
Signed-off-by: Goutham Veeramachaneni <[email protected]>
In
GetChunksForSeries
, we do aRangeValueStart
onbucket.from
. Now I thought if thebucket.hashKey
is same, thebucket.from
is also same, turns out that is soo not true.bucket.from
is the relative milliseconds from the actual bucket start time.Now I did not realise this while building the long-term caching approach, I thought if the hashKey and RangeKey match, everything else matches:
cortex/pkg/chunk/schema_caching.go
Lines 99 to 100 in 78e0607
But when we split the ranges, we split the actual from and to, to "cacheable" and "active" ranges here:
cortex/pkg/chunk/schema_caching.go
Line 66 in 78e0607
and end up picking only the "active" range query on merge. This means the
bucket.from
is higher than it should be and we end up filtering chunks out. This causes gaps in the queries and we're dropping entire chunks to the floor.The text was updated successfully, but these errors were encountered: