plusplusjiajia opened a new pull request, #898:
URL: https://github.com/apache/iceberg-cpp/pull/898

     ArrowS3FileIO's per-credential delegates were raw references into an 
unsynchronized vector: `SetStorageCredentials` rebuilt it while a concurrent 
operation could still hold one, and building an S3 client — which can reach the 
network for bucket-region discovery — happened with no locking at all.
   
     This gives ArrowS3FileIO the treatment #889 gave ResolvingFileIO: 
delegates held and handed out by `shared_ptr`, state under a `shared_mutex`, 
delegate construction moved off the lock, and `DeleteFiles` matching every 
location against one snapshot so a batch sees a single delegate 
generation.`SupportsStorageCredentials::credentials()` returns by value, since 
a reference can dangle once a concurrent install replaces the vector.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to