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

feat: Add configs to disable specified operator #850

Closed
wants to merge 1 commit into from

Conversation

viirya
Copy link
Member

@viirya viirya commented Aug 19, 2024

Which issue does this PR close?

Closes #.

Rationale for this change

In contrast to the configs enabling operators, sometimes we only want to disable one particular operator in Comet to check if it is the cause of error. For the use case, we need the configs used to disable specified operators.

What changes are included in this PR?

How are these changes tested?

createExecDisabledConfig(OPERATOR_BROADCAST_EXCHANGE, defaultValue = false)
val COMET_EXEC_HASH_JOIN_DISABLED: ConfigEntry[Boolean] =
createExecDisabledConfig(OPERATOR_HASH_JOIN, defaultValue = false)
val COMET_EXEC_SORT_MERGE_JOIN_DISABLED: ConfigEntry[Boolean] =
Copy link
Member Author

Choose a reason for hiding this comment

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

For example, I use this to test SortMergeJoin in #553.

Copy link
Member

Choose a reason for hiding this comment

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

It seems strange to have both an enabled and disabled for each operator. What do we do if both are true or both are false?

In #840 I had suggested another approach, which I wasn't too happy with, and @parthchandra had added another suggestion in there

Copy link
Member Author

Choose a reason for hiding this comment

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

In isCometOperatorEnabled, currently disabled configs have higher priority.

But I agree that it would make confusion.

Another proposal would be to disable the operator if enabled config is false even COMET_EXEC_ALL_OPERATOR_ENABLED is true.

Copy link
Member Author

Choose a reason for hiding this comment

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

I.e., the enabled can be used to enable/disable specified operator.

Copy link
Member Author

Choose a reason for hiding this comment

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

Hmm, it doesn't make sense too. These enabled configs are false by default. Which will disable these configs.

Copy link
Member

Choose a reason for hiding this comment

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

Hmm, it doesn't make sense too. These enabled configs are false by default. Which will disable these configs.

In PR I had changed them all to default to true, so we can disable by setting to false

Copy link
Member

Choose a reason for hiding this comment

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

I had also removed the ALL option

Copy link
Member Author

Choose a reason for hiding this comment

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

I had also removed the ALL option

You mean COMET_EXEC_ALL_OPERATOR_ENABLED?

Copy link
Member Author

Choose a reason for hiding this comment

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

Okay, it makes sense then. Do I need to wait for your PR?

Copy link
Member

Choose a reason for hiding this comment

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

I created a new PR with just the config change
#855

@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 55.34%. Comparing base (c9af3f4) to head (dc66b60).
Report is 3 commits behind head on main.

Additional details and impacted files
@@              Coverage Diff              @@
##               main     #850       +/-   ##
=============================================
+ Coverage     34.05%   55.34%   +21.28%     
+ Complexity      879      857       -22     
=============================================
  Files           112      109        -3     
  Lines         42959    10585    -32374     
  Branches       9488     2010     -7478     
=============================================
- Hits          14629     5858     -8771     
+ Misses        25330     3714    -21616     
+ Partials       3000     1013     -1987     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@viirya viirya closed this Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants