You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "westonpace (via GitHub)" <gi...@apache.org> on 2023/03/22 19:46:27 UTC

[GitHub] [arrow] westonpace commented on pull request #34671: GH-15233: [C++] Correct thread contention in s3fs

westonpace commented on PR #34671:
URL: https://github.com/apache/arrow/pull/34671#issuecomment-1480160193

   I think `CloseAsync` is expected to act as an async method.  By pushing the writes to the foreground it is no longer acting as an async method.
   
   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 `CopyFile` (and `CopyFiles`) to use async methods?  Or create `CopyFileAysnc` and `CopyFilesAsync` (and change `CopyFiles` to return `CopyFilesAsync.result()`?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org