aws-sdk-s3 1.233.1 → 1.233.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/client.rb +1 -1
- data/lib/aws-sdk-s3/directory_downloader.rb +3 -2
- data/lib/aws-sdk-s3/directory_uploader.rb +4 -0
- data/lib/aws-sdk-s3/file_downloader.rb +21 -14
- data/lib/aws-sdk-s3/multipart_file_uploader.rb +0 -1
- data/lib/aws-sdk-s3.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7dd065c16e48d0c0f7d227b772a6d6716478341cc697d4b552ba6098a6cfab06
|
|
4
|
+
data.tar.gz: b3322ba1c97612a0796f149b92c22d232f385480d7be7bd091125c1818a8f0c5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2591b76c9a1118cc31cfd6c85ddbf29767ad50ac197349f93f1a33ae31b0138f74abf455aef08ab2f8f12f75337b8bc5daba1bf858657a3f93fe2f8f87818f85
|
|
7
|
+
data.tar.gz: 232fa0a2eaf103bf1738acea96860f9f59657f13c1507fa14f4dc469fadf052de744e58ff9f62648bbb1d9779e0913919731d114ee71ba503d8b0afe014ff177
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
Unreleased Changes
|
|
2
2
|
------------------
|
|
3
3
|
|
|
4
|
+
1.233.2 (2026-10-06)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
* Issue - Fix `download_file` on `TransferManager` and `Aws::S3::Object` leaving a corrupt file at the destination when a part raises a non-`StandardError`, and leaving a temp file behind when a caller-provided executor rejects a part.
|
|
8
|
+
|
|
9
|
+
* Issue - Prevent `upload_directory` and `download_directory` on `TransferManager` from hanging when listing files or objects raises a non-`StandardError`, such as from a `:filter_callback`.
|
|
10
|
+
|
|
4
11
|
1.233.1 (2026-10-01)
|
|
5
12
|
------------------
|
|
6
13
|
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.233.
|
|
1
|
+
1.233.2
|
data/lib/aws-sdk-s3/client.rb
CHANGED
|
@@ -24209,7 +24209,7 @@ module Aws::S3
|
|
|
24209
24209
|
tracer: tracer
|
|
24210
24210
|
)
|
|
24211
24211
|
context[:gem_name] = 'aws-sdk-s3'
|
|
24212
|
-
context[:gem_version] = '1.233.
|
|
24212
|
+
context[:gem_version] = '1.233.2'
|
|
24213
24213
|
Seahorse::Client::Request.new(handlers, context)
|
|
24214
24214
|
end
|
|
24215
24215
|
|
|
@@ -148,8 +148,9 @@ module Aws
|
|
|
148
148
|
stream_objects
|
|
149
149
|
@object_queue << DONE_MARKER
|
|
150
150
|
rescue ClosedQueueError
|
|
151
|
-
# abort requested
|
|
152
|
-
|
|
151
|
+
nil # abort requested
|
|
152
|
+
# Any error, or the consumer waits on the queue forever
|
|
153
|
+
rescue Exception => e # rubocop:disable Lint/RescueException
|
|
153
154
|
close
|
|
154
155
|
raise e
|
|
155
156
|
end
|
|
@@ -156,6 +156,10 @@ module Aws
|
|
|
156
156
|
# encountered a traversal error, we must abort immediately
|
|
157
157
|
close
|
|
158
158
|
raise DirectoryUploadError, "Directory traversal failed for '#{@source_dir}': #{e.message}"
|
|
159
|
+
# Any other error, or the consumer waits on the queue forever
|
|
160
|
+
rescue Exception => e # rubocop:disable Lint/RescueException
|
|
161
|
+
close
|
|
162
|
+
raise e
|
|
159
163
|
end
|
|
160
164
|
|
|
161
165
|
while (file = @file_queue.shift) && file != DONE_MARKER
|
|
@@ -60,7 +60,7 @@ module Aws
|
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
def download_with_executor(part_list, total_size, opts)
|
|
63
|
-
|
|
63
|
+
queued_parts = 0
|
|
64
64
|
completion_queue = Queue.new
|
|
65
65
|
abort_download = false
|
|
66
66
|
error = nil
|
|
@@ -69,24 +69,31 @@ module Aws
|
|
|
69
69
|
while (part = part_list.shift)
|
|
70
70
|
break if abort_download
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
72
|
+
begin
|
|
73
|
+
@executor.post(part) do |p|
|
|
74
|
+
update_progress(progress, p)
|
|
75
|
+
resp = @client.get_object(p.params)
|
|
76
|
+
range = extract_range(resp.content_range)
|
|
77
|
+
validate_range(range, p.params[:range]) if p.params[:range]
|
|
78
|
+
write(resp.body, range, opts)
|
|
79
|
+
|
|
80
|
+
execute_checksum_callback(resp, opts)
|
|
81
|
+
# Any error, or a corrupt file replaces the destination
|
|
82
|
+
rescue Exception => e # rubocop:disable Lint/RescueException
|
|
83
|
+
abort_download = true
|
|
84
|
+
error = e
|
|
85
|
+
ensure
|
|
86
|
+
completion_queue << :done
|
|
87
|
+
end
|
|
88
|
+
queued_parts += 1
|
|
81
89
|
rescue StandardError => e
|
|
82
|
-
|
|
90
|
+
# Rejected by the executor, wait for queued parts so none write after cleanup
|
|
83
91
|
error = e
|
|
84
|
-
|
|
85
|
-
completion_queue << :done
|
|
92
|
+
break
|
|
86
93
|
end
|
|
87
94
|
end
|
|
88
95
|
|
|
89
|
-
|
|
96
|
+
queued_parts.times { completion_queue.pop }
|
|
90
97
|
raise error unless error.nil?
|
|
91
98
|
end
|
|
92
99
|
|
data/lib/aws-sdk-s3.rb
CHANGED