karafka-rdkafka 0.19.2.rc1 → 0.19.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/workflows/ci.yml +2 -2
- data/.ruby-version +1 -1
- data/CHANGELOG.md +6 -1
- data/README.md +1 -3
- data/lib/rdkafka/error.rb +8 -1
- data/lib/rdkafka/native_kafka.rb +4 -0
- data/lib/rdkafka/version.rb +1 -1
- data/spec/rdkafka/producer_spec.rb +15 -0
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ef95cc0dbb2fcb8affb287632a70ab25edbeeddb62eec54089640d74298aa51
|
4
|
+
data.tar.gz: dd0250226748dbcbfb235dfa61122cc01519941059eea4221acbd6063b08bfee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18e426c7c325280b3cb1e5d5325c1afc21a0ee12de4bf10bc6420ab55bc0c4d3aaf1f565167867ba0b218f2ad77d462a3bfb53d0cad8be94f129060d7fc80258
|
7
|
+
data.tar.gz: c4bad87e64c15ee49fbccdad9b4e64808ac26465c83b15254e1f437233da2e9268838336477cfffcb380ad3ab8a9c14d06b1128c178206da90bf7ee8a24b6a64
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/.github/workflows/ci.yml
CHANGED
@@ -51,7 +51,7 @@ jobs:
|
|
51
51
|
docker compose up -d || (sleep 5 && docker compose up -d)
|
52
52
|
|
53
53
|
- name: Set up Ruby
|
54
|
-
uses: ruby/setup-ruby@
|
54
|
+
uses: ruby/setup-ruby@84684c07c1965536eb4802c8daf1a77968df0cb1 # v1.239.0
|
55
55
|
with:
|
56
56
|
ruby-version: ${{matrix.ruby}}
|
57
57
|
bundler-cache: true
|
@@ -86,7 +86,7 @@ jobs:
|
|
86
86
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
87
87
|
|
88
88
|
- name: Set up Ruby
|
89
|
-
uses: ruby/setup-ruby@
|
89
|
+
uses: ruby/setup-ruby@84684c07c1965536eb4802c8daf1a77968df0cb1 # v1.239.0
|
90
90
|
with:
|
91
91
|
ruby-version: ${{matrix.ruby}}
|
92
92
|
bundler-cache: false
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.4.
|
1
|
+
3.4.4
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
# Rdkafka Changelog
|
2
2
|
|
3
|
-
## 0.19.
|
3
|
+
## 0.19.3 (2025-05-23)
|
4
|
+
- [Enhancement] Include broker message in the error full message if provided.
|
5
|
+
|
6
|
+
## 0.19.2 (2025-05-20)
|
4
7
|
- [Enhancement] Replace TTL-based partition count cache with a global cache that reuses `librdkafka` statistics data when possible.
|
5
8
|
- [Enhancement] Roll out experimental jruby support.
|
9
|
+
- [Fix] Fix issue where post-closed producer C topics refs would not be cleaned.
|
10
|
+
- [Fix] Fiber causes Segmentation Fault.
|
6
11
|
|
7
12
|
## 0.19.1 (2025-04-07)
|
8
13
|
- [Enhancement] Support producing and consuming of headers with mulitple values (KIP-82).
|
data/README.md
CHANGED
@@ -163,9 +163,7 @@ bundle exec rake produce_messages
|
|
163
163
|
|
164
164
|
| rdkafka-ruby | librdkafka | patches |
|
165
165
|
|-|-|-|
|
166
|
-
| 0.19.
|
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 |
|
166
|
+
| 0.19.x (2025-01-20) | 2.8.0 (2025-01-07) | yes |
|
169
167
|
| 0.18.0 (2024-11-26) | 2.6.1 (2024-11-18) | yes |
|
170
168
|
| 0.17.4 (2024-09-02) | 2.5.3 (2024-09-02) | yes |
|
171
169
|
| 0.17.0 (2024-08-01) | 2.5.0 (2024-07-10) | yes |
|
data/lib/rdkafka/error.rb
CHANGED
@@ -126,7 +126,14 @@ module Rdkafka
|
|
126
126
|
else
|
127
127
|
''
|
128
128
|
end
|
129
|
-
|
129
|
+
|
130
|
+
err_str = Rdkafka::Bindings.rd_kafka_err2str(@rdkafka_response)
|
131
|
+
base = "#{message_prefix_part}#{err_str} (#{code})"
|
132
|
+
|
133
|
+
return base if broker_message.nil?
|
134
|
+
return base if broker_message.empty?
|
135
|
+
|
136
|
+
"#{base}\n#{broker_message}"
|
130
137
|
end
|
131
138
|
|
132
139
|
# Whether this error indicates the partition is EOF.
|
data/lib/rdkafka/native_kafka.rb
CHANGED
@@ -126,9 +126,13 @@ module Rdkafka
|
|
126
126
|
# and would continue to run, trying to destroy inner twice
|
127
127
|
return unless @inner
|
128
128
|
|
129
|
+
yield if block_given?
|
130
|
+
|
129
131
|
Rdkafka::Bindings.rd_kafka_destroy(@inner)
|
130
132
|
@inner = nil
|
131
133
|
@opaque = nil
|
134
|
+
@poll_mutex.unlock
|
135
|
+
@poll_mutex = nil
|
132
136
|
end
|
133
137
|
end
|
134
138
|
end
|
data/lib/rdkafka/version.rb
CHANGED
@@ -1155,4 +1155,19 @@ describe Rdkafka::Producer do
|
|
1155
1155
|
end
|
1156
1156
|
end
|
1157
1157
|
end
|
1158
|
+
|
1159
|
+
describe 'with other fiber closing' do
|
1160
|
+
context 'when we create many fibers and close producer in some of them' do
|
1161
|
+
it 'expect not to crash ruby' do
|
1162
|
+
10.times do |i|
|
1163
|
+
producer = rdkafka_producer_config.producer
|
1164
|
+
|
1165
|
+
Fiber.new do
|
1166
|
+
GC.start
|
1167
|
+
producer.close
|
1168
|
+
end.resume
|
1169
|
+
end
|
1170
|
+
end
|
1171
|
+
end
|
1172
|
+
end
|
1158
1173
|
end
|
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.
|
4
|
+
version: 0.19.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thijs Cadier
|
@@ -289,7 +289,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
289
289
|
- !ruby/object:Gem::Version
|
290
290
|
version: '0'
|
291
291
|
requirements: []
|
292
|
-
rubygems_version: 3.6.
|
292
|
+
rubygems_version: 3.6.9
|
293
293
|
specification_version: 4
|
294
294
|
summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
|
295
295
|
It wraps the production-ready C client using the ffi gem and targets Kafka 1.0+
|
metadata.gz.sig
CHANGED
Binary file
|