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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a94f968574a4140131a94ed10f6e238db29a2cb3ceac5eaab1bccdda34efa4f
4
- data.tar.gz: 63bbf8c2512e03438f6e22c634bb9070cc52e0b06096d7a6945dc55100303631
3
+ metadata.gz: 7dd065c16e48d0c0f7d227b772a6d6716478341cc697d4b552ba6098a6cfab06
4
+ data.tar.gz: b3322ba1c97612a0796f149b92c22d232f385480d7be7bd091125c1818a8f0c5
5
5
  SHA512:
6
- metadata.gz: 46c2a374e3f4bbd446d32b3403f08e2b648f37dc5f1cfb1d1c2224a211b43e6450ebdaa9cc3bbf9c6fa3e2a5b0884671127baf13163391fb11647a339f34ae5f
7
- data.tar.gz: 564b1d9d422faa9180efc8e86f31803c517335608ff98eb05fa328094cc5de1a23cd22f13afeb09aa3e84aeb5f0e0f3b8a2e9a2f69437403efcbc3aa7bb2ebb2
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
+ 1.233.2
@@ -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.1'
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
- rescue StandardError => e
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
- download_attempts = 0
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
- download_attempts += 1
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)
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
- abort_download = true
90
+ # Rejected by the executor, wait for queued parts so none write after cleanup
83
91
  error = e
84
- ensure
85
- completion_queue << :done
92
+ break
86
93
  end
87
94
  end
88
95
 
89
- download_attempts.times { completion_queue.pop }
96
+ queued_parts.times { completion_queue.pop }
90
97
  raise error unless error.nil?
91
98
  end
92
99
 
@@ -169,7 +169,6 @@ module Aws
169
169
  queued_parts += 1
170
170
  rescue StandardError => e
171
171
  # Rejected by the executor; abort rather than orphan the upload.
172
- abort_upload = true
173
172
  errors << e
174
173
  break
175
174
  end
data/lib/aws-sdk-s3.rb CHANGED
@@ -75,7 +75,7 @@ module Aws::S3
75
75
  autoload :ObjectVersion, 'aws-sdk-s3/object_version'
76
76
  autoload :EventStreams, 'aws-sdk-s3/event_streams'
77
77
 
78
- GEM_VERSION = '1.233.1'
78
+ GEM_VERSION = '1.233.2'
79
79
 
80
80
  end
81
81
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.233.1
4
+ version: 1.233.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services