rdkafka 0.8.0.beta.1 → 0.10.0
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/.semaphore/semaphore.yml +23 -0
- data/CHANGELOG.md +18 -0
- data/README.md +5 -2
- data/docker-compose.yml +2 -0
- data/ext/README.md +7 -0
- data/ext/Rakefile +2 -1
- data/lib/rdkafka/abstract_handle.rb +82 -0
- data/lib/rdkafka/admin/create_topic_handle.rb +27 -0
- data/lib/rdkafka/admin/create_topic_report.rb +22 -0
- data/lib/rdkafka/admin/delete_topic_handle.rb +27 -0
- data/lib/rdkafka/admin/delete_topic_report.rb +22 -0
- data/lib/rdkafka/admin.rb +155 -0
- data/lib/rdkafka/bindings.rb +57 -18
- data/lib/rdkafka/callbacks.rb +106 -0
- data/lib/rdkafka/config.rb +59 -3
- data/lib/rdkafka/consumer.rb +125 -5
- data/lib/rdkafka/error.rb +29 -3
- data/lib/rdkafka/metadata.rb +6 -5
- data/lib/rdkafka/producer/delivery_handle.rb +7 -53
- data/lib/rdkafka/producer.rb +25 -11
- data/lib/rdkafka/version.rb +3 -3
- data/lib/rdkafka.rb +7 -0
- data/spec/rdkafka/abstract_handle_spec.rb +114 -0
- data/spec/rdkafka/admin/create_topic_handle_spec.rb +52 -0
- data/spec/rdkafka/admin/create_topic_report_spec.rb +16 -0
- data/spec/rdkafka/admin/delete_topic_handle_spec.rb +52 -0
- data/spec/rdkafka/admin/delete_topic_report_spec.rb +16 -0
- data/spec/rdkafka/admin_spec.rb +203 -0
- data/spec/rdkafka/bindings_spec.rb +32 -8
- data/spec/rdkafka/callbacks_spec.rb +20 -0
- data/spec/rdkafka/config_spec.rb +76 -7
- data/spec/rdkafka/consumer_spec.rb +266 -2
- data/spec/rdkafka/error_spec.rb +4 -0
- data/spec/rdkafka/metadata_spec.rb +78 -0
- data/spec/rdkafka/producer/delivery_handle_spec.rb +1 -41
- data/spec/rdkafka/producer_spec.rb +98 -31
- data/spec/spec_helper.rb +28 -11
- metadata +32 -9
- data/.travis.yml +0 -45
data/spec/spec_helper.rb
CHANGED
@@ -1,20 +1,14 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
unless ENV["CI"] == "true"
|
2
|
+
require "simplecov"
|
3
|
+
SimpleCov.start do
|
4
|
+
add_filter "/spec/"
|
5
|
+
end
|
4
6
|
end
|
5
7
|
|
6
8
|
require "pry"
|
7
9
|
require "rspec"
|
8
10
|
require "rdkafka"
|
9
11
|
|
10
|
-
`docker-compose exec kafka kafka-topics --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 3 --if-not-exists --topic consume_test_topic`
|
11
|
-
`docker-compose exec kafka kafka-topics --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 3 --if-not-exists --topic empty_test_topic`
|
12
|
-
`docker-compose exec kafka kafka-topics --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 3 --if-not-exists --topic load_test_topic`
|
13
|
-
`docker-compose exec kafka kafka-topics --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 3 --if-not-exists --topic produce_test_topic`
|
14
|
-
`docker-compose exec kafka kafka-topics --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 3 --if-not-exists --topic rake_test_topic`
|
15
|
-
`docker-compose exec kafka kafka-topics --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 3 --if-not-exists --topic watermarks_test_topic`
|
16
|
-
`docker-compose exec kafka kafka-topics --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 25 --if-not-exists --topic partitioner_test_topic`
|
17
|
-
|
18
12
|
def rdkafka_config(config_overrides={})
|
19
13
|
config = {
|
20
14
|
:"api.version.request" => false,
|
@@ -79,3 +73,26 @@ def wait_for_unassignment(consumer)
|
|
79
73
|
sleep 1
|
80
74
|
end
|
81
75
|
end
|
76
|
+
|
77
|
+
RSpec.configure do |config|
|
78
|
+
config.before(:suite) do
|
79
|
+
admin = rdkafka_config.admin
|
80
|
+
{
|
81
|
+
consume_test_topic: 3,
|
82
|
+
empty_test_topic: 3,
|
83
|
+
load_test_topic: 3,
|
84
|
+
produce_test_topic: 3,
|
85
|
+
rake_test_topic: 3,
|
86
|
+
watermarks_test_topic: 3,
|
87
|
+
partitioner_test_topic: 25,
|
88
|
+
}.each do |topic, partitions|
|
89
|
+
create_topic_handle = admin.create_topic(topic.to_s, partitions, 1)
|
90
|
+
begin
|
91
|
+
create_topic_handle.wait(max_wait_timeout: 15)
|
92
|
+
rescue Rdkafka::RdkafkaError => ex
|
93
|
+
raise unless ex.message.match?(/topic_already_exists/)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
admin.close
|
97
|
+
end
|
98
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdkafka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thijs Cadier
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -117,7 +117,7 @@ extensions:
|
|
117
117
|
extra_rdoc_files: []
|
118
118
|
files:
|
119
119
|
- ".gitignore"
|
120
|
-
- ".
|
120
|
+
- ".semaphore/semaphore.yml"
|
121
121
|
- ".yardopts"
|
122
122
|
- CHANGELOG.md
|
123
123
|
- Gemfile
|
@@ -128,7 +128,14 @@ files:
|
|
128
128
|
- ext/README.md
|
129
129
|
- ext/Rakefile
|
130
130
|
- lib/rdkafka.rb
|
131
|
+
- lib/rdkafka/abstract_handle.rb
|
132
|
+
- lib/rdkafka/admin.rb
|
133
|
+
- lib/rdkafka/admin/create_topic_handle.rb
|
134
|
+
- lib/rdkafka/admin/create_topic_report.rb
|
135
|
+
- lib/rdkafka/admin/delete_topic_handle.rb
|
136
|
+
- lib/rdkafka/admin/delete_topic_report.rb
|
131
137
|
- lib/rdkafka/bindings.rb
|
138
|
+
- lib/rdkafka/callbacks.rb
|
132
139
|
- lib/rdkafka/config.rb
|
133
140
|
- lib/rdkafka/consumer.rb
|
134
141
|
- lib/rdkafka/consumer/headers.rb
|
@@ -142,13 +149,21 @@ files:
|
|
142
149
|
- lib/rdkafka/producer/delivery_report.rb
|
143
150
|
- lib/rdkafka/version.rb
|
144
151
|
- rdkafka.gemspec
|
152
|
+
- spec/rdkafka/abstract_handle_spec.rb
|
153
|
+
- spec/rdkafka/admin/create_topic_handle_spec.rb
|
154
|
+
- spec/rdkafka/admin/create_topic_report_spec.rb
|
155
|
+
- spec/rdkafka/admin/delete_topic_handle_spec.rb
|
156
|
+
- spec/rdkafka/admin/delete_topic_report_spec.rb
|
157
|
+
- spec/rdkafka/admin_spec.rb
|
145
158
|
- spec/rdkafka/bindings_spec.rb
|
159
|
+
- spec/rdkafka/callbacks_spec.rb
|
146
160
|
- spec/rdkafka/config_spec.rb
|
147
161
|
- spec/rdkafka/consumer/message_spec.rb
|
148
162
|
- spec/rdkafka/consumer/partition_spec.rb
|
149
163
|
- spec/rdkafka/consumer/topic_partition_list_spec.rb
|
150
164
|
- spec/rdkafka/consumer_spec.rb
|
151
165
|
- spec/rdkafka/error_spec.rb
|
166
|
+
- spec/rdkafka/metadata_spec.rb
|
152
167
|
- spec/rdkafka/producer/delivery_handle_spec.rb
|
153
168
|
- spec/rdkafka/producer/delivery_report_spec.rb
|
154
169
|
- spec/rdkafka/producer_spec.rb
|
@@ -157,7 +172,7 @@ homepage: https://github.com/thijsc/rdkafka-ruby
|
|
157
172
|
licenses:
|
158
173
|
- MIT
|
159
174
|
metadata: {}
|
160
|
-
post_install_message:
|
175
|
+
post_install_message:
|
161
176
|
rdoc_options: []
|
162
177
|
require_paths:
|
163
178
|
- lib
|
@@ -168,24 +183,32 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
168
183
|
version: '2.4'
|
169
184
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
185
|
requirements:
|
171
|
-
- - "
|
186
|
+
- - ">="
|
172
187
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
188
|
+
version: '0'
|
174
189
|
requirements: []
|
175
|
-
rubygems_version: 3.1.
|
176
|
-
signing_key:
|
190
|
+
rubygems_version: 3.1.4
|
191
|
+
signing_key:
|
177
192
|
specification_version: 4
|
178
193
|
summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
|
179
194
|
It wraps the production-ready C client using the ffi gem and targets Kafka 1.0+
|
180
195
|
and Ruby 2.4+.
|
181
196
|
test_files:
|
197
|
+
- spec/rdkafka/abstract_handle_spec.rb
|
198
|
+
- spec/rdkafka/admin/create_topic_handle_spec.rb
|
199
|
+
- spec/rdkafka/admin/create_topic_report_spec.rb
|
200
|
+
- spec/rdkafka/admin/delete_topic_handle_spec.rb
|
201
|
+
- spec/rdkafka/admin/delete_topic_report_spec.rb
|
202
|
+
- spec/rdkafka/admin_spec.rb
|
182
203
|
- spec/rdkafka/bindings_spec.rb
|
204
|
+
- spec/rdkafka/callbacks_spec.rb
|
183
205
|
- spec/rdkafka/config_spec.rb
|
184
206
|
- spec/rdkafka/consumer/message_spec.rb
|
185
207
|
- spec/rdkafka/consumer/partition_spec.rb
|
186
208
|
- spec/rdkafka/consumer/topic_partition_list_spec.rb
|
187
209
|
- spec/rdkafka/consumer_spec.rb
|
188
210
|
- spec/rdkafka/error_spec.rb
|
211
|
+
- spec/rdkafka/metadata_spec.rb
|
189
212
|
- spec/rdkafka/producer/delivery_handle_spec.rb
|
190
213
|
- spec/rdkafka/producer/delivery_report_spec.rb
|
191
214
|
- spec/rdkafka/producer_spec.rb
|
data/.travis.yml
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
sudo: false
|
4
|
-
|
5
|
-
services:
|
6
|
-
- docker
|
7
|
-
|
8
|
-
env:
|
9
|
-
global:
|
10
|
-
- CC_TEST_REPORTER_ID=9f7f740ac1b6e264e1189fa07a6687a87bcdb9f3c0f4199d4344ab3b538e187e
|
11
|
-
- KAFKA_HEAP_OPTS="-Xmx512m -Xms512m"
|
12
|
-
|
13
|
-
rvm:
|
14
|
-
- 2.4
|
15
|
-
- 2.5
|
16
|
-
- 2.6
|
17
|
-
- jruby-9.2.9.0
|
18
|
-
|
19
|
-
before_install:
|
20
|
-
- gem update --system
|
21
|
-
- |
|
22
|
-
r_eng="$(ruby -e 'STDOUT.write RUBY_ENGINE')";
|
23
|
-
if [ "$r_eng" == "jruby" ]; then
|
24
|
-
sudo apt-get update && \
|
25
|
-
sudo apt-get install -y git && \
|
26
|
-
sudo apt-get install -y libpthread-stubs0-dev && \
|
27
|
-
sudo apt-get install -y build-essential && \
|
28
|
-
sudo apt-get install -y zlib1g-dev && \
|
29
|
-
sudo apt-get install -y libssl-dev && \
|
30
|
-
sudo apt-get install -y libsasl2-dev
|
31
|
-
fi
|
32
|
-
|
33
|
-
before_script:
|
34
|
-
- docker-compose up -d
|
35
|
-
- cd ext && bundle exec rake && cd ..
|
36
|
-
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
37
|
-
- chmod +x ./cc-test-reporter
|
38
|
-
- ./cc-test-reporter before-build
|
39
|
-
|
40
|
-
script:
|
41
|
-
- bundle exec rspec --format documentation
|
42
|
-
|
43
|
-
after_script:
|
44
|
-
- docker-compose stop
|
45
|
-
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|