This is an automated email from the ASF dual-hosted git repository.
gian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 48c7b3ccc19 MSQ: Set includeAllCounters to true by default. (#18761)
48c7b3ccc19 is described below
commit 48c7b3ccc19dbd8f8253c82793433f230307cd45
Author: Gian Merlino <[email protected]>
AuthorDate: Wed Nov 19 21:05:22 2025 -0800
MSQ: Set includeAllCounters to true by default. (#18761)
This is a backwards-compatibility option needed for rolling updates
from Druid 30 and earlier. Flipping it to true means that the out-of-box
experience will include new counters that have been added since then, such
as CPU usage counters.
---
docs/multi-stage-query/reference.md | 1 +
.../main/java/org/apache/druid/msq/util/MultiStageQueryContext.java | 5 ++---
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/docs/multi-stage-query/reference.md
b/docs/multi-stage-query/reference.md
index ab007d71f6a..6bbdb06cc86 100644
--- a/docs/multi-stage-query/reference.md
+++ b/docs/multi-stage-query/reference.md
@@ -411,6 +411,7 @@ The following table lists the context parameters for the
MSQ task engine:
| `failOnEmptyInsert` | INSERT or REPLACE<br /><br /> When set to false (the
default), an INSERT query generating no output rows will be no-op, and a
REPLACE query generating no output rows will delete all data that matches the
OVERWRITE clause. When set to true, an ingest query generating no output rows
will throw an `InsertCannotBeEmpty` fault. | `false` |
| `storeCompactionState` | REPLACE<br /><br /> When set to true, a REPLACE
query stores as part of each segment's metadata a `lastCompactionState` field
that captures the various specs used to create the segment. Future compaction
jobs skip segments whose `lastCompactionState` matches the desired compaction
state. Works the same as
[`storeCompactionState`](../ingestion/tasks.md#context-parameters) task context
flag. | `false` |
| `removeNullBytes` | SELECT, INSERT or REPLACE<br /><br /> The MSQ engine
cannot process null bytes in strings and throws `InvalidNullByteFault` if it
encounters them in the source data. If the parameter is set to true, The MSQ
engine will remove the null bytes in string fields when reading the data. |
`false` |
+| `includeAllCounters` | SELECT, INSERT or REPLACE<br /><br />Whether to
include counters that were added in Druid 31 or later. This is a backwards
compatibility option that must be set to `false` during a rolling update from
versions prior to Druid 31. | `true` |
| `maxFrameSize` | SELECT, INSERT or REPLACE<br /><br />Size of frames used
for data transfer within the MSQ engine. You generally do not need to change
this unless you have very large rows. | `1000000` (1 MB) |
| `maxThreads` | SELECT, INSERT or REPLACE<br /><br />Maximum number of
threads to use for processing. This only has an effect if it is greater than
zero and less than the default thread count based on system configuration.
Otherwise, it is ignored, and workers use the default thread count. | Not set
(use default thread count) |
diff --git
a/multi-stage-query/src/main/java/org/apache/druid/msq/util/MultiStageQueryContext.java
b/multi-stage-query/src/main/java/org/apache/druid/msq/util/MultiStageQueryContext.java
index 3e9154d8102..0ce57f39e94 100644
---
a/multi-stage-query/src/main/java/org/apache/druid/msq/util/MultiStageQueryContext.java
+++
b/multi-stage-query/src/main/java/org/apache/druid/msq/util/MultiStageQueryContext.java
@@ -189,11 +189,10 @@ public class MultiStageQueryContext
* {@link ControllerResource#httpPostCounters} would throw errors when
encountering new counter types that they do
* not yet recognize. This causes problems during rolling updates.
*
- * Once all servers are on Druid 31 or later, this can safely be flipped to
"true". At that point, unknown counters
- * are represented on the deserialization side using {@link
NilQueryCounterSnapshot}.
+ * For a rolling update from a version prior to Druid 31, this must be set
to "false" by the job submitter.
*/
public static final String CTX_INCLUDE_ALL_COUNTERS = "includeAllCounters";
- public static final boolean DEFAULT_INCLUDE_ALL_COUNTERS = false;
+ public static final boolean DEFAULT_INCLUDE_ALL_COUNTERS = true;
public static final String CTX_FORCE_TIME_SORT =
DimensionsSpec.PARAMETER_FORCE_TIME_SORT;
private static final boolean DEFAULT_FORCE_TIME_SORT =
DimensionsSpec.DEFAULT_FORCE_TIME_SORT;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]