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

Replace AbortOnDrop / AbortDropOnMany with tokio JoinSet #6750

Merged
merged 10 commits into from
Jul 4, 2023

Conversation

aprimadi
Copy link
Contributor

@aprimadi aprimadi commented Jun 22, 2023

Which issue does this PR close?

Work toward #6513

Rationale for this change

N/A

What changes are included in this PR?

N/A

Are these changes tested?

Yes, by existing tests.

Are there any user-facing changes?

No.

@github-actions github-actions bot added the core Core DataFusion crate label Jun 22, 2023
@aprimadi aprimadi changed the title Use JoinSet in MemTable Replace AbortOnDrop / AbortDropOnMany with tokio JoinSet Jun 22, 2023
@alamb
Copy link
Contributor

alamb commented Jun 23, 2023

Thank you @aprimadi (cc @crepererum )

@aprimadi
Copy link
Contributor Author

Sorry this is going to take a while @alamb I'm a bit busy these last few weeks. Will work on this whenever I have some free hours.

Feel free to let me know if you need to get this done quickly and I'll get it to a reviewable state and mark it as ready for review.

@alamb
Copy link
Contributor

alamb commented Jun 26, 2023

Feel free to let me know if you need to get this done quickly and I'll get it to a reviewable state and mark it as ready for review.

No problem @aprimadi -- we really appreciate all the help! In order to avoid this PR bitrotting, perhaps you could get it to a reviewable state (even if it doesn't port all of the uses) and we can merge that as you work on the other uses?

Copy link
Contributor

@crepererum crepererum left a comment

Choose a reason for hiding this comment

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

Love it 👍

BTW: I wonder if we could use clippy's disallowed_methods lint to prevent the usage of tokio::spawn altogether, since it led to so many cancellation and error propagation bugs.

@tustvold tustvold changed the base branch from main to backup-main June 27, 2023 11:11
@tustvold tustvold changed the base branch from backup-main to main June 27, 2023 11:12
@aprimadi aprimadi marked this pull request as ready for review July 3, 2023 09:36
@aprimadi
Copy link
Contributor Author

aprimadi commented Jul 3, 2023

I haven't succeed in refactoring RepartitionExec to use JoinSet.

@alamb
Copy link
Contributor

alamb commented Jul 3, 2023

I haven't succeed in refactoring RepartitionExec to use JoinSet.

That is likely the most tricky one

@crepererum
Copy link
Contributor

I haven't succeed in refactoring RepartitionExec to use JoinSet.

That's OK, I've added a subtask to #6513 so we can do that in a follow-up. Let's merge this PR here so it doesn't get stale.

@crepererum crepererum merged commit 02a470f into apache:main Jul 4, 2023
@alamb
Copy link
Contributor

alamb commented Jul 5, 2023

Thank you @aprimadi and @crepererum ❤️

@aprimadi
Copy link
Contributor Author

aprimadi commented Jul 5, 2023

Thank you @crepererum and @alamb for the review. Sorry I haven't succeed in refactoring RepartitionExec been kinda busy.

I may try again once I have quite a large chunk of development and debugging time to tackle it. Or I may also not be able to do it at all due to not having enough skill 😜.

2010YOUY01 pushed a commit to 2010YOUY01/arrow-datafusion that referenced this pull request Jul 5, 2023
* Use JoinSet in MemTable

* Fix error handling

* Refactor AbortOnDropSingle in csv physical plan

* Fix csv write physical plan error propagation

* Refactor json write physical plan to use JoinSet

* Refactor parquet write physical plan to use JoinSet

* Refactor collect_partitioned to use JoinSet

* Refactor pull_from_input method to make it easier to read

* Fix typo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Core DataFusion crate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants