logstash-input-file 4.4.5 → 4.4.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/filewatch/read_mode/handlers/read_file.rb +1 -0
- data/lib/jars/filewatch-1.0.1.jar +0 -0
- data/logstash-input-file.gemspec +1 -1
- data/spec/inputs/file_read_spec.rb +19 -27
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eabfa7af5953763874689d9cba6691d9184de195e33dbf40425021653e8f3548
|
4
|
+
data.tar.gz: cdca8f6300254f1d32b327194ed5977f85bb47b6912a27170d4bbacae2d6bad8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bbbe5f2f43e7ef106a67bc63ebacb71d1312574dbfac8f4566ab4fef400ad751d6be0e258d8eac2358116c6e90584ca0664b2a5d44e0d853d84ff2703f148904
|
7
|
+
data.tar.gz: 4a7f8f7bedc904dc059ffe8acac14da3ff63663b6a4a5e748c8750952e85a5f15dc0024d696c3de5611fd40408e8f7be7d30c8cb0c5ca9ac2f436aab55d8bb4d
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
## 4.4.6
|
2
|
+
- Change read mode to immediately stop consuming buffered lines when shutdown is requested [#322](https://github.com/logstash-plugins/logstash-input-file/pull/322)
|
3
|
+
|
1
4
|
## 4.4.5
|
2
5
|
- Handle EOF when checking archive validity [#321](https://github.com/logstash-plugins/logstash-input-file/pull/321)
|
3
6
|
|
@@ -54,6 +54,7 @@ module FileWatch module ReadMode module Handlers
|
|
54
54
|
# sincedb position is independent from the watched_file bytes_read
|
55
55
|
delta = line.bytesize + @settings.delimiter_byte_size
|
56
56
|
sincedb_collection.increment(watched_file.sincedb_key, delta)
|
57
|
+
break if quit?
|
57
58
|
end
|
58
59
|
rescue EOFError => e
|
59
60
|
log_error("controlled_read: eof error reading file", watched_file, e)
|
Binary file
|
data/logstash-input-file.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-input-file'
|
4
|
-
s.version = '4.4.
|
4
|
+
s.version = '4.4.6'
|
5
5
|
s.licenses = ['Apache-2.0']
|
6
6
|
s.summary = "Streams events from files"
|
7
7
|
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
|
@@ -181,25 +181,27 @@ describe LogStash::Inputs::File do
|
|
181
181
|
end
|
182
182
|
|
183
183
|
context "for a compressed file" do
|
184
|
+
let(:tmp_directory) { Stud::Temporary.directory }
|
185
|
+
let(:all_files_path) { fixture_dir.join("compressed.*.*") }
|
186
|
+
let(:gz_file_path) { fixture_dir.join('compressed.log.gz') }
|
187
|
+
let(:gzip_file_path) { fixture_dir.join('compressed.log.gzip') }
|
188
|
+
let(:sincedb_path) { ::File.join(tmp_directory, "sincedb.db") }
|
189
|
+
let(:log_completed_path) { ::File.join(tmp_directory, "completed.log") }
|
190
|
+
|
184
191
|
it "the file is read" do
|
185
|
-
|
186
|
-
|
187
|
-
FileInput.make_fixture_current(file_path.to_path)
|
188
|
-
FileInput.make_fixture_current(file_path2.to_path)
|
189
|
-
tmpfile_path = fixture_dir.join("compressed.*.*")
|
190
|
-
directory = Stud::Temporary.directory
|
191
|
-
sincedb_path = ::File.join(directory, "readmode_C_sincedb.txt")
|
192
|
-
log_completed_path = ::File.join(directory, "C_completed.txt")
|
192
|
+
FileInput.make_fixture_current(gz_file_path.to_path)
|
193
|
+
FileInput.make_fixture_current(gzip_file_path.to_path)
|
193
194
|
|
194
195
|
conf = <<-CONFIG
|
195
196
|
input {
|
196
197
|
file {
|
197
198
|
type => "blah"
|
198
|
-
path => "#{
|
199
|
+
path => "#{all_files_path}"
|
199
200
|
sincedb_path => "#{sincedb_path}"
|
200
201
|
mode => "read"
|
201
202
|
file_completed_action => "log"
|
202
203
|
file_completed_log_path => "#{log_completed_path}"
|
204
|
+
exit_after_read => true
|
203
205
|
}
|
204
206
|
}
|
205
207
|
CONFIG
|
@@ -216,17 +218,11 @@ describe LogStash::Inputs::File do
|
|
216
218
|
end
|
217
219
|
|
218
220
|
it "the corrupted file is untouched" do
|
219
|
-
|
220
|
-
|
221
|
-
corrupted_file_path = ::File.join(directory, 'corrupted.gz')
|
222
|
-
FileUtils.cp(file_path, corrupted_file_path)
|
221
|
+
corrupted_file_path = ::File.join(tmp_directory, 'corrupted.gz')
|
222
|
+
FileUtils.cp(gz_file_path, corrupted_file_path)
|
223
223
|
|
224
224
|
FileInput.corrupt_gzip(corrupted_file_path)
|
225
225
|
|
226
|
-
log_completed_path = ::File.join(directory, "C_completed.txt")
|
227
|
-
f = File.new(log_completed_path, "w")
|
228
|
-
f.close()
|
229
|
-
|
230
226
|
conf = <<-CONFIG
|
231
227
|
input {
|
232
228
|
file {
|
@@ -236,28 +232,23 @@ describe LogStash::Inputs::File do
|
|
236
232
|
file_completed_action => "log_and_delete"
|
237
233
|
file_completed_log_path => "#{log_completed_path}"
|
238
234
|
check_archive_validity => true
|
235
|
+
exit_after_read => true
|
239
236
|
}
|
240
237
|
}
|
241
238
|
CONFIG
|
242
239
|
|
243
|
-
|
240
|
+
input(conf) do |pipeline, queue|
|
244
241
|
wait(1)
|
245
242
|
expect(IO.read(log_completed_path)).to be_empty
|
246
243
|
end
|
247
244
|
end
|
248
245
|
|
249
246
|
it "the truncated file is untouched" do
|
250
|
-
|
251
|
-
|
252
|
-
truncated_file_path = ::File.join(directory, 'truncated.gz')
|
253
|
-
FileUtils.cp(file_path, truncated_file_path)
|
247
|
+
truncated_file_path = ::File.join(tmp_directory, 'truncated.gz')
|
248
|
+
FileUtils.cp(gz_file_path, truncated_file_path)
|
254
249
|
|
255
250
|
FileInput.truncate_gzip(truncated_file_path)
|
256
251
|
|
257
|
-
log_completed_path = ::File.join(directory, "C_completed.txt")
|
258
|
-
f = File.new(log_completed_path, "w")
|
259
|
-
f.close()
|
260
|
-
|
261
252
|
conf = <<-CONFIG
|
262
253
|
input {
|
263
254
|
file {
|
@@ -267,11 +258,12 @@ describe LogStash::Inputs::File do
|
|
267
258
|
file_completed_action => "log_and_delete"
|
268
259
|
file_completed_log_path => "#{log_completed_path}"
|
269
260
|
check_archive_validity => true
|
261
|
+
exit_after_read => true
|
270
262
|
}
|
271
263
|
}
|
272
264
|
CONFIG
|
273
265
|
|
274
|
-
|
266
|
+
input(conf) do |pipeline, queue|
|
275
267
|
wait(1)
|
276
268
|
expect(IO.read(log_completed_path)).to be_empty
|
277
269
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-input-file
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.4.
|
4
|
+
version: 4.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|