Skip to content

deprecate segment lock gran & NumberedOverwriteShardSpec#19050

Merged
gianm merged 4 commits intoapache:masterfrom
cecemei:deprecate
Feb 25, 2026
Merged

deprecate segment lock gran & NumberedOverwriteShardSpec#19050
gianm merged 4 commits intoapache:masterfrom
cecemei:deprecate

Conversation

@cecemei
Copy link
Contributor

@cecemei cecemei commented Feb 24, 2026

Deprecate segment lock gran & NumberedOverwriteShardSpec. New features should use TIME_CHUNK lock .


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.

@cecemei cecemei marked this pull request as ready for review February 24, 2026 23:17
@gianm
Copy link
Contributor

gianm commented Feb 24, 2026

Let's do deprecations in separate PRs. I'm certain I like the idea of deprecating segment locking: it never made it out of experimental status, and we have new ways of solving the same problems that it was meant to solve.

I'm not as certain that I like deprecating native compaction right now, although, maybe? Per this comment I do think we should be moving towards MSQ compaction in general: #18996 (comment) so maybe now is a good time to deprecate native. Another possibility is that as a preparatory step we should make MSQ the default (if not already), nudge people towards it in the docs and web console (if not already), etc. I am not sure of the current state of those things.

Couple other things about deprecations:

  • Docs need an update as well as code. Anywhere a deprecated feature is mentioned, there should be an infobox (if entire section) or small note (if passing mention) saying that the feature is deprecated.
  • PRs that deprecate stuff should be tagged "Release Notes" so we can add deprecations to the notes.

@cecemei cecemei changed the title deprecate segment lock gran & native compaction runner deprecate segment lock gran & NumberedOverwriteShardSpec Feb 24, 2026
@gianm
Copy link
Contributor

gianm commented Feb 25, 2026

In terms of doc updates, there's also:

  • references to "segment locking" in docs/design/storage.md, docs/ingestion/tasks.md
  • reference to druid.indexer.tasklock.forceTimeChunkLock in docs/configuration/index.md

These should be changed from describing the feature as "experimental" to "deprecated".

Copy link
Contributor

@gianm gianm left a comment

Choose a reason for hiding this comment

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

LGTM

@gianm gianm merged commit a09d6f8 into apache:master Feb 25, 2026
58 of 59 checks passed
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.

2 participants