Skip to content

Commit 0466842

Browse files
authored
Change ConnectionPool to not use an iterators for .empty! and .clear! (#3021)
1 parent 7090d10 commit 0466842

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

gems/aws-sdk-core/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
Unreleased Changes
22
------------------
33

4+
* Issue - Fix `ConnectionPool` for `.empty!` and `.clear!` since it prevented adding a new key from being added to the pool (#3020).
5+
46
3.196.0 (2024-05-13)
57
------------------
68

gems/aws-sdk-core/lib/seahorse/client/net_http/connection_pool.rb

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,7 @@ def clean!
138138
# @return [nil]
139139
def empty!
140140
@pool_mutex.synchronize do
141-
@pool.each_pair do |endpoint,sessions|
142-
sessions.each(&:finish)
143-
end
141+
@pool.values.flatten.map(&:finish)
144142
@pool.clear
145143
end
146144
nil
@@ -308,7 +306,7 @@ def start_session endpoint
308306
# @note **Must** be called behind a `@pool_mutex` synchronize block.
309307
def _clean
310308
now = Aws::Util.monotonic_milliseconds
311-
@pool.each_pair do |endpoint,sessions|
309+
@pool.values.each do |sessions|
312310
sessions.delete_if do |session|
313311
if session.last_used.nil? or now - session.last_used > http_idle_timeout * 1000
314312
session.finish

0 commit comments

Comments
 (0)