logstash-input-s3 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0893d52ac528526b6c2f58511ff3157ae9c5fe9e
4
- data.tar.gz: 986391045de0de83269276fa5224606a15984b02
3
+ metadata.gz: 14667d62937095305f003a16bfacb6561fd04dc6
4
+ data.tar.gz: 0841de8c625a8f0fe63fa59b24d899f0c3633de7
5
5
  SHA512:
6
- metadata.gz: 8bdd92283e2103c16bacfa305a6e2b6f1d89dfe70847327d29c6b100db551c2c47cd68b5439232060e07079c715f4b26a828bdaf01fa3271de46d3ab6e901a73
7
- data.tar.gz: 0295e0c05b06aefd71b8c0b53a329ee150aaa2e36cc402269d52307a0dcc3a1c703872a8d45874d4788b58dbf7767be08147e10c6d64fd00209d42add35425d6
6
+ metadata.gz: 26f96a7d9a3d5ea1cb13de57e85a2a454b7aef41fc182b561136cd4e95aef5a57b097e69506c4fa6dc4cf92d0f51b7bec6c10a62cf81d6281bd2590e972848e6
7
+ data.tar.gz: 171d4dd60907d9839dc2fda8ee1ab68400291e415bfcdba9da40f409ed775b17cac193fabe0f706368b0806e8f3a770a91068f6a9cf02086e27eb1c228d1cb66
@@ -1,3 +1,5 @@
1
+ ## 2.0.3
2
+ - Do not raise an exception if the sincedb file is empty, instead return the current time #66
1
3
  ## 2.0.0
2
4
  - Plugins were updated to follow the new shutdown semantic, this mainly allows Logstash to instruct input plugins to terminate gracefully,
3
5
  instead of using Thread.raise on the plugins' threads. Ref: https://github.com/elastic/logstash/pull/3895
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Logstash Plugin
2
2
 
3
+ [![Build
4
+ Status](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Inputs/job/logstash-plugin-input-s3-unit/badge/icon)](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Inputs/job/logstash-plugin-input-s3-unit/)
5
+
3
6
  This is a plugin for [Logstash](https://github.com/elastic/logstash).
4
7
 
5
8
  It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.
@@ -410,11 +410,12 @@ class LogStash::Inputs::S3 < LogStash::Inputs::Base
410
410
 
411
411
  def read
412
412
  if ::File.exists?(@sincedb_path)
413
- since = Time.parse(::File.read(@sincedb_path).chomp.strip)
413
+ content = ::File.read(@sincedb_path).chomp.strip
414
+ # If the file was created but we didn't have the time to write to it
415
+ return content.empty? ? Time.new(0) : Time.parse(content)
414
416
  else
415
- since = Time.new(0)
417
+ return Time.new(0)
416
418
  end
417
- return since
418
419
  end
419
420
 
420
421
  def write(since = nil)
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-input-s3'
4
- s.version = '2.0.2'
4
+ s.version = '2.0.3'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Stream events from files from a S3 bucket."
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/plugin install gemname. This gem is not a stand-alone program"
@@ -0,0 +1,17 @@
1
+ # encoding: utf-8
2
+ require "logstash/devutils/rspec/spec_helper"
3
+ require "logstash/inputs/s3"
4
+ require "stud/temporary"
5
+ require "fileutils"
6
+
7
+ describe LogStash::Inputs::S3::SinceDB::File do
8
+ let(:file) { Stud::Temporary.file.path }
9
+ subject { LogStash::Inputs::S3::SinceDB::File.new(file) }
10
+ before do
11
+ FileUtils.touch(file)
12
+ end
13
+
14
+ it "doesnt raise an exception if the file is empty" do
15
+ expect { subject.read }.not_to raise_error
16
+ end
17
+ end
metadata CHANGED
@@ -1,17 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-14 00:00:00.000000000 Z
11
+ date: 2015-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- requirement: !ruby/object:Gem::Requirement
14
+ name: logstash-core
15
+ version_requirements: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - '>='
17
18
  - !ruby/object:Gem::Version
@@ -19,10 +20,7 @@ dependencies:
19
20
  - - <
20
21
  - !ruby/object:Gem::Version
21
22
  version: 3.0.0
22
- name: logstash-core
23
- prerelease: false
24
- type: :runtime
25
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: !ruby/object:Gem::Requirement
26
24
  requirements:
27
25
  - - '>='
28
26
  - !ruby/object:Gem::Version
@@ -30,112 +28,115 @@ dependencies:
30
28
  - - <
31
29
  - !ruby/object:Gem::Version
32
30
  version: 3.0.0
31
+ prerelease: false
32
+ type: :runtime
33
33
  - !ruby/object:Gem::Dependency
34
+ name: logstash-mixin-aws
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
34
40
  requirement: !ruby/object:Gem::Requirement
35
41
  requirements:
36
42
  - - '>='
37
43
  - !ruby/object:Gem::Version
38
44
  version: '0'
39
- name: logstash-mixin-aws
40
45
  prerelease: false
41
46
  type: :runtime
47
+ - !ruby/object:Gem::Dependency
48
+ name: stud
42
49
  version_requirements: !ruby/object:Gem::Requirement
43
50
  requirements:
44
- - - '>='
51
+ - - ~>
45
52
  - !ruby/object:Gem::Version
46
- version: '0'
47
- - !ruby/object:Gem::Dependency
53
+ version: 0.0.18
48
54
  requirement: !ruby/object:Gem::Requirement
49
55
  requirements:
50
56
  - - ~>
51
57
  - !ruby/object:Gem::Version
52
58
  version: 0.0.18
53
- name: stud
54
59
  prerelease: false
55
60
  type: :runtime
61
+ - !ruby/object:Gem::Dependency
62
+ name: logstash-devutils
56
63
  version_requirements: !ruby/object:Gem::Requirement
57
64
  requirements:
58
- - - ~>
65
+ - - '>='
59
66
  - !ruby/object:Gem::Version
60
- version: 0.0.18
61
- - !ruby/object:Gem::Dependency
67
+ version: '0'
62
68
  requirement: !ruby/object:Gem::Requirement
63
69
  requirements:
64
70
  - - '>='
65
71
  - !ruby/object:Gem::Version
66
72
  version: '0'
67
- name: logstash-devutils
68
73
  prerelease: false
69
74
  type: :development
75
+ - !ruby/object:Gem::Dependency
76
+ name: simplecov
70
77
  version_requirements: !ruby/object:Gem::Requirement
71
78
  requirements:
72
79
  - - '>='
73
80
  - !ruby/object:Gem::Version
74
81
  version: '0'
75
- - !ruby/object:Gem::Dependency
76
82
  requirement: !ruby/object:Gem::Requirement
77
83
  requirements:
78
84
  - - '>='
79
85
  - !ruby/object:Gem::Version
80
86
  version: '0'
81
- name: simplecov
82
87
  prerelease: false
83
88
  type: :development
89
+ - !ruby/object:Gem::Dependency
90
+ name: coveralls
84
91
  version_requirements: !ruby/object:Gem::Requirement
85
92
  requirements:
86
93
  - - '>='
87
94
  - !ruby/object:Gem::Version
88
95
  version: '0'
89
- - !ruby/object:Gem::Dependency
90
96
  requirement: !ruby/object:Gem::Requirement
91
97
  requirements:
92
98
  - - '>='
93
99
  - !ruby/object:Gem::Version
94
100
  version: '0'
95
- name: coveralls
96
101
  prerelease: false
97
102
  type: :development
103
+ - !ruby/object:Gem::Dependency
104
+ name: logstash-codec-json
98
105
  version_requirements: !ruby/object:Gem::Requirement
99
106
  requirements:
100
107
  - - '>='
101
108
  - !ruby/object:Gem::Version
102
109
  version: '0'
103
- - !ruby/object:Gem::Dependency
104
110
  requirement: !ruby/object:Gem::Requirement
105
111
  requirements:
106
112
  - - '>='
107
113
  - !ruby/object:Gem::Version
108
114
  version: '0'
109
- name: logstash-codec-json
110
115
  prerelease: false
111
116
  type: :development
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - '>='
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
117
  description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program
118
118
  email: info@elastic.co
119
119
  executables: []
120
120
  extensions: []
121
121
  extra_rdoc_files: []
122
122
  files:
123
- - CHANGELOG.md
124
- - CONTRIBUTORS
125
- - Gemfile
126
- - LICENSE
127
- - NOTICE.TXT
128
- - README.md
129
123
  - lib/logstash/inputs/s3.rb
130
- - logstash-input-s3.gemspec
131
124
  - spec/fixtures/cloudfront.log
132
125
  - spec/fixtures/compressed.log.gz
133
126
  - spec/fixtures/invalid_utf8.log
134
127
  - spec/fixtures/json.log
135
128
  - spec/fixtures/uncompressed.log
136
129
  - spec/inputs/s3_spec.rb
130
+ - spec/inputs/sincedb_spec.rb
137
131
  - spec/integration/s3_spec.rb
138
132
  - spec/support/helpers.rb
133
+ - logstash-input-s3.gemspec
134
+ - README.md
135
+ - CHANGELOG.md
136
+ - CONTRIBUTORS
137
+ - Gemfile
138
+ - LICENSE
139
+ - NOTICE.TXT
139
140
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
140
141
  licenses:
141
142
  - Apache License (2.0)
@@ -158,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
159
  version: '0'
159
160
  requirements: []
160
161
  rubyforge_project:
161
- rubygems_version: 2.4.8
162
+ rubygems_version: 2.1.9
162
163
  signing_key:
163
164
  specification_version: 4
164
165
  summary: Stream events from files from a S3 bucket.
@@ -169,5 +170,6 @@ test_files:
169
170
  - spec/fixtures/json.log
170
171
  - spec/fixtures/uncompressed.log
171
172
  - spec/inputs/s3_spec.rb
173
+ - spec/inputs/sincedb_spec.rb
172
174
  - spec/integration/s3_spec.rb
173
175
  - spec/support/helpers.rb