-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Remove grouped execution #12916
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
Remove grouped execution #12916
Conversation
|
The |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you remove this deprecated method now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My changes had nothing to do with that. The method is still used
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To avoid issues with backward compatibility you would need to make things you remove deprecated first and add non deprecated methods.
The best way is to run the test in the IDE. The diff is presented much better there than in CI. |
I think that is the exact list of things that you removed. |
a82dd9b to
e47429f
Compare
|
@kokosing I rolled back the deletion of the class and put deprecated annotations around (last commit). Is that the way to do it? |
Almost.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would that make sense to leave test assertion for notColocated? Or is that covered by other tests. I would assume the latter, but can you check please?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe. I did not found tests that strictly mimic this one. The question remains about the name of the test since it has nothing to do with grouped execution anymore
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks to me that this property was misnamed and should have been called exposeTableRangePartitioning or sth. Not sure if that is applicable only for grouped exectution. Any Kudu experts on board? @MartinWeindel @grantatspothero ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not very familiar with ConnectorTableProperties, are tablePartitioning and streamPartitioningColumns used for anything besides grouped execution?
Right now these two fields are only populated behind the kudu.grouped-execution.enabled flag.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does not look like specific to just GROUPED_EXECUTION
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left the testSimple method and removed the grouped case.
core/trino-main/src/main/java/io/trino/execution/SqlTaskExecution.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/main/java/io/trino/operator/join/HashBuilderOperator.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you do that? There are calls with preferDynamic set to true and false
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am afraid you are right. I dropped the last commit.
losipiuk
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks OK.
@dain would you like to skim?
c9932c3 to
86e7745
Compare
|
Addressed comments in existing commits. The Kudu question remains |
86e7745 to
47399a5
Compare
|
Rebased and added another commit that removes another stuff |
47399a5 to
c52416d
Compare
|
Another rebase and this time added a commit requested by @sopel39. Also addressed small comments received offline. |
c52416d to
56439b4
Compare
This commit removes the feature of grouped execution. The code associated with this feature is, however, mostly still present in the codebase. The commit only removes config options and system session properties. The only additional changes are for the purpose of successful compilation. The dead code that is left in the project will be cleared in the following commits
The class is not useful after removal of grouped execution. Major parts of PlanFragmenter class has been removed in the process, as well as some tests strictly related to grouped execution
The class is not useful after removal of grouped execution.
The class is not useful after removal of grouped execution.
After the removal of grouped execution it is impossible for this object to be anything else than the "taskWide" singleton. This object is at that point completely useless and will exist just until its last occurrence is removed, which will take place in the following commits.
The lifespan object is a useless singleton at this point so it is being removed from: -DriverContext -DriverFactory -DriverStats -Join related classes -Split and SplitAssignment -LocalExchange. LocalExchangeFactory class is not needed anymore. -SqlTaskExecution
It was always a `NOT_PARTITION` since the removal of grouped execution, so it can be hardcoded at this point.
The class is not actually used since the removal of grouped execution. The last usages removed in this commit are: -TaskStatus class -TaskContext class -operator factories -schedulers
It was always a `NOT_PARTITION` since the removal of grouped execution, so it can be hardcoded at this point. The ConnectorNodePartitioningProvider::listPartitionHandles method can also be deprecated at this point
56439b4 to
a5c5c21
Compare
Description
Removal of grouped execution as it can be easily replaced by Tardigrade.
The PR contains many small commits to help with the review process. Majority should be squashed/rearranged before the merge.
Most of the changes is just a mindless unused code removal. Some parts, however, required more robust refactorings. Since I am not an expert in many of the areas, some things has been done without full understanding.
all of the above
all
Removal of grouped execution
Related issues, pull requests, and links
Documentation
(x) No documentation is needed.
( ) Sufficient documentation is included in this PR.
( ) Documentation PR is available with #prnumber.
( ) Documentation issue #issuenumber is filed, and can be handled later.
Release notes
( ) No release notes entries required.
(x) Release notes entries required with the following suggested text: