-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
GH-15233: [C++] Correct thread contention in s3fs #34671
Conversation
|
…om within the copy thread.
bf6c5a7
to
9532b41
Compare
I think This is similar to the issues we ran into on the read path. The solution was to make everything async by default and the only time we wrap async with sync is at the API layer (e.g. on that first call from the user to a sync method). This allows us to keep one async path for all the "internals" and only mirror the two paths at the edges. Instead, could we change |
@EpsilonPrime are you still interested in moving this forward? It looks like there are some failing checks and some review feedbacks to address |
@amol- Yes, I'm still working on this but my alternate version of the solution (using futures throughout) is not yet working. |
@EpsilonPrime Just checking back in on this, are you still working on this and we should keep it open? Do you need any assistance in getting it working? |
Solved by another PR. |
Avoids thread contention which can occur when using CopyFiles to copy files from a filesystem other than S3 to the S3FS. This is accomplished by not trying to complete the merging of a potentially multipart file asynchronously while already in an I/O thread (instead that work is completed in the already active thread).