aws-sdk-s3 1.117.1 → 1.117.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6d31a47142c4cffa91ce641c6a4ed4ab1e7e13ce9ed019e629070a65db2e1090
4
- data.tar.gz: 852234dda4a55dbcc47e4cdee46697b2033a4c12a486e79e999add5747d9ad53
3
+ metadata.gz: 17fc385741768d19f425516e457864220c9e3df5073c376675969f7ec9859d47
4
+ data.tar.gz: a42a0d634d5094da59d0b4a797949c3cfed58e35b9599912403223419376e544
5
5
  SHA512:
6
- metadata.gz: 8cb1b4ffd2068e4b17e78a19a1b5a4eeeedbcba131b849d2360191b62f256d3719843a0e867fb15d177ca596644d5e24c757693f9aa7ca9338848b36da8bd9d6
7
- data.tar.gz: 9b022a84343f72c10de43280b28dc1c81c33999e31ab498df6caea63515dafad14a0d1b44defd3d22fd5e34b3bfaaa8ad680b39aa46927cb5417224aeec63718
6
+ metadata.gz: ba59de5b83b811490ee8595efadca7a42b710e0d297869f3d45d12fbcd0b8ea428eafd6b2061e8abae0d801de0a14ce5edc64af871d6fa5280131eeae140a3bf
7
+ data.tar.gz: 6b1e887e1b2e48ab45c10ff85edc12ae7832037d14526e359f56a674e1e453e33f958d2c50a9cfbfd79184f73acaeff5a77b1c2293cc21475ac7d384b247f2fb
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.117.2 (2022-11-30)
5
+ ------------------
6
+
7
+ * Issue - Return error messages from failures in threads in `MultipartStreamUploader` (#2793).
8
+
4
9
  1.117.1 (2022-10-26)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.117.1
1
+ 1.117.2
@@ -15354,7 +15354,7 @@ module Aws::S3
15354
15354
  params: params,
15355
15355
  config: config)
15356
15356
  context[:gem_name] = 'aws-sdk-s3'
15357
- context[:gem_version] = '1.117.1'
15357
+ context[:gem_version] = '1.117.2'
15358
15358
  Seahorse::Client::Request.new(handlers, context)
15359
15359
  end
15360
15360
 
@@ -67,9 +67,13 @@ module Aws
67
67
 
68
68
  def upload_parts(upload_id, options, &block)
69
69
  completed = Queue.new
70
+ thread_errors = []
70
71
  errors = begin
71
72
  IO.pipe do |read_pipe, write_pipe|
72
- threads = upload_in_threads(read_pipe, completed, upload_part_opts(options).merge(upload_id: upload_id))
73
+ threads = upload_in_threads(
74
+ read_pipe, completed,
75
+ upload_part_opts(options).merge(upload_id: upload_id),
76
+ thread_errors)
73
77
  begin
74
78
  block.call(write_pipe)
75
79
  ensure
@@ -79,7 +83,7 @@ module Aws
79
83
  threads.map(&:value).compact
80
84
  end
81
85
  rescue => e
82
- [e]
86
+ thread_errors + [e]
83
87
  end
84
88
 
85
89
  if errors.empty?
@@ -142,7 +146,7 @@ module Aws
142
146
  end
143
147
  end
144
148
 
145
- def upload_in_threads(read_pipe, completed, options)
149
+ def upload_in_threads(read_pipe, completed, options, thread_errors)
146
150
  mutex = Mutex.new
147
151
  part_number = 0
148
152
  @thread_count.times.map do
@@ -179,7 +183,10 @@ module Aws
179
183
  nil
180
184
  rescue => error
181
185
  # keep other threads from uploading other parts
182
- mutex.synchronize { read_pipe.close_read unless read_pipe.closed? }
186
+ mutex.synchronize do
187
+ thread_errors.push(error)
188
+ read_pipe.close_read unless read_pipe.closed?
189
+ end
183
190
  error
184
191
  end
185
192
  end