Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename the default setting of 'maxSubqueryBytes' from 'unlimited' to 'disabled' #15108

Merged
merged 5 commits into from
Oct 9, 2023

Conversation

LakshSingla
Copy link
Contributor

@LakshSingla LakshSingla commented Oct 9, 2023

Description

This PR renames the value of the default setting of 'maxSubqueryBytes' from 'unlimited' to 'disabled' since the latter is more depictive of what happens.

Release note

The default setting of 'maxSubqueryBytes' is renamed from 'unlimited' to 'disabled'.
When the user sets 'maxSubqueryBytes'='disabled`, the guard rail around subQuery row bytes is not applied.


Key changed/added classes in this PR

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.

Copy link
Contributor

@cryptoe cryptoe left a comment

Choose a reason for hiding this comment

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

Highlighted some doc changes. Rest LGTM!!

@@ -1871,6 +1871,11 @@ Note the following guardrails that can be set by the cluster admin to limit the

Note that limiting the subquery by bytes is a newer feature therefore it is experimental as it materializes the results differently.

'maxSubqueryBytes' can be configured to following values:
Copy link
Contributor

Choose a reason for hiding this comment

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

We should also document stuff in QueryContext.md#General parameters.

1. 'disabled' - It is the default setting out of the box. It disables the subquery's from the byte based limit, and effectively disables this feature.
2. 'auto' - Druid automatically decides the optimal byte based limit based upon the heap space available and the max number of concurrent queries.
3. A postive long value - User can manually specify the number of bytes that the results of the subquerys of a single query can occupy on the heap.

Copy link
Contributor

Choose a reason for hiding this comment

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

Please mention the side effects as well that in terms of when the performance starts degrading.

@LakshSingla LakshSingla merged commit 95bf331 into apache:master Oct 9, 2023
81 checks passed
@LakshSingla LakshSingla added this to the 28.0 milestone Oct 12, 2023
ektravel pushed a commit to ektravel/druid that referenced this pull request Oct 16, 2023
…'disabled' (apache#15108)

The default setting of 'maxSubqueryBytes' is renamed from 'unlimited' to 'disabled'.
CaseyPan pushed a commit to CaseyPan/druid that referenced this pull request Nov 17, 2023
…'disabled' (apache#15108)

The default setting of 'maxSubqueryBytes' is renamed from 'unlimited' to 'disabled'.
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