Allow MSQ engine only for compaction supervisors#17033
Merged
kfaraz merged 8 commits intoapache:masterfrom Sep 24, 2024
Merged
Conversation
…ne as overlord runtime property.
kfaraz
reviewed
Sep 23, 2024
Contributor
kfaraz
left a comment
There was a problem hiding this comment.
Overall looks good, left some minor suggestions.
Comment on lines
+88
to
+91
| throw InvalidInput.exception( | ||
| "Compaction supervisor spec is invalid. Reason[%s].", | ||
| supervisorSpec.getValidationResult().getReason() | ||
| ); |
Contributor
There was a problem hiding this comment.
Let's not throw an exception here. We can either add new fields to AutoCompactionSnapshot or add a new class that is returned by this method.
Contributor
Author
There was a problem hiding this comment.
Introduced an additional field in AutoCompactionSnapshot
|
|
||
| @Test | ||
| public void testInvalidSpecThrowsException() | ||
| public void testSupervisorWithInvalidSpecThrowsExceptionForStatus() |
Contributor
There was a problem hiding this comment.
This test might have to change a little as we shouldn't throw an exception while getting state/status even if the spec is invalid.
kfaraz
approved these changes
Sep 23, 2024
Contributor
kfaraz
left a comment
There was a problem hiding this comment.
Thanks for the changes, @gargvishesh !
kfaraz
reviewed
Sep 24, 2024
kfaraz
approved these changes
Sep 24, 2024
kfaraz
pushed a commit
to kfaraz/druid
that referenced
this pull request
Sep 24, 2024
apache#16768 added the functionality to run compaction as a supervisor on the overlord. This patch builds on top of that to restrict MSQ engine to compaction in the supervisor-mode only. With these changes, users can no longer add MSQ engine as part of datasource compaction config, or as the default cluster-level compaction engine, on the Coordinator. The patch also adds an Overlord runtime property `druid.supervisor.compaction.engine=<msq/native>` to specify the default engine for compaction supervisors. Since these updates require major changes to existing MSQ compaction integration tests, this patch disables MSQ-specific compaction integration tests -- they will be taken up in a follow-up PR. Key changed/added classes in this patch: * CompactionSupervisor * CompactionSupervisorSpec * CoordinatorCompactionConfigsResource * OverlordCompactionScheduler
kfaraz
added a commit
that referenced
this pull request
Sep 25, 2024
…17143) #16768 added the functionality to run compaction as a supervisor on the overlord. This patch builds on top of that to restrict MSQ engine to compaction in the supervisor-mode only. With these changes, users can no longer add MSQ engine as part of datasource compaction config, or as the default cluster-level compaction engine, on the Coordinator. The patch also adds an Overlord runtime property `druid.supervisor.compaction.engine=<msq/native>` to specify the default engine for compaction supervisors. Since these updates require major changes to existing MSQ compaction integration tests, this patch disables MSQ-specific compaction integration tests -- they will be taken up in a follow-up PR. Key changed/added classes in this patch: * CompactionSupervisor * CompactionSupervisorSpec * CoordinatorCompactionConfigsResource * OverlordCompactionScheduler Co-authored-by: Vishesh Garg <gargvishesh@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
#16768 added the functionality to run compaction as a supervisor on the overlord. This PR builds on top of that to restrict MSQ engine to compaction in the supervisor-mode only. With these changes, users can no longer add MSQ engine as part of datasource compaction config, or as the default cluster-level compaction engine, on the Coordinator.
The PR also adds an Overlord runtime property
druid.supervisor.compaction.defaultEngine=<msq/native>to specify the default engine for compaction supervisors.Since these updates require major changes to existing MSQ compaction integration tests, this PR disables MSQ-specific compaction integration tests -- they will be taken up in a follow-up PR.
Key changed/added classes in this PR
This PR has: