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 ingesters blocks transfer support
Signed-off-by: Marco Pracucci <[email protected]>
* Updated CHANGELOG
Signed-off-by: Marco Pracucci <[email protected]>
* Small improvements based on code review feedback
Signed-off-by: Marco Pracucci <[email protected]>
* Improved documentation based on feedback receive
Signed-off-by: Marco Pracucci <[email protected]>
* Simplified explaination about WAL loading
Signed-off-by: Marco Pracucci <[email protected]>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,11 @@
2
2
3
3
## master / unreleased
4
4
5
+
*[CHANGE] Experimental blocks storage: removed the support to transfer blocks between ingesters on shutdown. When running the Cortex blocks storage, ingesters are expected to run with a persistent disk. The following metrics have been removed: #2996
6
+
*`cortex_ingester_sent_files`
7
+
*`cortex_ingester_received_files`
8
+
*`cortex_ingester_received_bytes_total`
9
+
*`cortex_ingester_sent_bytes_total`
5
10
*[ENHANCEMENT] Query-tee: added a small tolerance to floating point sample values comparison. #2994
6
11
*[BUGFIX] Query-frontend: Fixed rounding for incoming query timestamps, to be 100% Prometheus compatible. #2990
Copy file name to clipboardExpand all lines: docs/architecture.md
+12-11Lines changed: 12 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -153,17 +153,18 @@ Incoming series are not immediately written to the storage but kept in memory an
153
153
154
154
Ingesters contain a **lifecycler** which manages the lifecycle of an ingester and stores the **ingester state** in the [hash ring](#the-hash-ring). Each ingester could be in one of the following states:
155
155
156
-
1.`PENDING` is an ingester's state when it just started and is waiting for a hand-over from another ingester that is `LEAVING`. If no hand-over occurs within the configured timeout period ("auto-join timeout", configurable via `-ingester.join-after` option), the ingester will join the ring with a new set of random tokens (ie. during a scale up). When hand-over process starts, state changes to `JOINING`.
157
-
158
-
2.`JOINING` is an ingester's state in two situations. First, ingester will switch to a `JOINING` state from `PENDING` state after auto-join timeout. In this case, ingester will generate tokens, store them into the ring, optionally observe the ring for token conflicts and then move to `ACTIVE` state. Second, ingester will also switch into a `JOINING` state as a result of another `LEAVING` ingester initiating a hand-over process with `PENDING` (which then switches to `JOINING` state). `JOINING` ingester then receives series and tokens from `LEAVING` ingester, and if everything goes well, `JOINING` ingester switches to `ACTIVE` state. If hand-over process fails, `JOINING` ingester will move back to `PENDING` state and either wait for another hand-over or auto-join timeout.
159
-
160
-
3.`ACTIVE` is an ingester's state when it is fully initialized. It may receive both write and read requests for tokens it owns.
161
-
162
-
4.`LEAVING` is an ingester's state when it is shutting down. It cannot receive write requests anymore, while it could still receive read requests for series it has in memory. While in this state, the ingester may look for a `PENDING` ingester to start a hand-over process with, used to transfer the state from `LEAVING` ingester to the `PENDING` one, during a rolling update (`PENDING` ingester moves to `JOINING` state during hand-over process). If there is no new ingester to accept hand-over, ingester in `LEAVING` state will flush data to storage instead.
163
-
164
-
5.`UNHEALTHY` is an ingester's state when it has failed to heartbeat to the ring's KV Store. While in this state, distributors skip the ingester while building the replication set for incoming series and the ingester does not receive write or read requests.
165
-
166
-
For more information about the hand-over process, please check out the [Ingester hand-over](guides/ingester-handover.md) documentation.
156
+
-**`PENDING`**<br />
157
+
The ingester has just started. While in this state, the ingester doesn't receive neither write and read requests, and could be waiting for time series data transfer from another ingester if running the chunks storage and the [hand-over](guides/ingesters-rolling-updates.md#chunks-storage-with-wal-disabled-hand-over) is enabled.
158
+
-**`JOINING`**<br />
159
+
The ingester is starting up and joining the ring. While in this state the ingester doesn't receive neither write and read requests. The ingester will join the ring using tokens received by a leaving ingester as part of the [hand-over](guides/ingesters-rolling-updates.md#chunks-storage-with-wal-disabled-hand-over) process (if enabled), otherwise it could load tokens from disk (if `-ingester.tokens-file-path` is configured) or generate a set of new random ones. Finally, the ingester optionally observes the ring for tokens conflicts and then, once any conflict is resolved, will move to `ACTIVE` state.
160
+
-**`ACTIVE`**<br />
161
+
The ingester is up and running. While in this state the ingester can receive both write and read requests.
162
+
-**`LEAVING`**<br />
163
+
The ingester is shutting down and leaving the ring. While in this state the ingester doesn't receive write requests, while it could receive read requests.
164
+
-**`UNHEALTHY`**<br />
165
+
The ingester has failed to heartbeat to the ring's KV Store. While in this state, distributors skip the ingester while building the replication set for incoming series and the ingester does not receive write or read requests.
166
+
167
+
_The ingester states are interally used for different purposes, including the series hand-over process supported by the chunks storage. For more information about it, please check out the [Ingester hand-over](guides/ingesters-rolling-updates.md#chunks-storage-with-wal-disabled-hand-over) documentation._
Copy file name to clipboardExpand all lines: docs/configuration/arguments.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -306,11 +306,11 @@ It also talks to a KVStore and has it's own copies of the same flags used by the
306
306
307
307
- `-ingester.join-after`
308
308
309
-
How long to wait in PENDING state during the [hand-over process](../guides/ingester-handover.md). (default 0s)
309
+
How long to wait in PENDING state during the [hand-over process](../guides/ingesters-rolling-updates.md#chunks-storage-with-wal-disabled-hand-over) (supported only by the chunks storage). (default 0s)
310
310
311
311
- `-ingester.max-transfer-retries`
312
312
313
-
How many times a LEAVING ingester tries to find a PENDING ingester during the [hand-over process](../guides/ingester-handover.md). Each attempt takes a second or so. Negative value or zero disables hand-over process completely. (default 10)
313
+
How many times a LEAVING ingester tries to find a PENDING ingester during the [hand-over process](../guides/ingesters-rolling-updates.md#chunks-storage-with-wal-disabled-hand-over) (supported only by the chunks storage). Negative value or zero disables hand-over process completely. (default 10)
0 commit comments