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
They no longer affect your query results. Only SQL-compliant non-legacy behavior is supported now.
54
+
55
+
If the configs are set to the legacy behavior, Druid services will fail to start.
56
+
57
+
If you want to continue to get the same results without these settings, you must update your queries or your results will be incorrect after you upgrade.
58
+
59
+
For more information about how to update your queries, see the [migration guide](https://druid.apache.org/docs/latest/release-info/migr-ansi-sql-null).
- Javascript tiered broker selector strategy and Javascript filters currently do not work on Java 17.
77
+
78
+
### Deprecations
79
+
80
+
### Hadoop-based ingestion
81
+
82
+
Hadoop-based ingestion is now deprecated. We recommend that you migrate to SQL-based ingestion.
83
+
84
+
## 31.0.0
85
+
86
+
### Upgrade notes
87
+
88
+
#### Array ingest mode now defaults to array
89
+
90
+
The SQL-based ingestion query context flag `arrayIngestMode` now defaults to `array` instead of `mvd`. This means that SQL `VARCHAR ARRAY` types is no longer implicitly translated and stored in `VARCHAR` columns, but is instead stored as `VARCHAR ARRAY`. This change permits other array types such as `BIGINT ARRAY` and `DOUBLE ARRAY` to be inserted with MSQ task engine into their respective array column types instead of failing as they do in `mvd` mode.
91
+
92
+
To continue to store multi-value strings, modify any insert/replace queries to wrap the array types with the `ARRAY_TO_MV` operator.
93
+
94
+
Validation is in place to prevent mixing `VARCHAR` and `VARCHAR ARRAY` columns in the same table, so any ingestions affected by this change will fail and provide a descriptive error message instead of exhibiting unexpected behavior.
95
+
96
+
The `arrayIngestMode` option of `none` has been removed. It was introduced prior to the table validation logic as a means for cluster operators to force query writers to explicitly set `array` or `mvd` on their query contexts, but provides little utility in Druid 31.
97
+
98
+
See the following topics for more information:
99
+
*[Ingest multi-value dimensions](https://druid.apache.org/docs/latest/querying/multi-value-dimensions.md#sql-based-ingestion) for how to ingest multi-value strings.
100
+
*[Ingest arrays](https://druid.apache.org/docs/latest/querying/arrays.md#sql-based-ingestion) for ingesting arrays.
The native scan query legacy mode has been removed. It was introduced in Druid 0.11 to maintain compatibility during an upgrade from older versions of Druid where the scan query was part of a `contrib` extension.
ZK-based segment loading is now disabled. ZK `servedSegmentsPath` was deprecated in Druid 0.7.1. This legacy path has been replaced by `liveSegmentsPath`.
139
+
140
+
Segment-serving processes such as Peons, Historicals and Indexers no longer create ZK `loadQueuePath` entries. The `druid.zk.paths.loadQueuePath` and `druid.zk.paths.servedSegmentsPath` properties are no longer used.
141
+
142
+
Move to HTTP-based segment loading first and then perform the version upgrade.
0 commit comments