logstash-input-azure_event_hubs 1.5.1 → 1.5.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
  SHA256:
3
- metadata.gz: ea227160d8df826c7f951a24a5605710a3fbd29ce2807e9aa7a3350f8670a60c
4
- data.tar.gz: 0e8b5aee085c3be22429479f922f07db1ab61c401df0263be26dc4b75811310b
3
+ metadata.gz: 918f01f6e51772ded08ddf2c4b26c983f9d80467c28be9edf69f7b2e2b7695b8
4
+ data.tar.gz: 3b653247e953e4d0c7a9ab702c05d05a4f74f8aea8c7d9f24577bdf3e47296ac
5
5
  SHA512:
6
- metadata.gz: 8f1576187d0066c24c4880762e60abaaf73b33908702fe4cfd51c0e919589e059ac9cf84b9ad8c988a7b698e431cdf6554b96c303da76e712759be40738368e4
7
- data.tar.gz: 69cfff27b98ea0a50877b374b862376fcc0a26b983ed167db1ab6e47026096be70591eea4d812cbc2f93cf0fc478033fd91c405b943d4a70e9f24785be22001d
6
+ metadata.gz: d9381d380185b9782a59234089d7dbbf6bfd9cb1ee8d22a4e27c5cd94693c801f707bf5400cc002be3d8c58c5009d794379f5260cba3a7595efe4232cb34c6f2
7
+ data.tar.gz: ddcc9852cb7908aae7aa2dc665d9b88d3c8d95c1d9e2d3feaf609e31fe92850e7dcc272daa72f28f0b2da6c4c5bc7c8219e3c7e667321a42474e0b9a03ae7e84
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 1.5.3
2
+ - Fix: With `config_mode => 'advanced'`, event hub-specific settings (`initial_position`, `max_batch_size`, `prefetch_count`, `receive_timeout`, `initial_position_look_back`) were being ignored and replaced with global defaults. These settings are now correctly applied per event hub [#104](https://github.com/logstash-plugins/logstash-input-azure_event_hubs/pull/104)
3
+
4
+ ## 1.5.2
5
+ - Updated JWT dependency [#101](https://github.com/logstash-plugins/logstash-input-azure_event_hubs/pull/101)
6
+
1
7
  ## 1.5.1
2
8
  - Updated multiple Java dependencies [#99](https://github.com/logstash-plugins/logstash-input-azure_event_hubs/pull/99)
3
9
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.1
1
+ 1.5.3
@@ -417,12 +417,12 @@ class LogStash::Inputs::AzureEventHubs < LogStash::Inputs::Base
417
417
  event_processor_host = create_in_memory_event_processor_host(event_hub, event_hub_name, scheduled_executor_service)
418
418
  end
419
419
  options = EventProcessorOptions.new
420
- options.setMaxBatchSize(max_batch_size)
421
- options.setPrefetchCount(prefetch_count)
422
- options.setReceiveTimeOut(Duration.ofSeconds(receive_timeout))
420
+ options.setMaxBatchSize(event_hub['max_batch_size'])
421
+ options.setPrefetchCount(event_hub['prefetch_count'])
422
+ options.setReceiveTimeOut(Duration.ofSeconds(event_hub['receive_timeout']))
423
423
 
424
424
  options.setExceptionNotification(LogStash::Inputs::Azure::ErrorNotificationHandler.new)
425
- case @initial_position
425
+ case event_hub['initial_position']
426
426
  when 'beginning'
427
427
  msg = "Configuring Event Hub #{event_hub_name} to read events all events."
428
428
  @logger.debug("If this is the initial read... " + msg) if event_hub['storage_connection']
@@ -434,10 +434,10 @@ class LogStash::Inputs::AzureEventHubs < LogStash::Inputs::Base
434
434
  @logger.info(msg) unless event_hub['storage_connection']
435
435
  options.setInitialPositionProvider(EventProcessorOptions::EndOfStreamInitialPositionProvider.new(options))
436
436
  when 'look_back'
437
- msg = "Configuring Event Hub #{event_hub_name} to read events starting at 'now - #{@initial_position_look_back}' seconds."
437
+ msg = "Configuring Event Hub #{event_hub_name} to read events starting at 'now - #{event_hub['initial_position_look_back']}' seconds."
438
438
  @logger.debug("If this is the initial read... " + msg) if event_hub['storage_connection']
439
439
  @logger.info(msg) unless event_hub['storage_connection']
440
- options.setInitialPositionProvider(LogStash::Inputs::Azure::LookBackPositionProvider.new(@initial_position_look_back))
440
+ options.setInitialPositionProvider(LogStash::Inputs::Azure::LookBackPositionProvider.new(event_hub['initial_position_look_back']))
441
441
  end
442
442
  event_processor_host.registerEventProcessorFactory(LogStash::Inputs::Azure::ProcessorFactory.new(queue, event_hub['codec'], event_hub['checkpoint_interval'], self.method(:decorate), event_hub['decorate_events']), options)
443
443
  .when_complete(lambda {|x, e|
@@ -20,7 +20,7 @@ require_jar('com.fasterxml.jackson.datatype', 'jackson-datatype-joda', '2.16.2')
20
20
  require_jar('com.github.stephenc.jcip', 'jcip-annotations', '1.0-1')
21
21
  require_jar('com.google.guava', 'guava', '32.0.1-jre')
22
22
  require_jar('com.nimbusds', 'lang-tag', '1.7')
23
- require_jar('com.nimbusds', 'nimbus-jose-jwt', '9.37.2')
23
+ require_jar('com.nimbusds', 'nimbus-jose-jwt', '10.0.2')
24
24
  require_jar('com.nimbusds', 'oauth2-oidc-sdk', '8.36.2')
25
25
  require_jar('com.squareup.okhttp3', 'logging-interceptor', '4.12.0')
26
26
  require_jar('com.squareup.okhttp3', 'okhttp-urlconnection', '4.12.0')
@@ -175,34 +175,59 @@ describe LogStash::Inputs::AzureEventHubs do
175
175
  # same named event hub with different configuration is allowed
176
176
  {'event_hub_name0' => {
177
177
  'event_hub_connection' => 'Endpoint=sb://...',
178
+ 'storage_connection' => 'DefaultEndpointsProtocol=https;AccountName=...',
178
179
  'consumer_group' => 'ls'}}
179
180
  ],
180
181
  'codec' => 'plain',
181
182
  'consumer_group' => 'default_consumer_group',
182
183
  'max_batch_size' => 21,
184
+ 'prefetch_count' => 250,
185
+ 'receive_timeout' => 90,
186
+ 'initial_position' => 'beginning',
187
+ 'initial_position_look_back' => 7200,
188
+ 'checkpoint_interval' => 15,
189
+ 'decorate_events' => false,
183
190
  'threads' => 9
184
191
  }
185
192
  end
186
193
  it_behaves_like "an exploded Event Hub config", 1
187
- it "it explodes the 2cnd advanced config event hub correctly" do
194
+
195
+ it "it explodes the second advanced config event hub correctly (with individual and inherited settings)" do
188
196
  exploded_config = input.event_hubs_exploded
189
197
  expect(exploded_config[1]['event_hubs'].size).to be == 1 #always 1 in the exploded form
190
198
  expect(exploded_config[1]['event_hubs'][0]).to eql('event_hub_name1')
191
199
  expect(exploded_config[1]['event_hub_connections'][0].value).to eql('1Endpoint=sb://...')
192
200
  expect(exploded_config[1]['storage_connection'].value).to eql('1DefaultEndpointsProtocol=https;AccountName=...')
193
201
  expect(exploded_config[1]['threads']).to be == 9
194
- expect(exploded_config[1]['codec'].class.to_s).to eq("LogStash::Codecs::JSON") # different between configs
195
- expect(exploded_config[1]['consumer_group']).to eql('cg1') # override global
196
- expect(exploded_config[1]['max_batch_size']).to be == 21 # filled from global
197
- expect(exploded_config[1]['prefetch_count']).to be == 300 # default
202
+ expect(exploded_config[1]['codec'].class.to_s).to eq("LogStash::Codecs::JSON")
203
+ expect(exploded_config[1]['consumer_group']).to eql('cg1')
204
+ expect(exploded_config[1]['max_batch_size']).to be == 21
205
+ expect(exploded_config[1]['prefetch_count']).to be == 250
198
206
  expect(exploded_config[1]['receive_timeout']).to be == 41
199
207
  expect(exploded_config[1]['initial_position']).to eql('end')
200
- expect(exploded_config[1]['initial_position_look_back']).to be == 86400 # default
208
+ expect(exploded_config[1]['initial_position_look_back']).to be == 7200
201
209
  expect(exploded_config[1]['checkpoint_interval']).to be == 61
202
210
  expect(exploded_config[1]['decorate_events']).to be_falsy
203
211
  expect(exploded_config[1]['storage_container']).to eq('alt_container')
204
212
  end
205
213
 
214
+ it "it explodes the third advanced config event hub correctly (mostly inherited settings)" do
215
+ exploded_config = input.event_hubs_exploded
216
+ expect(exploded_config[2]['event_hubs'].size).to be == 1
217
+ expect(exploded_config[2]['event_hubs'][0]).to eql('event_hub_name0')
218
+ expect(exploded_config[2]['event_hub_connections'][0].value).to eql('Endpoint=sb://...')
219
+ expect(exploded_config[2]['storage_connection'].value).to eql('DefaultEndpointsProtocol=https;AccountName=...')
220
+ expect(exploded_config[2]['threads']).to be == 9
221
+ expect(exploded_config[2]['codec'].class.to_s).to eq("LogStash::Codecs::Plain")
222
+ expect(exploded_config[2]['consumer_group']).to eql('ls')
223
+ expect(exploded_config[2]['max_batch_size']).to be == 21
224
+ expect(exploded_config[2]['prefetch_count']).to be == 250
225
+ expect(exploded_config[2]['receive_timeout']).to be == 90
226
+ expect(exploded_config[2]['initial_position']).to eql('beginning')
227
+ expect(exploded_config[2]['initial_position_look_back']).to be == 7200
228
+ expect(exploded_config[2]['checkpoint_interval']).to be == 15
229
+ end
230
+
206
231
  it "it runs the Event Processor Host" do
207
232
  mock_queue = double("queue")
208
233
  mock_host = double("event_processor_host")
metadata CHANGED
@@ -1,22 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-azure_event_hubs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-01-03 00:00:00.000000000 Z
10
+ date: 2025-11-04 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
13
+ name: logstash-core-plugin-api
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
18
  version: '2.0'
19
- name: logstash-core-plugin-api
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
@@ -25,12 +24,12 @@ dependencies:
25
24
  - !ruby/object:Gem::Version
26
25
  version: '2.0'
27
26
  - !ruby/object:Gem::Dependency
27
+ name: logstash-codec-plain
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
32
  version: '0'
33
- name: logstash-codec-plain
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
@@ -39,12 +38,12 @@ dependencies:
39
38
  - !ruby/object:Gem::Version
40
39
  version: '0'
41
40
  - !ruby/object:Gem::Dependency
41
+ name: logstash-codec-json
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
- name: logstash-codec-json
48
47
  type: :runtime
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
@@ -53,12 +52,12 @@ dependencies:
53
52
  - !ruby/object:Gem::Version
54
53
  version: '0'
55
54
  - !ruby/object:Gem::Dependency
55
+ name: stud
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: 0.0.22
61
- name: stud
62
61
  type: :runtime
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
@@ -67,12 +66,12 @@ dependencies:
67
66
  - !ruby/object:Gem::Version
68
67
  version: 0.0.22
69
68
  - !ruby/object:Gem::Dependency
69
+ name: logstash-devutils
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
74
  version: 1.0.0
75
- name: logstash-devutils
76
75
  type: :development
77
76
  prerelease: false
78
77
  version_requirements: !ruby/object:Gem::Requirement
@@ -121,7 +120,7 @@ files:
121
120
  - vendor/jar-dependencies/com/microsoft/azure/qpid-proton-j-extensions/1.2.4/qpid-proton-j-extensions-1.2.4.jar
122
121
  - vendor/jar-dependencies/com/microsoft/rest/client-runtime/1.7.3/client-runtime-1.7.3.jar
123
122
  - vendor/jar-dependencies/com/nimbusds/lang-tag/1.7/lang-tag-1.7.jar
124
- - vendor/jar-dependencies/com/nimbusds/nimbus-jose-jwt/9.37.2/nimbus-jose-jwt-9.37.2.jar
123
+ - vendor/jar-dependencies/com/nimbusds/nimbus-jose-jwt/10.0.2/nimbus-jose-jwt-10.0.2.jar
125
124
  - vendor/jar-dependencies/com/nimbusds/oauth2-oidc-sdk/8.36.2/oauth2-oidc-sdk-8.36.2.jar
126
125
  - vendor/jar-dependencies/com/squareup/okhttp3/logging-interceptor/4.12.0/logging-interceptor-4.12.0.jar
127
126
  - vendor/jar-dependencies/com/squareup/okhttp3/okhttp-urlconnection/4.12.0/okhttp-urlconnection-4.12.0.jar
@@ -144,7 +143,6 @@ licenses:
144
143
  metadata:
145
144
  logstash_plugin: 'true'
146
145
  logstash_group: input
147
- post_install_message:
148
146
  rdoc_options: []
149
147
  require_paths:
150
148
  - lib
@@ -160,8 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
158
  - !ruby/object:Gem::Version
161
159
  version: '0'
162
160
  requirements: []
163
- rubygems_version: 3.3.26
164
- signing_key:
161
+ rubygems_version: 3.6.3
165
162
  specification_version: 4
166
163
  summary: Consumes events from Azure Event Hubs for use with Logstash
167
164
  test_files: