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
Removed support for writing denormalised tokens in the ring. (#1809)
* Removed support for using denormalised tokens in the ring.
Still supported:
- claiming tokens from another ingester, that is using denormalised tokens
- finding denormalised tokens in the ring, when joining
Other ingesters can still use denormalised tokens, migrateRing takes care
of that.
Signed-off-by: Peter Štibraný <[email protected]>
* Updated arguments.md
Signed-off-by: Peter Štibraný <[email protected]>
* Added dot, updated arguments.md.
Signed-off-by: Peter Štibraný <[email protected]>
* Updated comment, added test.
Signed-off-by: Peter Štibraný <[email protected]>
* If there are tokens for this ingester already, keep them.
Signed-off-by: Peter Štibraný <[email protected]>
* Added changelog entry.
Signed-off-by: Peter Štibraný <[email protected]>
* Added PR number.
Signed-off-by: Peter Štibraný <[email protected]>
* Document that AddIngester replaces existing tokens with new ones.
Signed-off-by: Peter Štibraný <[email protected]>
* Test that AddIngester replaces existing tokens with new ones.
Signed-off-by: Peter Štibraný <[email protected]>
* Test that AddIngester replaces existing tokens with new ones.
Signed-off-by: Peter Štibraný <[email protected]>
* Switching back to denormalised tokens requires Cortex 0.4.0,
Signed-off-by: Peter Štibraný <[email protected]>
* Move changelog entry to the top.
Signed-off-by: Peter Štibraný <[email protected]>
* Move unused flags to the bottom of struct.
Signed-off-by: Peter Štibraný <[email protected]>
*[CHANGE] Ingesters now write only normalised tokens to the ring, although they can still read denormalised tokens used by other ingesters. `-ingester.normalise-tokens` is now deprecated, and ignored. If you want to switch back to using denormalised tokens, you need to downgrade to Cortex 0.4.0. Previous versions don't handle claiming tokens from normalised ingesters correctly. #1809
14
15
*[FEATURE] The distributor can now drop labels from samples (similar to the removal of the replica label for HA ingestion) per user via the `distributor.drop-label` flag. #1726
Copy file name to clipboardExpand all lines: docs/configuration/arguments.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -242,9 +242,11 @@ It also talks to a KVStore and has it's own copies of the same flags used by the
242
242
243
243
- `-ingester.normalise-tokens`
244
244
245
-
Write out "normalised" tokens to the ring. Normalised tokens consume less memory to encode and decode; as the ring is unmarshalled regularly, this significantly reduces memory usage of anything that watches the ring.
245
+
Deprecated. New ingesters always write "normalised" tokens to the ring. Normalised tokens consume less memory to encode and decode; as the ring is unmarshalled regularly, this significantly reduces memory usage of anything that watches the ring.
246
246
247
-
Before enabling, rollout a version of Cortex that supports normalised token for all jobs that interact with the ring, then rollout with this flag set to `true` on the ingesters. The new ring code can still read and write the old ring format, so is backwards compatible.
247
+
Cortex 0.4.0 is the last version that can *write* denormalised tokens. Cortex 0.5.0 and later will always *write* normalised tokens, although it can still *read* denormalised tokens written by older ingesters.
248
+
249
+
It's perfectly OK to have a mix of ingesters running denormalised (<= 0.4.0) and normalised tokens (either by using `-ingester.normalise-tokens` in Cortex <= 0.4.0, or Cortex 0.5.0+) during upgrades.
f.DurationVar(&cfg.ObservePeriod, prefix+"observe-period", 0*time.Second, "Observe tokens after generating to resolve collisions. Useful when using gossiping ring.")
84
86
f.DurationVar(&cfg.MinReadyDuration, prefix+"min-ready-duration", 1*time.Minute, "Minimum duration to wait before becoming ready. This is to work around race conditions with ingesters exiting and updating the ring.")
85
87
flagext.DeprecatedFlag(f, prefix+"claim-on-rollout", "DEPRECATED. This feature is no longer optional.")
86
-
f.BoolVar(&cfg.NormaliseTokens, prefix+"normalise-tokens", false, "Store tokens in a normalised fashion to reduce allocations.")
88
+
flagext.DeprecatedFlag(f, prefix+"normalise-tokens", "DEPRECATED. This feature is no longer optional.")
87
89
f.DurationVar(&cfg.FinalSleep, prefix+"final-sleep", 30*time.Second, "Duration to sleep for before exiting, to ensure metrics are scraped.")
88
90
f.StringVar(&cfg.TokensFilePath, prefix+"tokens-file-path", "", "File path where tokens are stored. If empty, tokens are not stored at shutdown and restored at startup.")
0 commit comments