Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
* [BUGFIX] Ingester: fixed deceiving error log "failed to update cached shipped blocks after shipper initialisation", occurring for each new tenant in the ingester. #1893
* [BUGFIX] Ring: fix bug where instances may appear unhealthy in the hash ring web UI even though they are not. #1933
* [BUGFIX] API: gzip is now enforced when identity encoding is explicitly rejected. #1864
* [BUGFIX] Fix panic at startup when Mimir is running in monolithic mode and query sharding is enabled. #2036

### Mixin

Expand Down
11 changes: 9 additions & 2 deletions integration/querier_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -310,8 +310,9 @@ func TestQuerierWithBlocksStorageRunningInMicroservicesMode(t *testing.T) {

func TestQuerierWithBlocksStorageRunningInSingleBinaryMode(t *testing.T) {
tests := map[string]struct {
indexCacheBackend string
bucketIndexEnabled bool
indexCacheBackend string
bucketIndexEnabled bool
queryShardingEnabled bool
}{
"inmemory index cache": {
indexCacheBackend: tsdb.IndexCacheBackendInMemory,
Expand All @@ -323,6 +324,10 @@ func TestQuerierWithBlocksStorageRunningInSingleBinaryMode(t *testing.T) {
indexCacheBackend: tsdb.IndexCacheBackendMemcached,
bucketIndexEnabled: true,
},
"inmemory index cache, query sharding enabled": {
indexCacheBackend: tsdb.IndexCacheBackendInMemory,
queryShardingEnabled: true,
},
}

for testName, testCfg := range tests {
Expand Down Expand Up @@ -372,6 +377,8 @@ func TestQuerierWithBlocksStorageRunningInSingleBinaryMode(t *testing.T) {
"-compactor.cleanup-interval": "2s", // Update bucket index often.
// Querier.
"-querier.query-store-after": "0",
// Query-frontend.
"-query-frontend.parallelize-shardable-queries": strconv.FormatBool(testCfg.queryShardingEnabled),
})

// Start Mimir replicas.
Expand Down
4 changes: 3 additions & 1 deletion pkg/mimir/modules.go
Original file line number Diff line number Diff line change
Expand Up @@ -504,13 +504,15 @@ func (t *Mimir) initFlusher() (serv services.Service, err error) {
// initQueryFrontendTripperware instantiates the tripperware used by the query frontend
// to optimize Prometheus query requests.
func (t *Mimir) initQueryFrontendTripperware() (serv services.Service, err error) {
promqlEngineRegisterer := prometheus.WrapRegistererWith(prometheus.Labels{"engine": "query-frontend"}, prometheus.DefaultRegisterer)

tripperware, err := querymiddleware.NewTripperware(
t.Cfg.Frontend.QueryMiddleware,
util_log.Logger,
t.Overrides,
querymiddleware.PrometheusCodec,
querymiddleware.PrometheusResponseExtractor{},
engine.NewPromQLEngineOptions(t.Cfg.Querier.EngineConfig, t.ActivityTracker, util_log.Logger, prometheus.DefaultRegisterer),
engine.NewPromQLEngineOptions(t.Cfg.Querier.EngineConfig, t.ActivityTracker, util_log.Logger, promqlEngineRegisterer),
prometheus.DefaultRegisterer,
)
if err != nil {
Expand Down