Skip to content

Commit d8c1d98

Browse files
Nevins Bartolomeoph
authored andcommitted
fixing bug where stale files where removed but never deleted
Fixes #102
1 parent 6799d03 commit d8c1d98

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

lib/logstash/outputs/s3/file_repository.rb

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,12 @@ def initialize(tags, encoding, temporary_directory,
5555

5656
def keys
5757
arr = []
58-
@prefixed_factories.keySet.each {|k| arr << k}
58+
@prefixed_factories.keys.each {|k| arr << k}
5959
arr
6060
end
6161

6262
def each_files
63-
@prefixed_factories.values do |prefixed_file|
63+
@prefixed_factories.elements.each do |prefixed_file|
6464
prefixed_file.with_lock { |factory| yield factory.current }
6565
end
6666
end
@@ -82,15 +82,18 @@ def size
8282
@prefixed_factories.size
8383
end
8484

85+
def remove_stale(k, v)
86+
if v.stale?
87+
@prefixed_factories.remove(k, v)
88+
v.with_lock{ |factor| factor.current.delete!}
89+
end
90+
end
91+
8592
def start_stale_sweeper
8693
@stale_sweeper = Concurrent::TimerTask.new(:execution_interval => @sweeper_interval) do
8794
LogStash::Util.set_thread_name("S3, Stale factory sweeper")
8895

89-
@prefixed_factories.entrySet.each do |s|
90-
if s.getValue.stale?
91-
@prefixed_factories.remove(s.getKey, s.getValue)
92-
end
93-
end
96+
@prefixed_factories.forEach{|k,v| remove_stale(k,v)}
9497
end
9598

9699
@stale_sweeper.execute

0 commit comments

Comments
 (0)