logstash-codec-fluent 3.4.0-java → 3.4.1-java

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
  SHA256:
3
- metadata.gz: e17d4af78cd9df1b4534f747813c106d9c1c4e3072a2f74989bfd78413e3173c
4
- data.tar.gz: 4c77861536c3a5ea3c4e8eef9d97bdc0c986a42991261b9143a80bfa7ede0254
3
+ metadata.gz: fa2fd8d949aa00ed210e7715803b3bf20c3574a63dd6d7c4c962bb566652d756
4
+ data.tar.gz: b14c9124fab77dc4c808f5af0ff291e79a5fd362cefccdcae19c7e1ad488e24e
5
5
  SHA512:
6
- metadata.gz: 8e876b1ee27ca9f647baff747432261a10a41d1217bc228f458d7c45641a93d70a6765eb312a1e141e05f6413a8866f4dee731bf215d7c5f8466583e7e2f7888
7
- data.tar.gz: ffcfe5a551b868a02eb53ebefece63e97bd57c70f31a1b925d4a8e80093c92186fbfe1eeee061d1def481930f244b97f3061cc750a8880fb807f804c164982e1
6
+ metadata.gz: d6314b384f04df293ba102eeabe9a0c500b1f0258e680a6157c09d907b5d98ac6006ce808f73d8044045d5a1553309600ca4cb973dee188a766e85075be84b6c
7
+ data.tar.gz: b015062ffe93575ab9b176f2d06ea6cdf9bdb6cdb7408aaa79a4be5cec2ae08e57065e99f809c2ac3e8ef80cc0ac557172561a197fd9f59f001296663d1ff852
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 3.4.1
2
+ - Fix: handle multiple PackForward-encoded messages in a single payload [#28](https://github.com/logstash-plugins/logstash-codec-fluent/pull/28)
3
+
1
4
  ## 3.4.0
2
5
  - Feat: added target configuration + event-factory support [#27](https://github.com/logstash-plugins/logstash-codec-fluent/pull/27)
3
6
  - Fix: decoding of time's nano-second precision
@@ -117,7 +117,7 @@ class LogStash::Codecs::Fluent < LogStash::Codecs::Base
117
117
  raise(LogStash::Error, "PackedForward with compression is not supported")
118
118
  end
119
119
 
120
- entries_decoder = @decoder
120
+ entries_decoder = @factory.unpacker
121
121
  entries_decoder.feed_each(entries) do |entry|
122
122
  yield generate_event(entry[1], entry[0], tag)
123
123
  end
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-codec-fluent'
4
- s.version = '3.4.0'
4
+ s.version = '3.4.1'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "Reads the `fluentd` `msgpack` schema"
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"
@@ -13,7 +13,7 @@ describe LogStash::Codecs::Fluent do
13
13
  @unpacker = @factory.unpacker
14
14
  end
15
15
 
16
- subject { LogStash::Codecs::Fluent.new(config) }
16
+ subject(:fluent_codec) { LogStash::Codecs::Fluent.new(config) }
17
17
 
18
18
  let(:config) { Hash.new }
19
19
 
@@ -202,6 +202,46 @@ describe LogStash::Codecs::Fluent do
202
202
 
203
203
  end
204
204
 
205
+ describe "event decoding (multiple PackForward messages)" do
206
+ def pack_events(logstash_events)
207
+ packer = @factory.packer
208
+ logstash_events.map {|logstash_event| [logstash_event.timestamp.to_i, logstash_event.to_hash.merge(LogStash::Event::TIMESTAMP => logstash_event.timestamp.to_iso8601)] }
209
+ .each {|fluentd_event_tuple| packer.pack(fluentd_event_tuple) }
210
+ packer.to_s
211
+ end
212
+
213
+ def generate_event(idx)
214
+ LogStash::Event.new("idx" => idx)
215
+ end
216
+
217
+ def generate_events(idx_range)
218
+ idx_range.map {|idx| generate_event(idx) }
219
+ end
220
+
221
+ # our message needs to contain _multiple_ PackForward events, at least
222
+ # one of which contains multiple Events in its pack. This ensures we don't
223
+ # cross wires with our pack buffers.
224
+ let(:message) do
225
+ @factory.packer.pack([tag, pack_events(generate_events(000...100))])
226
+ .pack([tag, pack_events(generate_events(100...117))])
227
+ .pack([tag, pack_events([generate_event(117)])])
228
+ .pack([tag, pack_events([generate_event(118)])])
229
+ .pack([tag, pack_events(generate_events(119...199))])
230
+ .to_s
231
+ end
232
+
233
+ it 'decodes packed events without errors' do
234
+ seen = []
235
+
236
+ fluent_codec.decode(message) do |event|
237
+ seen << event.get("idx")
238
+ expect(event.get("tags")).to be_a_kind_of(Array).and(include(tag))
239
+ end
240
+
241
+ expect(seen).to match_array((000...199).to_a) # unordered
242
+ end
243
+ end
244
+
205
245
  describe "event decoding (broken package)" do
206
246
 
207
247
  let(:epochtime) { timestamp.to_s }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-codec-fluent
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.4.1
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-09 00:00:00.000000000 Z
11
+ date: 2021-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -20,8 +20,8 @@ dependencies:
20
20
  - !ruby/object:Gem::Version
21
21
  version: '2.99'
22
22
  name: logstash-core-plugin-api
23
- type: :runtime
24
23
  prerelease: false
24
+ type: :runtime
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
@@ -37,8 +37,8 @@ dependencies:
37
37
  - !ruby/object:Gem::Version
38
38
  version: '1.0'
39
39
  name: logstash-mixin-event_support
40
- type: :runtime
41
40
  prerelease: false
41
+ type: :runtime
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
@@ -51,8 +51,8 @@ dependencies:
51
51
  - !ruby/object:Gem::Version
52
52
  version: '1.0'
53
53
  name: logstash-mixin-validator_support
54
- type: :runtime
55
54
  prerelease: false
55
+ type: :runtime
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
@@ -65,8 +65,8 @@ dependencies:
65
65
  - !ruby/object:Gem::Version
66
66
  version: '1.1'
67
67
  name: msgpack
68
- type: :runtime
69
68
  prerelease: false
69
+ type: :runtime
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
@@ -79,8 +79,8 @@ dependencies:
79
79
  - !ruby/object:Gem::Version
80
80
  version: 1.0.0
81
81
  name: logstash-devutils
82
- type: :development
83
82
  prerelease: false
83
+ type: :development
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  - !ruby/object:Gem::Version
128
128
  version: '0'
129
129
  requirements: []
130
- rubygems_version: 3.0.6
130
+ rubygems_version: 3.1.6
131
131
  signing_key:
132
132
  specification_version: 4
133
133
  summary: Reads the `fluentd` `msgpack` schema