karafka-rdkafka 0.21.0.rc1-arm64-darwin → 0.22.0-arm64-darwin
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
- data/CHANGELOG.md +15 -2
- data/README.md +36 -135
- data/docker-compose-ssl.yml +35 -0
- data/ext/librdkafka.dylib +0 -0
- data/karafka-rdkafka.gemspec +35 -6
- data/lib/rdkafka/bindings.rb +0 -1
- data/lib/rdkafka/consumer.rb +1 -1
- data/lib/rdkafka/version.rb +3 -3
- data/renovate.json +5 -17
- metadata +32 -52
- data/.github/CODEOWNERS +0 -3
- data/.github/FUNDING.yml +0 -1
- data/.github/workflows/ci_linux_x86_64_gnu.yml +0 -271
- data/.github/workflows/ci_linux_x86_64_musl.yml +0 -194
- data/.github/workflows/ci_macos_arm64.yml +0 -284
- data/.github/workflows/push_linux_x86_64_gnu.yml +0 -65
- data/.github/workflows/push_linux_x86_64_musl.yml +0 -79
- data/.github/workflows/push_macos_arm64.yml +0 -54
- data/.github/workflows/push_ruby.yml +0 -37
- data/.github/workflows/verify-action-pins.yml +0 -16
- data/.gitignore +0 -15
- data/.rspec +0 -2
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
- data/.yardopts +0 -2
- data/ext/README.md +0 -19
- data/ext/Rakefile +0 -131
- data/ext/build_common.sh +0 -361
- data/ext/build_linux_x86_64_gnu.sh +0 -306
- data/ext/build_linux_x86_64_musl.sh +0 -763
- data/ext/build_macos_arm64.sh +0 -550
- data/spec/rdkafka/abstract_handle_spec.rb +0 -117
- data/spec/rdkafka/admin/create_acl_handle_spec.rb +0 -56
- data/spec/rdkafka/admin/create_acl_report_spec.rb +0 -18
- data/spec/rdkafka/admin/create_topic_handle_spec.rb +0 -54
- data/spec/rdkafka/admin/create_topic_report_spec.rb +0 -16
- data/spec/rdkafka/admin/delete_acl_handle_spec.rb +0 -85
- data/spec/rdkafka/admin/delete_acl_report_spec.rb +0 -72
- data/spec/rdkafka/admin/delete_topic_handle_spec.rb +0 -54
- data/spec/rdkafka/admin/delete_topic_report_spec.rb +0 -16
- data/spec/rdkafka/admin/describe_acl_handle_spec.rb +0 -85
- data/spec/rdkafka/admin/describe_acl_report_spec.rb +0 -73
- data/spec/rdkafka/admin_spec.rb +0 -970
- data/spec/rdkafka/bindings_spec.rb +0 -198
- data/spec/rdkafka/callbacks_spec.rb +0 -20
- data/spec/rdkafka/config_spec.rb +0 -258
- data/spec/rdkafka/consumer/headers_spec.rb +0 -73
- data/spec/rdkafka/consumer/message_spec.rb +0 -139
- data/spec/rdkafka/consumer/partition_spec.rb +0 -57
- data/spec/rdkafka/consumer/topic_partition_list_spec.rb +0 -248
- data/spec/rdkafka/consumer_spec.rb +0 -1296
- data/spec/rdkafka/error_spec.rb +0 -95
- data/spec/rdkafka/metadata_spec.rb +0 -79
- data/spec/rdkafka/native_kafka_spec.rb +0 -130
- data/spec/rdkafka/producer/delivery_handle_spec.rb +0 -60
- data/spec/rdkafka/producer/delivery_report_spec.rb +0 -25
- data/spec/rdkafka/producer/partitions_count_cache_spec.rb +0 -359
- data/spec/rdkafka/producer_spec.rb +0 -1526
- data/spec/spec_helper.rb +0 -193
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c00b64b3b0e4fa35eba4457866ce9e33ccbc9b3599285714b198c9c9351b795
|
4
|
+
data.tar.gz: 324569179791d61bb003e090d32f8589f72806249e72990fcfc4d557423b99b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5efc0e3632773a459926c9490799747ceea9628e0f5f16b004c628aa6606c728378176b474a04874f76b6e18bf8a35320e3a95d2abbc963bd1f3081290064d81
|
7
|
+
data.tar.gz: 28df4d4d0ee8637e4485968deca05d35ab71cc910ccde2a0697aafff1a8029d1f7b562eae240dee9aedf92682cf27b4d5222cb72a437cb1477472379b215474d
|
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,25 @@
|
|
1
1
|
# Rdkafka Changelog
|
2
2
|
|
3
|
-
## 0.
|
4
|
-
- [
|
3
|
+
## 0.22.0 (2025-09-26)
|
4
|
+
- **[Breaking]** Drop support for Ruby 3.1 to move forward with the fiber scheduler work.
|
5
|
+
- [Enhancement] Bump librdkafka to 2.11.1.
|
6
|
+
- [Enhancement] Improve sigstore attestation for precompiled releases.
|
7
|
+
- [Fix] Fix incorrectly set default SSL certs dir.
|
8
|
+
- [Fix] Disable OpenSSL Heartbeats during compilation.
|
9
|
+
|
10
|
+
## 0.21.0 (2025-08-18)
|
11
|
+
- [Enhancement] Support explicit Debian testing due to lib issues.
|
12
|
+
- [Enhancement] Support ARM64 Gnu precompilation.
|
13
|
+
- [Enhancement] Bump librdkafka to 2.11.0.
|
14
|
+
- [Enhancement] Improve what symbols are exposed outside of the precompiled extensions.
|
15
|
+
- [Enhancement] Introduce an integration suite layer for non RSpec specs execution.
|
16
|
+
- [Fix] Add `json` gem as a dependency (was missing but used).
|
5
17
|
|
6
18
|
## 0.20.1 (2025-07-17)
|
7
19
|
- [Enhancement] Drastically increase number of platforms in the integration suite
|
8
20
|
- [Fix] Support Ubuntu `22.04` and older Alpine precompiled versions
|
9
21
|
- [Fix] FFI::DynamicLibrary.load_library': Could not open library
|
22
|
+
- [Change] Add new CI action to trigger auto-doc refresh.
|
10
23
|
|
11
24
|
## 0.20.0 (2025-07-17)
|
12
25
|
- **[Feature]** Add precompiled `x86_64-linux-gnu` setup.
|
data/README.md
CHANGED
@@ -1,169 +1,70 @@
|
|
1
|
-
# Rdkafka
|
1
|
+
# Karafka-Rdkafka
|
2
2
|
|
3
|
-
[](https://github.com/karafka/karafka-rdkafka/actions/workflows/ci_linux_x86_64_gnu.yml)
|
4
4
|
[](https://badge.fury.io/rb/karafka-rdkafka)
|
5
5
|
[](https://slack.karafka.io)
|
6
6
|
|
7
7
|
> [!NOTE]
|
8
|
-
>
|
8
|
+
> **Karafka-Rdkafka** is a fork of the [rdkafka-ruby](https://github.com/karafka/rdkafka-ruby) gem, specifically maintained for the [Karafka ecosystem](https://karafka.io). This fork exists to provide Karafka-specific patches and optimizations that are not generic enough for inclusion in the upstream rdkafka-ruby library.
|
9
9
|
|
10
10
|
---
|
11
11
|
|
12
|
-
|
13
|
-
[librdkafka](https://github.com/confluentinc/librdkafka/).
|
14
|
-
It wraps the production-ready C client using the [ffi](https://github.com/ffi/ffi)
|
15
|
-
gem and targets Kafka 1.0+ and Ruby versions under security or
|
16
|
-
active maintenance. We remove a Ruby version from our CI builds when they
|
17
|
-
become EOL.
|
12
|
+
## Why This Fork Exists
|
18
13
|
|
19
|
-
|
14
|
+
While rdkafka-ruby serves as an excellent general-purpose Kafka client for Ruby, Karafka requires specific optimizations and patches that are:
|
20
15
|
|
21
|
-
|
16
|
+
- **Karafka-specific**: Tailored for Karafka's unique processing patterns and requirements
|
17
|
+
- **Performance-oriented**: Focused on high-throughput, low-latency scenarios that Karafka specializes in
|
18
|
+
- **Framework-integrated**: Designed to work seamlessly with Karafka's architecture and features
|
22
19
|
|
23
|
-
|
20
|
+
These modifications are not suitable for the upstream rdkafka-ruby library because they are either too specific to Karafka's use cases or might introduce breaking changes for other users of rdkafka-ruby.
|
24
21
|
|
25
|
-
|
26
|
-
- [Installation](#installation)
|
27
|
-
- [Usage](#usage)
|
28
|
-
* [Consuming Messages](#consuming-messages)
|
29
|
-
* [Producing Messages](#producing-messages)
|
30
|
-
- [Higher Level Libraries](#higher-level-libraries)
|
31
|
-
* [Message Processing Frameworks](#message-processing-frameworks)
|
32
|
-
* [Message Publishing Libraries](#message-publishing-libraries)
|
33
|
-
- [Forking](#forking)
|
34
|
-
- [Development](#development)
|
35
|
-
- [Example](#example)
|
36
|
-
- [Versions](#versions)
|
22
|
+
## Maintenance and Synchronization
|
37
23
|
|
38
|
-
|
24
|
+
This fork is actively maintained and kept in sync with the upstream rdkafka-ruby repository as much as possible. We:
|
39
25
|
|
40
|
-
|
26
|
+
- **Regularly merge** upstream changes from rdkafka-ruby
|
27
|
+
- **Maintain compatibility** with the rdkafka-ruby API wherever possible
|
28
|
+
- **Apply minimal patches** to avoid diverging significantly from upstream
|
29
|
+
- **Merge back generic improvements** from karafka-rdkafka to rdkafka-ruby when they benefit the broader community
|
30
|
+
- **Test thoroughly** to ensure stability within the Karafka ecosystem
|
41
31
|
|
42
|
-
-
|
32
|
+
## Long-term Plan
|
43
33
|
|
44
|
-
-
|
34
|
+
Our long-term goal is to work with the rdkafka-ruby maintainers to eventually merge the beneficial changes back upstream. This would allow us to:
|
45
35
|
|
46
|
-
-
|
36
|
+
- Reduce maintenance overhead
|
37
|
+
- Benefit the broader Ruby Kafka community
|
38
|
+
- Simplify the Karafka ecosystem dependencies
|
47
39
|
|
40
|
+
However, until such integration is possible, this fork ensures that Karafka users get the best possible performance and reliability.
|
48
41
|
|
49
|
-
|
42
|
+
### If You're Using Standalone rdkafka
|
50
43
|
|
51
|
-
|
44
|
+
You should use the [original rdkafka-ruby gem](https://github.com/karafka/rdkafka-ruby) for general Kafka client needs. This fork is specifically designed for Karafka and may not be suitable for other use cases.
|
52
45
|
|
53
|
-
|
46
|
+
### Reporting Issues
|
54
47
|
|
55
|
-
|
48
|
+
For issues related to this fork, please report them in the [rdkafka-ruby repository](https://github.com/karafka/rdkafka-ruby/issues) rather than here. This helps us:
|
56
49
|
|
57
|
-
|
50
|
+
- Maintain a single place for issue tracking
|
51
|
+
- Ensure upstream compatibility
|
52
|
+
- Provide better support for all users
|
58
53
|
|
59
|
-
###
|
54
|
+
### Contributing
|
60
55
|
|
61
|
-
|
62
|
-
the available partitions over consumers with the same group id.
|
56
|
+
Contributions should generally be made to the upstream [rdkafka-ruby repository](https://github.com/karafka/rdkafka-ruby). Changes to this fork are only made when:
|
63
57
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
:"group.id" => "ruby-test"
|
68
|
-
}
|
69
|
-
consumer = Rdkafka::Config.new(config).consumer
|
70
|
-
consumer.subscribe("ruby-test-topic")
|
71
|
-
|
72
|
-
consumer.each do |message|
|
73
|
-
puts "Message received: #{message}"
|
74
|
-
end
|
75
|
-
```
|
76
|
-
|
77
|
-
### Producing Messages
|
78
|
-
|
79
|
-
Produce several messages, put the delivery handles in an array, and
|
80
|
-
wait for them before exiting. This way the messages will be batched and
|
81
|
-
efficiently sent to Kafka.
|
82
|
-
|
83
|
-
```ruby
|
84
|
-
config = {:"bootstrap.servers" => "localhost:9092"}
|
85
|
-
producer = Rdkafka::Config.new(config).producer
|
86
|
-
delivery_handles = []
|
87
|
-
|
88
|
-
100.times do |i|
|
89
|
-
puts "Producing message #{i}"
|
90
|
-
delivery_handles << producer.produce(
|
91
|
-
topic: "ruby-test-topic",
|
92
|
-
payload: "Payload #{i}",
|
93
|
-
key: "Key #{i}"
|
94
|
-
)
|
95
|
-
end
|
96
|
-
|
97
|
-
delivery_handles.each(&:wait)
|
98
|
-
```
|
99
|
-
|
100
|
-
Note that creating a producer consumes some resources that will not be released until it `#close` is explicitly called, so be sure to call `Config#producer` only as necessary.
|
101
|
-
|
102
|
-
## Higher Level Libraries
|
103
|
-
|
104
|
-
Currently, there are two actively developed frameworks based on `rdkafka-ruby`, that provide higher-level API that can be used to work with Kafka messages and one library for publishing messages.
|
105
|
-
|
106
|
-
### Message Processing Frameworks
|
107
|
-
|
108
|
-
* [Karafka](https://github.com/karafka/karafka) - Ruby and Rails efficient Kafka processing framework.
|
109
|
-
* [Racecar](https://github.com/zendesk/racecar) - A simple framework for Kafka consumers in Ruby
|
110
|
-
|
111
|
-
### Message Publishing Libraries
|
112
|
-
|
113
|
-
* [WaterDrop](https://github.com/karafka/waterdrop) – Standalone Karafka library for producing Kafka messages.
|
114
|
-
|
115
|
-
## Forking
|
116
|
-
|
117
|
-
When working with `rdkafka-ruby`, it's essential to know that the underlying `librdkafka` library does not support fork-safe operations, even though it is thread-safe. Forking a process after initializing librdkafka clients can lead to unpredictable behavior due to inherited file descriptors and memory states. This limitation requires careful handling, especially in Ruby applications that rely on forking.
|
118
|
-
|
119
|
-
To address this, it's highly recommended to:
|
120
|
-
|
121
|
-
- Never initialize any `rdkafka-ruby` producers or consumers before forking to avoid state corruption.
|
122
|
-
- Before forking, always close any open producers or consumers if you've opened any.
|
123
|
-
- Use high-level libraries like [WaterDrop](https://github.com/karafka/waterdrop) and [Karafka](https://github.com/karafka/karafka/), which provide abstractions for handling librdkafka's intricacies.
|
124
|
-
|
125
|
-
## Development
|
126
|
-
|
127
|
-
Contributors are encouraged to focus on enhancements that align with the core goal of the library. We appreciate contributions but will likely not accept pull requests for features that:
|
128
|
-
|
129
|
-
- Implement functionalities that can achieved using standard Ruby capabilities without changes to the underlying rdkafka-ruby bindings.
|
130
|
-
- Deviate significantly from the primary aim of providing librdkafka bindings with Ruby-friendly interfaces.
|
131
|
-
|
132
|
-
A Docker Compose file is included to run Kafka. To run that:
|
133
|
-
|
134
|
-
```
|
135
|
-
docker-compose up
|
136
|
-
```
|
137
|
-
|
138
|
-
Run `bundle` and `cd ext && bundle exec rake && cd ..` to download and compile `librdkafka`.
|
139
|
-
|
140
|
-
You can then run `bundle exec rspec` to run the tests. To see rdkafka debug output:
|
141
|
-
|
142
|
-
```
|
143
|
-
DEBUG_PRODUCER=true bundle exec rspec
|
144
|
-
DEBUG_CONSUMER=true bundle exec rspec
|
145
|
-
```
|
146
|
-
|
147
|
-
After running the tests, you can bring the cluster down to start with a clean slate:
|
148
|
-
|
149
|
-
```
|
150
|
-
docker-compose down
|
151
|
-
```
|
152
|
-
|
153
|
-
## Example
|
154
|
-
|
155
|
-
To see everything working, run these in separate tabs:
|
156
|
-
|
157
|
-
```
|
158
|
-
bundle exec rake consume_messages
|
159
|
-
bundle exec rake produce_messages
|
160
|
-
```
|
58
|
+
- They are specific to Karafka's requirements
|
59
|
+
- They cannot be generalized for upstream inclusion
|
60
|
+
- They are temporary while working on upstream integration
|
161
61
|
|
162
62
|
## Versions
|
163
63
|
|
164
64
|
| rdkafka-ruby | librdkafka | patches |
|
165
65
|
|-|-|-|
|
166
|
-
| 0.
|
66
|
+
| 0.22.x (2025-09-26) | 2.11.1 (2025-08-18) | yes |
|
67
|
+
| 0.21.x (2025-08-18) | 2.11.0 (2025-07-03) | yes |
|
167
68
|
| 0.20.x (2025-07-17) | 2.8.0 (2025-01-07) | yes |
|
168
69
|
| 0.19.x (2025-01-20) | 2.8.0 (2025-01-07) | yes |
|
169
70
|
| 0.18.0 (2024-11-26) | 2.6.1 (2024-11-18) | yes |
|
@@ -0,0 +1,35 @@
|
|
1
|
+
services:
|
2
|
+
kafka:
|
3
|
+
container_name: kafka
|
4
|
+
image: confluentinc/cp-kafka:8.0.0
|
5
|
+
ports:
|
6
|
+
- 9092:9092 # Support PLAINTEXT so we can run one docker setup for SSL and PLAINTEXT
|
7
|
+
- 9093:9093
|
8
|
+
volumes:
|
9
|
+
- ./ssl:/etc/kafka/secrets
|
10
|
+
environment:
|
11
|
+
CLUSTER_ID: kafka-docker-cluster-1
|
12
|
+
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
|
13
|
+
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
14
|
+
KAFKA_PROCESS_ROLES: broker,controller
|
15
|
+
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
|
16
|
+
KAFKA_LISTENERS: PLAINTEXT://:9092,SSL://:9093,CONTROLLER://:9094
|
17
|
+
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL
|
18
|
+
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092,SSL://127.0.0.1:9093
|
19
|
+
KAFKA_BROKER_ID: 1
|
20
|
+
KAFKA_CONTROLLER_QUORUM_VOTERS: 1@127.0.0.1:9094
|
21
|
+
ALLOW_PLAINTEXT_LISTENER: 'yes'
|
22
|
+
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
|
23
|
+
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
|
24
|
+
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
|
25
|
+
KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true"
|
26
|
+
KAFKA_AUTHORIZER_CLASS_NAME: org.apache.kafka.metadata.authorizer.StandardAuthorizer
|
27
|
+
|
28
|
+
# SSL Configuration
|
29
|
+
KAFKA_SSL_KEYSTORE_FILENAME: kafka.server.keystore.jks
|
30
|
+
KAFKA_SSL_KEYSTORE_CREDENTIALS: kafka_keystore_creds
|
31
|
+
KAFKA_SSL_KEY_CREDENTIALS: kafka_ssl_key_creds
|
32
|
+
KAFKA_SSL_TRUSTSTORE_FILENAME: kafka.server.truststore.jks
|
33
|
+
KAFKA_SSL_TRUSTSTORE_CREDENTIALS: kafka_truststore_creds
|
34
|
+
KAFKA_SSL_CLIENT_AUTH: none
|
35
|
+
KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: ""
|
data/ext/librdkafka.dylib
CHANGED
Binary file
|
data/karafka-rdkafka.gemspec
CHANGED
@@ -13,17 +13,31 @@ Gem::Specification.new do |gem|
|
|
13
13
|
gem.name = 'karafka-rdkafka'
|
14
14
|
gem.require_paths = ['lib']
|
15
15
|
gem.version = Rdkafka::VERSION
|
16
|
-
gem.required_ruby_version = '>= 3.
|
16
|
+
gem.required_ruby_version = '>= 3.2'
|
17
|
+
|
18
|
+
files = `git ls-files`.split($\)
|
19
|
+
files = files.reject do |file|
|
20
|
+
next true if file.start_with?('.')
|
21
|
+
next true if file.start_with?('spec/')
|
22
|
+
next true if file.start_with?('ext/README.md')
|
23
|
+
|
24
|
+
false
|
25
|
+
end
|
17
26
|
|
18
27
|
if ENV['RUBY_PLATFORM']
|
19
28
|
gem.platform = ENV['RUBY_PLATFORM']
|
20
|
-
gem.files = `git ls-files`.split($\)
|
21
29
|
|
22
30
|
# Do not include the source code for librdkafka as it should be precompiled already per
|
23
31
|
# platform. Same applies to any possible patches.
|
24
|
-
|
25
|
-
|
26
|
-
file.
|
32
|
+
# Do not include github actions details in RubyGems releases
|
33
|
+
gem.files = files.reject do |file|
|
34
|
+
next true if file.start_with?('dist/')
|
35
|
+
next true if file.start_with?('ext/build_')
|
36
|
+
next true if file.start_with?('ext/ci_')
|
37
|
+
next true if file.start_with?('ext/Rakefile')
|
38
|
+
next true if file.start_with?('ext/generate-')
|
39
|
+
|
40
|
+
false
|
27
41
|
end
|
28
42
|
|
29
43
|
# Add the compiled extensions that exist (not in git)
|
@@ -36,11 +50,25 @@ Gem::Specification.new do |gem|
|
|
36
50
|
end
|
37
51
|
else
|
38
52
|
gem.platform = Gem::Platform::RUBY
|
39
|
-
|
53
|
+
|
54
|
+
# Do not include code used for building native extensions
|
55
|
+
# Do not include github actions details in RubyGems releases
|
56
|
+
gem.files = files.reject do |file|
|
57
|
+
next true if file.start_with?('ext/build_')
|
58
|
+
next true if file.start_with?('ext/ci_')
|
59
|
+
next true if file.start_with?('ext/generate-')
|
60
|
+
next false unless file.start_with?('dist/')
|
61
|
+
next false if file.start_with?('dist/patches')
|
62
|
+
next false if file.start_with?('dist/librdkafka-')
|
63
|
+
|
64
|
+
true
|
65
|
+
end
|
66
|
+
|
40
67
|
gem.extensions = %w(ext/Rakefile)
|
41
68
|
end
|
42
69
|
|
43
70
|
gem.add_dependency 'ffi', '~> 1.15'
|
71
|
+
gem.add_dependency 'json', '> 2.0'
|
44
72
|
gem.add_dependency 'logger'
|
45
73
|
gem.add_dependency 'mini_portile2', '~> 2.6'
|
46
74
|
gem.add_dependency 'rake', '> 12'
|
@@ -50,6 +78,7 @@ Gem::Specification.new do |gem|
|
|
50
78
|
gem.add_development_dependency 'rspec', '~> 3.5'
|
51
79
|
gem.add_development_dependency 'rake'
|
52
80
|
gem.add_development_dependency 'simplecov'
|
81
|
+
gem.add_development_dependency 'warning'
|
53
82
|
|
54
83
|
gem.metadata = {
|
55
84
|
'funding_uri' => 'https://karafka.io/#become-pro',
|
data/lib/rdkafka/bindings.rb
CHANGED
@@ -160,7 +160,6 @@ module Rdkafka
|
|
160
160
|
attach_function :rd_kafka_error_is_retriable, [:pointer], :int
|
161
161
|
attach_function :rd_kafka_error_txn_requires_abort, [:pointer], :int
|
162
162
|
attach_function :rd_kafka_error_destroy, [:pointer], :void
|
163
|
-
attach_function :rd_kafka_error_code, [:pointer], :int
|
164
163
|
attach_function :rd_kafka_get_err_descs, [:pointer, :pointer], :void
|
165
164
|
|
166
165
|
# Configuration
|
data/lib/rdkafka/consumer.rb
CHANGED
data/lib/rdkafka/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Rdkafka
|
4
|
-
VERSION = "0.
|
5
|
-
LIBRDKAFKA_VERSION = "2.11.
|
6
|
-
LIBRDKAFKA_SOURCE_SHA256 = "
|
4
|
+
VERSION = "0.22.0"
|
5
|
+
LIBRDKAFKA_VERSION = "2.11.1"
|
6
|
+
LIBRDKAFKA_SOURCE_SHA256 = "a2c87186b081e2705bb7d5338d5a01bc88d43273619b372ccb7bb0d264d0ca9f"
|
7
7
|
end
|
data/renovate.json
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
{
|
20
20
|
"customType": "regex",
|
21
21
|
"managerFilePatterns": [
|
22
|
-
"
|
22
|
+
"/ext/build_common.sh/"
|
23
23
|
],
|
24
24
|
"matchStrings": [
|
25
25
|
"readonly OPENSSL_VERSION=\"(?<currentValue>.*)\""
|
@@ -31,7 +31,7 @@
|
|
31
31
|
{
|
32
32
|
"customType": "regex",
|
33
33
|
"managerFilePatterns": [
|
34
|
-
"
|
34
|
+
"/ext/build_common.sh/"
|
35
35
|
],
|
36
36
|
"matchStrings": [
|
37
37
|
"readonly CYRUS_SASL_VERSION=\"(?<currentValue>.*)\""
|
@@ -43,7 +43,7 @@
|
|
43
43
|
{
|
44
44
|
"customType": "regex",
|
45
45
|
"managerFilePatterns": [
|
46
|
-
"
|
46
|
+
"/ext/build_common.sh/"
|
47
47
|
],
|
48
48
|
"matchStrings": [
|
49
49
|
"readonly ZLIB_VERSION=\"(?<currentValue>.*)\""
|
@@ -55,7 +55,7 @@
|
|
55
55
|
{
|
56
56
|
"customType": "regex",
|
57
57
|
"managerFilePatterns": [
|
58
|
-
"
|
58
|
+
"/ext/build_common.sh/"
|
59
59
|
],
|
60
60
|
"matchStrings": [
|
61
61
|
"readonly ZSTD_VERSION=\"(?<currentValue>.*)\""
|
@@ -67,7 +67,7 @@
|
|
67
67
|
{
|
68
68
|
"customType": "regex",
|
69
69
|
"managerFilePatterns": [
|
70
|
-
"
|
70
|
+
"/ext/build_common.sh/"
|
71
71
|
],
|
72
72
|
"matchStrings": [
|
73
73
|
"readonly KRB5_VERSION=\"(?<currentValue>.*)\""
|
@@ -75,18 +75,6 @@
|
|
75
75
|
"depNameTemplate": "krb5/krb5",
|
76
76
|
"datasourceTemplate": "github-releases",
|
77
77
|
"extractVersionTemplate": "^krb5-(?<version>.*)$"
|
78
|
-
},
|
79
|
-
{
|
80
|
-
"customType": "regex",
|
81
|
-
"managerFilePatterns": [
|
82
|
-
"/^ext/build_common\\.sh$/"
|
83
|
-
],
|
84
|
-
"matchStrings": [
|
85
|
-
"readonly LIBRDKAFKA_VERSION=\"(?<currentValue>.*)\""
|
86
|
-
],
|
87
|
-
"depNameTemplate": "confluentinc/librdkafka",
|
88
|
-
"datasourceTemplate": "github-releases",
|
89
|
-
"extractVersionTemplate": "^v(?<version>.*)$"
|
90
78
|
}
|
91
79
|
]
|
92
80
|
}
|
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.
|
4
|
+
version: 0.22.0
|
5
5
|
platform: arm64-darwin
|
6
6
|
authors:
|
7
7
|
- Thijs Cadier
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.15'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: logger
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,6 +150,20 @@ dependencies:
|
|
136
150
|
- - ">="
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: warning
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
139
167
|
description: Modern Kafka client library for Ruby based on librdkafka
|
140
168
|
email:
|
141
169
|
- contact@karafka.io
|
@@ -143,33 +171,13 @@ executables: []
|
|
143
171
|
extensions: []
|
144
172
|
extra_rdoc_files: []
|
145
173
|
files:
|
146
|
-
- ".github/CODEOWNERS"
|
147
|
-
- ".github/FUNDING.yml"
|
148
|
-
- ".github/workflows/ci_linux_x86_64_gnu.yml"
|
149
|
-
- ".github/workflows/ci_linux_x86_64_musl.yml"
|
150
|
-
- ".github/workflows/ci_macos_arm64.yml"
|
151
|
-
- ".github/workflows/push_linux_x86_64_gnu.yml"
|
152
|
-
- ".github/workflows/push_linux_x86_64_musl.yml"
|
153
|
-
- ".github/workflows/push_macos_arm64.yml"
|
154
|
-
- ".github/workflows/push_ruby.yml"
|
155
|
-
- ".github/workflows/verify-action-pins.yml"
|
156
|
-
- ".gitignore"
|
157
|
-
- ".rspec"
|
158
|
-
- ".ruby-gemset"
|
159
|
-
- ".ruby-version"
|
160
|
-
- ".yardopts"
|
161
174
|
- CHANGELOG.md
|
162
175
|
- Gemfile
|
163
176
|
- MIT-LICENSE
|
164
177
|
- README.md
|
165
178
|
- Rakefile
|
179
|
+
- docker-compose-ssl.yml
|
166
180
|
- docker-compose.yml
|
167
|
-
- ext/README.md
|
168
|
-
- ext/Rakefile
|
169
|
-
- ext/build_common.sh
|
170
|
-
- ext/build_linux_x86_64_gnu.sh
|
171
|
-
- ext/build_linux_x86_64_musl.sh
|
172
|
-
- ext/build_macos_arm64.sh
|
173
181
|
- ext/librdkafka.dylib
|
174
182
|
- karafka-rdkafka.gemspec
|
175
183
|
- lib/rdkafka.rb
|
@@ -215,34 +223,6 @@ files:
|
|
215
223
|
- lib/rdkafka/producer/partitions_count_cache.rb
|
216
224
|
- lib/rdkafka/version.rb
|
217
225
|
- renovate.json
|
218
|
-
- spec/rdkafka/abstract_handle_spec.rb
|
219
|
-
- spec/rdkafka/admin/create_acl_handle_spec.rb
|
220
|
-
- spec/rdkafka/admin/create_acl_report_spec.rb
|
221
|
-
- spec/rdkafka/admin/create_topic_handle_spec.rb
|
222
|
-
- spec/rdkafka/admin/create_topic_report_spec.rb
|
223
|
-
- spec/rdkafka/admin/delete_acl_handle_spec.rb
|
224
|
-
- spec/rdkafka/admin/delete_acl_report_spec.rb
|
225
|
-
- spec/rdkafka/admin/delete_topic_handle_spec.rb
|
226
|
-
- spec/rdkafka/admin/delete_topic_report_spec.rb
|
227
|
-
- spec/rdkafka/admin/describe_acl_handle_spec.rb
|
228
|
-
- spec/rdkafka/admin/describe_acl_report_spec.rb
|
229
|
-
- spec/rdkafka/admin_spec.rb
|
230
|
-
- spec/rdkafka/bindings_spec.rb
|
231
|
-
- spec/rdkafka/callbacks_spec.rb
|
232
|
-
- spec/rdkafka/config_spec.rb
|
233
|
-
- spec/rdkafka/consumer/headers_spec.rb
|
234
|
-
- spec/rdkafka/consumer/message_spec.rb
|
235
|
-
- spec/rdkafka/consumer/partition_spec.rb
|
236
|
-
- spec/rdkafka/consumer/topic_partition_list_spec.rb
|
237
|
-
- spec/rdkafka/consumer_spec.rb
|
238
|
-
- spec/rdkafka/error_spec.rb
|
239
|
-
- spec/rdkafka/metadata_spec.rb
|
240
|
-
- spec/rdkafka/native_kafka_spec.rb
|
241
|
-
- spec/rdkafka/producer/delivery_handle_spec.rb
|
242
|
-
- spec/rdkafka/producer/delivery_report_spec.rb
|
243
|
-
- spec/rdkafka/producer/partitions_count_cache_spec.rb
|
244
|
-
- spec/rdkafka/producer_spec.rb
|
245
|
-
- spec/spec_helper.rb
|
246
226
|
licenses:
|
247
227
|
- MIT
|
248
228
|
metadata:
|
@@ -260,14 +240,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
260
240
|
requirements:
|
261
241
|
- - ">="
|
262
242
|
- !ruby/object:Gem::Version
|
263
|
-
version: '3.
|
243
|
+
version: '3.2'
|
264
244
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
265
245
|
requirements:
|
266
246
|
- - ">="
|
267
247
|
- !ruby/object:Gem::Version
|
268
248
|
version: '0'
|
269
249
|
requirements: []
|
270
|
-
rubygems_version: 3.6.
|
250
|
+
rubygems_version: 3.6.9
|
271
251
|
specification_version: 4
|
272
252
|
summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
|
273
253
|
It wraps the production-ready C client using the ffi gem and targets Kafka 1.0+
|
data/.github/CODEOWNERS
DELETED
data/.github/FUNDING.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
custom: ['https://karafka.io/#become-pro']
|