{"record":{"id":"6123c9db579b9cc7","repo":"thanos-io/thanos","slug":"failed-to-set-hashring-config-in-multitsdb","errorCode":null,"errorMessage":"failed to set hashring config in MultiTSDB","messagePattern":"failed to set hashring config in MultiTSDB","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/thanos/receive.go","lineNumber":672,"sourceCode":"\t\t\tcase c, ok := <-updates:\n\t\t\t\tif !ok {\n\t\t\t\t\treturn nil\n\t\t\t\t}\n\n\t\t\t\tif c == nil {\n\t\t\t\t\twebHandler.Hashring(receive.SingleNodeHashring(conf.endpoint))\n\t\t\t\t\tlevel.Info(logger).Log(\"msg\", \"Empty hashring config. Set up single node hashring.\")\n\t\t\t\t} else {\n\t\t\t\t\th, err := receive.NewMultiHashring(algorithm, conf.replicationFactor, c, reg)\n\t\t\t\t\tif err != nil {\n\t\t\t\t\t\treturn errors.Wrap(err, \"unable to create new hashring from config\")\n\t\t\t\t\t}\n\t\t\t\t\twebHandler.Hashring(h)\n\t\t\t\t\tlevel.Info(logger).Log(\"msg\", \"Set up hashring for the given hashring config.\")\n\t\t\t\t}\n\n\t\t\t\tif err := dbs.SetHashringConfig(c); err != nil {\n\t\t\t\t\treturn errors.Wrap(err, \"failed to set hashring config in MultiTSDB\")\n\t\t\t\t}\n\n\t\t\t\t// If ingestion is enabled, send a signal to TSDB to flush.\n\t\t\t\tif enableIngestion {\n\t\t\t\t\thashringChangedChan <- struct{}{}\n\t\t\t\t} else {\n\t\t\t\t\t// If not, just signal we are ready (this is important during first hashring load)\n\t\t\t\t\tstatusProber.Ready()\n\t\t\t\t}\n\t\t\tcase <-cancel:\n\t\t\t\treturn nil\n\t\t\t}\n\t\t}\n\t}, func(err error) {\n\t\tclose(cancel)\n\t},\n\t)\n\treturn nil","sourceCodeStart":654,"sourceCodeEnd":690,"githubUrl":"https://github.com/thanos-io/thanos/blob/35b8b991177def87ed52dcf10f9b6d87f07282c8/cmd/thanos/receive.go#L654-L690","documentation":"dbs.SetHashringConfig failed to propagate a validated hashring update into the MultiTSDB, meaning tenants mapped to this node cannot be opened/resized. Typically an internal error opening per-tenant DBs.","triggerScenarios":"Thrown at cmd/thanos/receive.go:672 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check MultiTSDB logs for the underlying tenant DB error","Verify disk and permissions on tsdb path","Confirm the new hashring endpoints are consistent"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35b8b991177def87ed52dcf10f9b6d87f07282c8","analyzedAt":"2026-09-07T01:49:59.689Z","contentChangedAt":"2026-09-07T01:49:59.689Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}