karafka-rdkafka 0.19.1 → 0.20.0.rc1

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: 390b5be16a78ebe2b6f994429cfe32e51bc11d88735ef28bfa57b9b8ba34d73e
4
- data.tar.gz: 66003597faaddea33ab464aa3ec9dd906f3676f85e12e1e7c7bc2379e35feef4
3
+ metadata.gz: c5b81585e7271750f4b6c5110df05e25765fd6f86c991ce7f27f3a4714ec94ae
4
+ data.tar.gz: 387f5d228af380f6be3e4df9e1ea0d8842f4e65450f0d2dfc60ca68df9613a41
5
5
  SHA512:
6
- metadata.gz: b7856bee34f2d3d4abe28013d3a8905d4166067f5ce4a1cddc4dc6572d0ebfb03f412a3d4a53ac515a3523cbc8088774699da8fa2fad8d88272db4d08e2ec81e
7
- data.tar.gz: 0d1fbbfce6be2bb41cfc7db66f53030e907f4c9c7f8e2251aabdeb7ca9786d120e22e971eebf426dbdd57dcb60c198506204cb2b4443333744c65339d9956746
6
+ metadata.gz: '0190399ef8742b240a04d4fe55de8263d6b7ff015556ca094227bbf7838ce1d47c7f152e0224bbc9a4ed288651a6a2a4d2ec161b1f8219570f9affdfaa93e1a3'
7
+ data.tar.gz: 4d2ab1b51e28b07e852de063b3ad163e90a5e7191c70b3b0c7d88591b063fbd3b15f2bee452b6cb8de9a6e1032e633a64f013fd0ff10a0ff5f5f58e3ce1b3c18
checksums.yaml.gz.sig CHANGED
Binary file
@@ -31,9 +31,13 @@ jobs:
31
31
  - '3.3'
32
32
  - '3.2'
33
33
  - '3.1'
34
+ - 'jruby-10.0'
34
35
  include:
35
36
  - ruby: '3.4'
36
37
  coverage: 'true'
38
+ - ruby: 'jruby-10.0'
39
+ continue-on-error: true
40
+
37
41
  steps:
38
42
  - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
39
43
  with:
@@ -47,7 +51,7 @@ jobs:
47
51
  docker compose up -d || (sleep 5 && docker compose up -d)
48
52
 
49
53
  - name: Set up Ruby
50
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1.229.0
54
+ uses: ruby/setup-ruby@ca041f971d66735f3e5ff1e21cc13e2d51e7e535 # v1.233.0
51
55
  with:
52
56
  ruby-version: ${{matrix.ruby}}
53
57
  bundler-cache: true
@@ -55,6 +59,7 @@ jobs:
55
59
  - name: Run all specs
56
60
  env:
57
61
  GITHUB_COVERAGE: ${{matrix.coverage}}
62
+ continue-on-error: ${{ matrix.continue-on-error || false }} # Use the matrix value if present
58
63
  run: |
59
64
  set -e
60
65
  bundle install --jobs 4 --retry 3
@@ -73,16 +78,21 @@ jobs:
73
78
  - '3.3'
74
79
  - '3.2'
75
80
  - '3.1'
81
+ - 'jruby-9.4'
82
+ include:
83
+ - ruby: 'jruby-10.0'
84
+ continue-on-error: true
76
85
  steps:
77
86
  - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
78
87
 
79
88
  - name: Set up Ruby
80
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1.229.0
89
+ uses: ruby/setup-ruby@ca041f971d66735f3e5ff1e21cc13e2d51e7e535 # v1.233.0
81
90
  with:
82
91
  ruby-version: ${{matrix.ruby}}
83
92
  bundler-cache: false
84
93
 
85
94
  - name: Build rdkafka-ruby
95
+ continue-on-error: ${{ matrix.continue-on-error || false }}
86
96
  run: |
87
97
  set -e
88
98
  bundle install --jobs 4 --retry 3
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.4.2
1
+ 3.4.3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Rdkafka Changelog
2
2
 
3
+ ## 0.20.0 (Unreleased)
4
+ - [Enhancement] Bump librdkafka to 2.10.0
5
+ - [Enhancement] Roll out experimental jruby support.
6
+
3
7
  ## 0.19.1 (2025-04-07)
4
8
  - [Enhancement] Support producing and consuming of headers with mulitple values (KIP-82).
5
9
  - [Enhancement] Allow native Kafka customization poll time.
data/README.md CHANGED
@@ -163,15 +163,16 @@ bundle exec rake produce_messages
163
163
 
164
164
  | rdkafka-ruby | librdkafka | patches |
165
165
  |-|-|-|
166
- | 0.19.1 (2025-04-07) | 2.8.0 (2025-01-07) | yes |
167
- | 0.19.0 (2025-01-20) | 2.8.0 (2025-01-07) | yes |
168
- | 0.18.0 (2024-11-26) | 2.6.1 (2024-11-18) | yes |
169
- | 0.17.4 (2024-09-02) | 2.5.3 (2024-09-02) | yes |
170
- | 0.17.0 (2024-08-01) | 2.5.0 (2024-07-10) | yes |
171
- | 0.16.0 (2024-06-13) | 2.4.0 (2024-05-07) | no |
172
- | 0.15.0 (2023-12-03) | 2.3.0 (2023-10-25) | no |
173
- | 0.14.0 (2023-11-21) | 2.2.0 (2023-07-12) | no |
174
- | 0.13.0 (2023-07-24) | 2.0.2 (2023-01-20) | no |
175
- | 0.12.0 (2022-06-17) | 1.9.0 (2022-06-16) | no |
176
- | 0.11.0 (2021-11-17) | 1.8.2 (2021-10-18) | no |
177
- | 0.10.0 (2021-09-07) | 1.5.0 (2020-07-20) | no |
166
+ | 0.20.0 (Unreleased) | 2.10.0 (2025-04-18) | yes |
167
+ | 0.19.1 (2025-04-07) | 2.8.0 (2025-01-07) | yes |
168
+ | 0.19.0 (2025-01-20) | 2.8.0 (2025-01-07) | yes |
169
+ | 0.18.0 (2024-11-26) | 2.6.1 (2024-11-18) | yes |
170
+ | 0.17.4 (2024-09-02) | 2.5.3 (2024-09-02) | yes |
171
+ | 0.17.0 (2024-08-01) | 2.5.0 (2024-07-10) | yes |
172
+ | 0.16.0 (2024-06-13) | 2.4.0 (2024-05-07) | no |
173
+ | 0.15.0 (2023-12-03) | 2.3.0 (2023-10-25) | no |
174
+ | 0.14.0 (2023-11-21) | 2.2.0 (2023-07-12) | no |
175
+ | 0.13.0 (2023-07-24) | 2.0.2 (2023-01-20) | no |
176
+ | 0.12.0 (2022-06-17) | 1.9.0 (2022-06-16) | no |
177
+ | 0.11.0 (2021-11-17) | 1.8.2 (2021-10-18) | no |
178
+ | 0.10.0 (2021-09-07) | 1.5.0 (2020-07-20) | no |
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rdkafka
4
- VERSION = "0.19.1"
5
- LIBRDKAFKA_VERSION = "2.8.0"
6
- LIBRDKAFKA_SOURCE_SHA256 = "5bd1c46f63265f31c6bfcedcde78703f77d28238eadf23821c2b43fc30be3e25"
4
+ VERSION = "0.20.0.rc1"
5
+ LIBRDKAFKA_VERSION = "2.10.0"
6
+ LIBRDKAFKA_SOURCE_SHA256 = "004b1cc2685d1d6d416b90b426a0a9d27327a214c6b807df6f9ea5887346ba3a"
7
7
  end
@@ -34,7 +34,7 @@ describe Rdkafka::Admin do
34
34
  describe '#describe_errors' do
35
35
  let(:errors) { admin.class.describe_errors }
36
36
 
37
- it { expect(errors.size).to eq(170) }
37
+ it { expect(errors.size).to eq(172) }
38
38
  it { expect(errors[-184]).to eq(code: -184, description: 'Local: Queue full', name: '_QUEUE_FULL') }
39
39
  it { expect(errors[21]).to eq(code: 21, description: 'Broker: Invalid required acks value', name: 'INVALID_REQUIRED_ACKS') }
40
40
  end
@@ -738,17 +738,19 @@ describe Rdkafka::Admin do
738
738
  end
739
739
  end
740
740
 
741
- context "when operating from a fork" do
742
- # @see https://github.com/ffi/ffi/issues/1114
743
- it 'expect to be able to create topics and run other admin operations without hanging' do
744
- # If the FFI issue is not mitigated, this will hang forever
745
- pid = fork do
746
- admin
747
- .create_topic(topic_name, topic_partition_count, topic_replication_factor)
748
- .wait
749
- end
741
+ unless RUBY_PLATFORM == 'java'
742
+ context "when operating from a fork" do
743
+ # @see https://github.com/ffi/ffi/issues/1114
744
+ it 'expect to be able to create topics and run other admin operations without hanging' do
745
+ # If the FFI issue is not mitigated, this will hang forever
746
+ pid = fork do
747
+ admin
748
+ .create_topic(topic_name, topic_partition_count, topic_replication_factor)
749
+ .wait
750
+ end
750
751
 
751
- Process.wait(pid)
752
+ Process.wait(pid)
753
+ end
752
754
  end
753
755
  end
754
756
  end
@@ -149,15 +149,6 @@ describe Rdkafka::Bindings do
149
149
  end
150
150
 
151
151
  describe "oauthbearer set token" do
152
-
153
- context "without args" do
154
- it "should raise argument error" do
155
- expect {
156
- Rdkafka::Bindings.rd_kafka_oauthbearer_set_token
157
- }.to raise_error(ArgumentError)
158
- end
159
- end
160
-
161
152
  context "with args" do
162
153
  before do
163
154
  DEFAULT_TOKEN_EXPIRY_SECONDS = 900
@@ -33,23 +33,25 @@ describe Rdkafka::Config do
33
33
  expect(log.string).to include "FATAL -- : I love testing"
34
34
  end
35
35
 
36
- it "expect to start new logger thread after fork and work" do
37
- reader, writer = IO.pipe
38
-
39
- pid = fork do
40
- $stdout.reopen(writer)
41
- Rdkafka::Config.logger = Logger.new($stdout)
42
- reader.close
43
- producer = rdkafka_producer_config(debug: 'all').producer
44
- producer.close
36
+ unless RUBY_PLATFORM == 'java'
37
+ it "expect to start new logger thread after fork and work" do
38
+ reader, writer = IO.pipe
39
+
40
+ pid = fork do
41
+ $stdout.reopen(writer)
42
+ Rdkafka::Config.logger = Logger.new($stdout)
43
+ reader.close
44
+ producer = rdkafka_producer_config(debug: 'all').producer
45
+ producer.close
46
+ writer.close
47
+ sleep(1)
48
+ end
49
+
45
50
  writer.close
46
- sleep(1)
51
+ Process.wait(pid)
52
+ output = reader.read
53
+ expect(output.split("\n").size).to be >= 20
47
54
  end
48
-
49
- writer.close
50
- Process.wait(pid)
51
- output = reader.read
52
- expect(output.split("\n").size).to be >= 20
53
55
  end
54
56
  end
55
57
 
@@ -842,9 +842,9 @@ describe Rdkafka::Consumer do
842
842
  missing_topic = SecureRandom.uuid
843
843
  consumer.subscribe(missing_topic)
844
844
 
845
- expect {
846
- consumer.poll(1_000)
847
- }.to raise_error Rdkafka::RdkafkaError, /Subscribed topic not available: #{missing_topic}/
845
+ # @note it used to raise "Subscribed topic not available" in previous librdkafka versions
846
+ # but this behaviour has been changed
847
+ expect { consumer.poll(1_000) }.not_to raise_error
848
848
  end
849
849
  end
850
850
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karafka-rdkafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.1
4
+ version: 0.20.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thijs Cadier
@@ -35,7 +35,7 @@ cert_chain:
35
35
  i9zWxov0mr44TWegTVeypcWGd/0nxu1+QHVNHJrpqlPBRvwQsUm7fwmRInGpcaB8
36
36
  ap8wNYvryYzrzvzUxIVFBVM5PacgkFqRmolCa8I7tdKQN+R1
37
37
  -----END CERTIFICATE-----
38
- date: 2025-04-07 00:00:00.000000000 Z
38
+ date: 1980-01-02 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: ffi
@@ -187,7 +187,7 @@ files:
187
187
  - README.md
188
188
  - Rakefile
189
189
  - certs/cert.pem
190
- - dist/librdkafka-2.8.0.tar.gz
190
+ - dist/librdkafka-2.10.0.tar.gz
191
191
  - dist/patches/rdkafka_global_init.patch
192
192
  - docker-compose.yml
193
193
  - ext/README.md
@@ -286,7 +286,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
286
286
  - !ruby/object:Gem::Version
287
287
  version: '0'
288
288
  requirements: []
289
- rubygems_version: 3.6.2
289
+ rubygems_version: 3.6.7
290
290
  specification_version: 4
291
291
  summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
292
292
  It wraps the production-ready C client using the ffi gem and targets Kafka 1.0+
metadata.gz.sig CHANGED
Binary file