From 74f45d2ccd3c22116a2ae7c00fd2a40c05458c4a Mon Sep 17 00:00:00 2001 From: SungJin1212 Date: Mon, 10 Aug 2026 13:53:33 +0900 Subject: [PATCH] fix: correct misleading error messages referring to compactor ring in parquet converter Signed-off-by: SungJin1212 --- CHANGELOG.md | 1 + pkg/parquetconverter/converter.go | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index abd8bcc792..dc2e087f9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -88,6 +88,7 @@ * [BUGFIX] Compactor: Fix spurious `bucket operation fail after retries` error logs emitted during partial block cleanup. #7749 * [BUGFIX] Alertmanager: Fix panic in `validateAlertmanagerConfig` when receiver config traversal encounters nil interface values. #7751 * [BUGFIX] Parquet Converter: Fix `auto_forget_delay` having no effect. The ring lifecycler was created without the auto-forget delegate, so unhealthy instances were never automatically removed from the ring. #7752 +* [BUGFIX] Parquet Converter: Fix misleading error messages referring to the compactor ring instead of the parquet converter ring during startup and sharding checks. #7755 ## 1.21.1 2026-06-04 diff --git a/pkg/parquetconverter/converter.go b/pkg/parquetconverter/converter.go index 5184fe9f68..dfa971fde3 100644 --- a/pkg/parquetconverter/converter.go +++ b/pkg/parquetconverter/converter.go @@ -45,7 +45,7 @@ import ( ) const ( - // ringKey is the key under which we store the compactors ring in the KVStore. + // ringKey is the key under which we store the parquet converters ring in the KVStore. ringKey = "parquet-converter" converterMetaPrefix = "converter-meta-" @@ -181,12 +181,12 @@ func (c *Converter) starting(ctx context.Context) error { } c.ringLifecycler, err = ring.NewLifecyclerWithDelegate(lifecyclerCfg, ring.NewNoopFlushTransferer(), "parquet-converter", ringKey, true, false, c.logger, prometheus.WrapRegistererWithPrefix("cortex_", c.reg), delegate) if err != nil { - return errors.Wrap(err, "unable to initialize converter ring lifecycler") + return errors.Wrap(err, "unable to initialize parquet converter ring lifecycler") } c.ring, err = ring.New(lifecyclerCfg.RingConfig, "parquet-converter", ringKey, c.logger, prometheus.WrapRegistererWithPrefix("cortex_", c.reg)) if err != nil { - return errors.Wrap(err, "unable to initialize compactor ring") + return errors.Wrap(err, "unable to initialize parquet converter ring") } c.ringSubservices, err = services.NewManager(c.ringLifecycler, c.ring) @@ -197,7 +197,7 @@ func (c *Converter) starting(ctx context.Context) error { err = services.StartManagerAndAwaitHealthy(ctx, c.ringSubservices) } if err != nil { - return errors.Wrap(err, "unable to start compactor ring dependencies") + return errors.Wrap(err, "unable to start parquet converter ring dependencies") } ctxWithTimeout, cancel := context.WithTimeout(ctx, time.Minute*3) @@ -561,14 +561,14 @@ func (c *Converter) ownBlock(ring ring.ReadRing, blockId string) (bool, error) { _, _ = hasher.Write([]byte(blockId)) userHash := hasher.Sum32() - // Check whether this compactor instance owns the user. + // Check whether this parquet converter instance owns the user. rs, err := ring.Get(userHash, RingOp, nil, nil, nil) if err != nil { return false, err } if len(rs.Instances) != 1 { - return false, fmt.Errorf("unexpected number of compactors in the shard (expected 1, got %d)", len(rs.Instances)) + return false, fmt.Errorf("unexpected number of parquet converters in the shard (expected 1, got %d)", len(rs.Instances)) } return rs.Instances[0].Addr == c.ringLifecycler.Addr, nil