karafka-core 2.3.0 → 2.4.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f645a5093edea0a0015987582d62b2f14deafcb18c6c9bcbbecf7dd179e93319
4
- data.tar.gz: d8992489edd15d1d8a712dc139bdfa1259ec075429d9b1a0528954d7560c7ba8
3
+ metadata.gz: '0884d5771032fad1eb481f63f1811977caa252773d3a88cdff66aa932cc1a4c0'
4
+ data.tar.gz: 7d017dc4f4656a1dc374abf193a176109c641879d9606b621a47ab06fec42c55
5
5
  SHA512:
6
- metadata.gz: 8d8e85bd44974f9128d44e48310682c4c15b78aa1afd099c3bc511ddd159000e69fbd34a7aebb7c764c88cc642d264374ccd01a117cb077070d298560cc9a6e8
7
- data.tar.gz: 8a8b4bd4f6d5c54372643eafb84d49ac6ae2ad2a0302e4a74ed0d27e625833d9ced7373f2815b4450a1a7996f993e8440f57ea5a580ac2a88d32848ca4af8017
6
+ metadata.gz: 453fd9cd6f0b15c80e5da8c9f65de849ce916f273c067b0bf68cd1e9961d1f7179e6a06c3edc3b17e5222af5d927f640b22b990a6883a5a971cbdb7792d39f12
7
+ data.tar.gz: 8eff56658d15b9ff02ff74e71d89cd78bc77dc82f2681c822645b3405070796d25591c6456deec2e070a0dcd814991eaa61809e74a298be0f4cd4349656e08ba
checksums.yaml.gz.sig CHANGED
Binary file
@@ -22,7 +22,6 @@ jobs:
22
22
  - '3.2'
23
23
  - '3.1'
24
24
  - '3.0'
25
- - '2.7'
26
25
  include:
27
26
  - ruby: '3.3'
28
27
  coverage: 'true'
@@ -37,25 +36,16 @@ jobs:
37
36
  bundler: 'latest'
38
37
  - name: Install latest bundler
39
38
  run: |
40
- if [[ "$(ruby -v | awk '{print $2}')" == 2.7.8* ]]; then
41
- gem install bundler -v 2.4.22 --no-document
42
- gem update --system 3.4.22 --no-document
43
- else
44
- gem install bundler --no-document
45
- gem update --system --no-document
46
- fi
39
+ gem install bundler --no-document
40
+ gem update --system --no-document
47
41
 
48
42
  bundle config set without 'tools benchmarks docs'
49
43
 
50
44
  - name: Bundle install
51
45
  run: |
52
46
  bundle config set without development
47
+ bundle install --jobs 4 --retry 3
53
48
 
54
- if [[ "$(ruby -v | awk '{print $2}')" == 2.7.8* ]]; then
55
- BUNDLER_VERSION=2.4.22 bundle install --jobs 4 --retry 3
56
- else
57
- bundle install --jobs 4 --retry 3
58
- fi
59
49
  - name: Run all tests
60
50
  env:
61
51
  GITHUB_COVERAGE: ${{matrix.coverage}}
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Karafka core changelog
2
2
 
3
+ ## 2.4.0 (Unreleased)
4
+ - **[Breaking]** Drop Ruby `2.7` support.
5
+ - [Enhancement] Provide necessary alterations for custom oauth token callbacks to operate.
6
+ - [Change] Set minimum `karafka-rdkafka` on `0.15.0` to support new features.
7
+
3
8
  ## 2.3.0 (2024-01-26)
4
9
  - [Change] Set minimum `karafka-rdkafka` on `0.14.8` to support new features.
5
10
  - [Change] Remove `concurrent-ruby` usage.
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka-core (2.3.0)
5
- karafka-rdkafka (>= 0.14.8, < 0.15.0)
4
+ karafka-core (2.4.0.beta1)
5
+ karafka-rdkafka (>= 0.15.0.beta1, < 0.16.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (7.1.3)
10
+ activesupport (7.1.3.2)
11
11
  base64
12
12
  bigdecimal
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -22,37 +22,35 @@ GEM
22
22
  byebug (11.1.3)
23
23
  concurrent-ruby (1.2.3)
24
24
  connection_pool (2.4.1)
25
- diff-lcs (1.5.0)
25
+ diff-lcs (1.5.1)
26
26
  docile (1.4.0)
27
- drb (2.2.0)
28
- ruby2_keywords
29
- factory_bot (6.4.5)
27
+ drb (2.2.1)
28
+ factory_bot (6.4.6)
30
29
  activesupport (>= 5.0.0)
31
30
  ffi (1.16.3)
32
- i18n (1.14.1)
31
+ i18n (1.14.4)
33
32
  concurrent-ruby (~> 1.0)
34
- karafka-rdkafka (0.14.8)
33
+ karafka-rdkafka (0.15.0.beta1)
35
34
  ffi (~> 1.15)
36
35
  mini_portile2 (~> 2.6)
37
36
  rake (> 12)
38
37
  mini_portile2 (2.8.5)
39
- minitest (5.21.2)
38
+ minitest (5.22.2)
40
39
  mutex_m (0.2.0)
41
40
  rake (13.1.0)
42
- rspec (3.12.0)
43
- rspec-core (~> 3.12.0)
44
- rspec-expectations (~> 3.12.0)
45
- rspec-mocks (~> 3.12.0)
46
- rspec-core (3.12.2)
47
- rspec-support (~> 3.12.0)
48
- rspec-expectations (3.12.3)
41
+ rspec (3.13.0)
42
+ rspec-core (~> 3.13.0)
43
+ rspec-expectations (~> 3.13.0)
44
+ rspec-mocks (~> 3.13.0)
45
+ rspec-core (3.13.0)
46
+ rspec-support (~> 3.13.0)
47
+ rspec-expectations (3.13.0)
49
48
  diff-lcs (>= 1.2.0, < 2.0)
50
- rspec-support (~> 3.12.0)
51
- rspec-mocks (3.12.6)
49
+ rspec-support (~> 3.13.0)
50
+ rspec-mocks (3.13.0)
52
51
  diff-lcs (>= 1.2.0, < 2.0)
53
- rspec-support (~> 3.12.0)
54
- rspec-support (3.12.1)
55
- ruby2_keywords (0.0.5)
52
+ rspec-support (~> 3.13.0)
53
+ rspec-support (3.13.1)
56
54
  simplecov (0.22.0)
57
55
  docile (~> 1.1)
58
56
  simplecov-html (~> 0.11)
@@ -74,4 +72,4 @@ DEPENDENCIES
74
72
  simplecov
75
73
 
76
74
  BUNDLED WITH
77
- 2.5.4
75
+ 2.5.6
data/karafka-core.gemspec CHANGED
@@ -16,9 +16,9 @@ Gem::Specification.new do |spec|
16
16
  spec.description = 'A toolset of small support modules used throughout the Karafka ecosystem'
17
17
  spec.licenses = %w[MIT]
18
18
 
19
- spec.add_dependency 'karafka-rdkafka', '>= 0.14.8', '< 0.15.0'
19
+ spec.add_dependency 'karafka-rdkafka', '>= 0.15.0.beta1', '< 0.16.0'
20
20
 
21
- spec.required_ruby_version = '>= 2.7.0'
21
+ spec.required_ruby_version = '>= 3.0.0'
22
22
 
23
23
  if $PROGRAM_NAME.end_with?('gem')
24
24
  spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem')
@@ -6,16 +6,22 @@ module Karafka
6
6
  module Instrumentation
7
7
  class << self
8
8
  # Builds a manager for statistics callbacks
9
- # @return [WaterDrop::CallbacksManager]
9
+ # @return [Karafka::Core::Instrumentation::CallbacksManager]
10
10
  def statistics_callbacks
11
11
  @statistics_callbacks ||= CallbacksManager.new
12
12
  end
13
13
 
14
14
  # Builds a manager for error callbacks
15
- # @return [WaterDrop::CallbacksManager]
15
+ # @return [Karafka::Core::Instrumentation::CallbacksManager]
16
16
  def error_callbacks
17
17
  @error_callbacks ||= CallbacksManager.new
18
18
  end
19
+
20
+ # Builds a manager for oauth bearer token refreshes
21
+ # @return [Karafka::Core::Instrumentation::CallbacksManager]
22
+ def oauthbearer_token_refresh_callbacks
23
+ @oauthbearer_token_refresh_callbacks ||= CallbacksManager.new
24
+ end
19
25
  end
20
26
  end
21
27
  end
@@ -24,10 +24,10 @@ module Karafka
24
24
  def build_error_callback
25
25
  FFI::Function.new(
26
26
  :void, %i[pointer int string pointer]
27
- ) do |client_prr, err_code, reason, _opaque|
27
+ ) do |client_ptr, err_code, reason, _opaque|
28
28
  return nil unless ::Rdkafka::Config.error_callback
29
29
 
30
- name = ::Rdkafka::Bindings.rd_kafka_name(client_prr)
30
+ name = ::Rdkafka::Bindings.rd_kafka_name(client_ptr)
31
31
 
32
32
  error = ::Rdkafka::RdkafkaError.new(err_code, broker_message: reason)
33
33
  error.set_backtrace(caller)
@@ -4,6 +4,6 @@ module Karafka
4
4
  module Core
5
5
  # Current Karafka::Core version
6
6
  # We follow the versioning schema of given Karafka version
7
- VERSION = '2.3.0'
7
+ VERSION = '2.4.0.beta1'
8
8
  end
9
9
  end
data/lib/karafka-core.rb CHANGED
@@ -39,8 +39,12 @@ end
39
39
  # Patch rdkafka
40
40
  ::Rdkafka::Bindings.include(::Karafka::Core::Patches::Rdkafka::Bindings)
41
41
 
42
+ instrumentation = ::Karafka::Core::Instrumentation
43
+ rd_config = ::Rdkafka::Config
44
+
42
45
  # Rdkafka uses a single global callback for things. We bypass that by injecting a manager for
43
46
  # each callback type. Callback manager allows us to register more than one callback
44
47
  # @note Those managers are also used by Karafka for consumer related statistics
45
- ::Rdkafka::Config.statistics_callback = ::Karafka::Core::Instrumentation.statistics_callbacks
46
- ::Rdkafka::Config.error_callback = ::Karafka::Core::Instrumentation.error_callbacks
48
+ rd_config.statistics_callback = instrumentation.statistics_callbacks
49
+ rd_config.error_callback = instrumentation.error_callbacks
50
+ rd_config.oauthbearer_token_refresh_callback = instrumentation.oauthbearer_token_refresh_callbacks
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karafka-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -35,7 +35,7 @@ cert_chain:
35
35
  AnG1dJU+yL2BK7vaVytLTstJME5mepSZ46qqIJXMuWob/YPDmVaBF39TDSG9e34s
36
36
  msG3BiCqgOgHAnL23+CN3Rt8MsuRfEtoTKpJVcCfoEoNHOkc
37
37
  -----END CERTIFICATE-----
38
- date: 2024-01-26 00:00:00.000000000 Z
38
+ date: 2024-03-22 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: karafka-rdkafka
@@ -43,20 +43,20 @@ dependencies:
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 0.14.8
46
+ version: 0.15.0.beta1
47
47
  - - "<"
48
48
  - !ruby/object:Gem::Version
49
- version: 0.15.0
49
+ version: 0.16.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: 0.14.8
56
+ version: 0.15.0.beta1
57
57
  - - "<"
58
58
  - !ruby/object:Gem::Version
59
- version: 0.15.0
59
+ version: 0.16.0
60
60
  description: A toolset of small support modules used throughout the Karafka ecosystem
61
61
  email:
62
62
  - contact@karafka.io
@@ -127,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: 2.7.0
130
+ version: 3.0.0
131
131
  required_rubygems_version: !ruby/object:Gem::Requirement
132
132
  requirements:
133
133
  - - ">="
metadata.gz.sig CHANGED
Binary file