File tree 2 files changed +13
-1
lines changed
lib/fluent/plugin/out_forward
2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -81,7 +81,9 @@ def purge_obsolete_socks
81
81
end
82
82
end
83
83
end
84
- @available_sockets = @available_sockets . select { |_ , v | !v . empty? }
84
+
85
+ # reuse same object (@available_sockets)
86
+ @available_sockets . reject! { |_ , v | v . empty? }
85
87
86
88
sockets += @inactive_sockets
87
89
@inactive_sockets . clear
Original file line number Diff line number Diff line change @@ -38,6 +38,16 @@ class SocketCacheTest < Test::Unit::TestCase
38
38
sock = mock! . open { new_sock } . subject
39
39
assert_equal ( new_sock , c . checkout_or ( 'key' ) { sock . open } )
40
40
end
41
+
42
+ test 'reuse same hash object after calling purge_obsolete_socks' do
43
+ c = Fluent ::Plugin ::ForwardOutput ::SocketCache . new ( 10 , $log)
44
+ c . checkout_or ( 'key' ) { 'socket' }
45
+ c . purge_obsolete_socks
46
+
47
+ assert_nothing_raised ( NoMethodError ) do
48
+ c . checkout_or ( 'key' ) { 'new socket' }
49
+ end
50
+ end
41
51
end
42
52
43
53
sub_test_case 'checkin' do
You can’t perform that action at this time.
0 commit comments