Skip to content

doc: druid 37 release notes#19287

Draft
317brian wants to merge 23 commits intoapache:37.0.0from
317brian:37-rn
Draft

doc: druid 37 release notes#19287
317brian wants to merge 23 commits intoapache:37.0.0from
317brian:37-rn

Conversation

@317brian
Copy link
Copy Markdown
Contributor

@317brian 317brian commented Apr 9, 2026

Fixes #XXXX.

Description

Fixed the bug ...

Renamed the class ...

Added a forbidden-apis entry ...

Release note


Key changed/added classes in this PR
  • MyFoo
  • OurBar
  • TheirBaz

This PR has:

  • been self-reviewed.
  • added documentation for new or modified features or behaviors.
  • a release note entry in the PR description.
  • added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
  • added or updated version, license, or notice information in licenses.yaml
  • added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
  • added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
  • added integration tests.
  • been tested in a test Druid cluster.

@317brian 317brian changed the title docs: druid 37 release notes doc: druid 37 release notes Apr 10, 2026
@317brian 317brian added this to the 37.0.0 milestone Apr 10, 2026
Copy link
Copy Markdown
Contributor

@techdocsmith techdocsmith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking good. all my suggestions are stylistic

Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Copy link
Copy Markdown
Contributor

@cecemei cecemei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

request some change regarding incremental metadata cache and supervisor based compaction, we made several changes so some notes are outdated in the same release.

Comment thread docs/release-info/release-notes.md Outdated

[#18923](https://github.com/apache/druid/pull/18923)

### Auto-compaction with compaction supervisors
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you add #19252 here as well? Overlord-based compaction supervisors are now the recommended and default approach for automatic compaction.

Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated

#### Segment locking

Segment locking and `NumberedOverwriteShardSpec` are deprecated and will be removed in a future release. Use time chunk locking instead. You can make sure only time chunk locking is used by setting `druid.indexer.tasklock.forceTimeChunkLock` to `true`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe worth mentioning druid.indexer.tasklock.forceTimeChunkLock is true by default, i guess we should have deprecate segment locking long long time ago, cc: @clintropolis .

Comment thread docs/release-info/release-notes.md Outdated
Copy link
Copy Markdown
Contributor

@cecemei cecemei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

overall lgtm, left a few minor comments

Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md
Comment on lines +211 to +219
#### Changed storage column displays

- Improved the compaction config view to
- Renamed **Current size** to **Assigned size**.
- Renamed **Max size** to **Effective size**. It now displays the smaller value between `max_size` and `storage_size`. The max size is still shown as a tooltip.
- Changed usage calculation to use `effective_size`

[#19007](https://github.com/apache/druid/pull/19007)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this part doesnt read smooth to me, this is part of showing storage metric for data nodes i believe, this change is also related with vsf, do you mind take a look at this, @clintropolis ?

Copy link
Copy Markdown
Member

@clintropolis clintropolis Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yea, this is related to vsf mode where the actual size disk size is separate from the amount of data the node is responsible for, so we updated this UI to be able to show the ratio of assigned segment size to actual disk size. No real change other than labels if not vsf mode

Comment thread docs/release-info/release-notes.md Outdated

### Query blocklist

You can now use the using the `/druid/coordinator/v1/config/broker` API to create a query blocklist to dynamically block queries by datasource, query type, or query context. The blocklist takes effect without a restarting Druid. Block rules use `AND` logic, which means all criteria must match.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can now use the using the ...

this seems to be missing something

Comment thread docs/release-info/release-notes.md Outdated

### Thrift input format

As part of the Thrift contributor extension, Druid now supports Thrift-encoded data for Kafka and Kinesis streaming ingestion.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

technically we already supported it before, but only when using the deprecated parser/parsespec stuff that has been removed in this release, so the new thing is that it supports the modern InputFormat stuff

Comment thread docs/release-info/release-notes.md Outdated

- Added the `druid.storage.transfer.asyncHttpClientType` config that specifies which async HTTP client to use for S3 transfers: `crt` for Amazon CRT or `netty` for Netty NIO [#19249](https://github.com/apache/druid/pull/19249)
- Added a mechanism to automatically clean up intermediary files on HDFS storage [#19187](https://github.com/apache/druid/pull/19187)
- Changed the default value for `druid.indexing.formats.maxStringLength` to null from 0 [#19198](https://github.com/apache/druid/pull/19198)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this probably doesn't need documented separately from columnFormatSpec on the string column since it is related to that

Comment thread docs/release-info/release-notes.md Outdated

### Ingestion

- Added the `maxStringLength` configuration for string dimensions that truncates values exceeding the specified length during ingestion. You can set the length globally using `druid.indexing.formats.maxStringLength` or per-dimension in the ingestion spec [#19146](https://github.com/apache/druid/pull/19146)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was refactored into columnFormatSpec on the string column in #19258, this and the other related bullet should all be combined


### Incompatible changes

#### Removed `ParseSpec` and deprecated parsers
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be combined or at least next to the Parsers section since it is related (also related to hadoop removal since hadoop ingestion only supported parser/parseSpec which is why we had to drag them around for so long)

Comment thread docs/release-info/release-notes.md Outdated

### Tombstones

Tombstones for JSON-based native batch ingestion (the `dropExisting` flag for `ioConfig`) are now generally available.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should probably indicate that this was more of an oversight/mistake of not updating docs than really anything changing since these have been used in production for quite a long time, and are not even optional in msq

Comment thread docs/release-info/release-notes.md Outdated
- `bytebuddy` from `1.18.3` to `1.18.5` [#19145](https://github.com/apache/druid/pull/19145)
- Added `objenesis` `3.5` [#19145](https://github.com/apache/druid/pull/19145)
- `org.apache.zookeeper` from 3.8.4 to 3.8.6 [#19135](https://github.com/apache/druid/pull/19135)
- Added AWS SDK `2.40.0` [#18891](https://github.com/apache/druid/pull/18891)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a pretty big update to aws sdk libraries going from 1.x to 2.x, maybe deserves more callout

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 IMHO, we should call this out in upgrade notes.


[#18966](https://github.com/apache/druid/pull/18966)

#### Other metrics and monitoring improvements
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is worth calling out as an experimental perf feature for task init speedup:
#19022


Added `segment/schemaCache/rowSignature/changed` and `segment/schemaCache/rowSignature/column/count` metrics to expose events when the Broker initializes and updates the row signature in the the segment metadata cache for each datasource.

[#18966](https://github.com/apache/druid/pull/18966)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug fix #19162 appears to be missing from the release notes

I can’t recall whether both a “Release note” section in the PR summary and a release note GitHub label are required for changes to appear in the release notes docs

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We typically don't include bug fixes in the release notes unless requested. I'm not sure why historically, but that's been the process since I've worked on Druid


#### Other cluster management improvements

- Added a `ReadOnly` authorizer that allows all READ operations but denies any other operation, such as WRITE [#19243](https://github.com/apache/druid/pull/19243)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aho135 @317brian what do you think about adding a brief note linking #19272 for the read only authorizer (as a fix to an issue), since the fix isn’t included in 37.0.0?

Comment thread docs/release-info/release-notes.md
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md Outdated
Comment thread docs/release-info/release-notes.md
317brian and others added 4 commits April 22, 2026 14:08
Co-authored-by: Cece Mei <yingqian.mei@gmail.com>
Co-authored-by: Abhishek Radhakrishnan <abhishek.rb19@gmail.com>
317brian and others added 3 commits April 23, 2026 09:44
Co-authored-by: Abhishek Radhakrishnan <abhishek.rb19@gmail.com>

#### Filtering metrics

Operators can set `druid.emitter.logging.shouldFilterMetrics=true` to limit which metrics the logging emitter writes. Optionally, they can set `druid.emitter.logging.allowedMetricsPath` to a JSON object file where the keys are metric names. A missing custom file results in a warning and use of the bundled `defaultMetrics.json`. Alerts and other non-metric events are always logged.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

defaultMetrics.json has been renamed to loggingEmitterAllowedMetrics.json in #19359. Backport PR: #19371

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants