tustvold commented on code in PR #503:
URL:
https://github.com/apache/arrow-rs-object-store/pull/503#discussion_r2427370017
##########
src/gcp/mod.rs:
##########
@@ -114,6 +115,127 @@ struct UploadState {
parts: Parts,
}
+#[derive(Debug)]
+struct ResumableState {
+ client: Arc<GoogleCloudStorageClient>,
+ session_uri: String,
+ in_flight: AtomicUsize,
+ next_offset: AtomicU64,
+ closed: AtomicBool,
+}
+
+#[derive(Debug)]
+struct GCSResumableUpload {
+ state: Arc<ResumableState>,
Review Comment:
Why do we need to use Arc and atomics here, AFAICT there isn't an obvious
reason for this?
Edit: Oh I see, it is to try to prevent concurrent put part... NGL kind of
feels like we're trying to shoehorn something into an interface that doesn't
really fit...
--
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]