ruby-kafka-temp-fork 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +393 -0
  3. data/.github/workflows/stale.yml +19 -0
  4. data/.gitignore +13 -0
  5. data/.readygo +1 -0
  6. data/.rspec +3 -0
  7. data/.rubocop.yml +44 -0
  8. data/.ruby-version +1 -0
  9. data/.yardopts +3 -0
  10. data/CHANGELOG.md +310 -0
  11. data/Gemfile +5 -0
  12. data/ISSUE_TEMPLATE.md +23 -0
  13. data/LICENSE.txt +176 -0
  14. data/Procfile +2 -0
  15. data/README.md +1342 -0
  16. data/Rakefile +8 -0
  17. data/benchmarks/message_encoding.rb +23 -0
  18. data/bin/console +8 -0
  19. data/bin/setup +5 -0
  20. data/docker-compose.yml +39 -0
  21. data/examples/consumer-group.rb +35 -0
  22. data/examples/firehose-consumer.rb +64 -0
  23. data/examples/firehose-producer.rb +54 -0
  24. data/examples/simple-consumer.rb +34 -0
  25. data/examples/simple-producer.rb +42 -0
  26. data/examples/ssl-producer.rb +44 -0
  27. data/lib/kafka.rb +373 -0
  28. data/lib/kafka/async_producer.rb +291 -0
  29. data/lib/kafka/broker.rb +217 -0
  30. data/lib/kafka/broker_info.rb +16 -0
  31. data/lib/kafka/broker_pool.rb +41 -0
  32. data/lib/kafka/broker_uri.rb +43 -0
  33. data/lib/kafka/client.rb +833 -0
  34. data/lib/kafka/cluster.rb +513 -0
  35. data/lib/kafka/compression.rb +45 -0
  36. data/lib/kafka/compressor.rb +86 -0
  37. data/lib/kafka/connection.rb +223 -0
  38. data/lib/kafka/connection_builder.rb +33 -0
  39. data/lib/kafka/consumer.rb +642 -0
  40. data/lib/kafka/consumer_group.rb +231 -0
  41. data/lib/kafka/consumer_group/assignor.rb +63 -0
  42. data/lib/kafka/crc32_hash.rb +15 -0
  43. data/lib/kafka/datadog.rb +420 -0
  44. data/lib/kafka/digest.rb +22 -0
  45. data/lib/kafka/fetch_operation.rb +115 -0
  46. data/lib/kafka/fetched_batch.rb +58 -0
  47. data/lib/kafka/fetched_batch_generator.rb +120 -0
  48. data/lib/kafka/fetched_message.rb +48 -0
  49. data/lib/kafka/fetched_offset_resolver.rb +48 -0
  50. data/lib/kafka/fetcher.rb +224 -0
  51. data/lib/kafka/gzip_codec.rb +34 -0
  52. data/lib/kafka/heartbeat.rb +25 -0
  53. data/lib/kafka/instrumenter.rb +38 -0
  54. data/lib/kafka/interceptors.rb +33 -0
  55. data/lib/kafka/lz4_codec.rb +27 -0
  56. data/lib/kafka/message_buffer.rb +87 -0
  57. data/lib/kafka/murmur2_hash.rb +17 -0
  58. data/lib/kafka/offset_manager.rb +259 -0
  59. data/lib/kafka/partitioner.rb +40 -0
  60. data/lib/kafka/pause.rb +92 -0
  61. data/lib/kafka/pending_message.rb +29 -0
  62. data/lib/kafka/pending_message_queue.rb +41 -0
  63. data/lib/kafka/produce_operation.rb +205 -0
  64. data/lib/kafka/producer.rb +528 -0
  65. data/lib/kafka/prometheus.rb +316 -0
  66. data/lib/kafka/protocol.rb +225 -0
  67. data/lib/kafka/protocol/add_offsets_to_txn_request.rb +29 -0
  68. data/lib/kafka/protocol/add_offsets_to_txn_response.rb +21 -0
  69. data/lib/kafka/protocol/add_partitions_to_txn_request.rb +34 -0
  70. data/lib/kafka/protocol/add_partitions_to_txn_response.rb +47 -0
  71. data/lib/kafka/protocol/alter_configs_request.rb +44 -0
  72. data/lib/kafka/protocol/alter_configs_response.rb +49 -0
  73. data/lib/kafka/protocol/api_versions_request.rb +21 -0
  74. data/lib/kafka/protocol/api_versions_response.rb +53 -0
  75. data/lib/kafka/protocol/consumer_group_protocol.rb +19 -0
  76. data/lib/kafka/protocol/create_partitions_request.rb +42 -0
  77. data/lib/kafka/protocol/create_partitions_response.rb +28 -0
  78. data/lib/kafka/protocol/create_topics_request.rb +45 -0
  79. data/lib/kafka/protocol/create_topics_response.rb +26 -0
  80. data/lib/kafka/protocol/decoder.rb +175 -0
  81. data/lib/kafka/protocol/delete_topics_request.rb +33 -0
  82. data/lib/kafka/protocol/delete_topics_response.rb +26 -0
  83. data/lib/kafka/protocol/describe_configs_request.rb +35 -0
  84. data/lib/kafka/protocol/describe_configs_response.rb +73 -0
  85. data/lib/kafka/protocol/describe_groups_request.rb +27 -0
  86. data/lib/kafka/protocol/describe_groups_response.rb +73 -0
  87. data/lib/kafka/protocol/encoder.rb +184 -0
  88. data/lib/kafka/protocol/end_txn_request.rb +29 -0
  89. data/lib/kafka/protocol/end_txn_response.rb +19 -0
  90. data/lib/kafka/protocol/fetch_request.rb +70 -0
  91. data/lib/kafka/protocol/fetch_response.rb +136 -0
  92. data/lib/kafka/protocol/find_coordinator_request.rb +29 -0
  93. data/lib/kafka/protocol/find_coordinator_response.rb +29 -0
  94. data/lib/kafka/protocol/heartbeat_request.rb +27 -0
  95. data/lib/kafka/protocol/heartbeat_response.rb +17 -0
  96. data/lib/kafka/protocol/init_producer_id_request.rb +26 -0
  97. data/lib/kafka/protocol/init_producer_id_response.rb +27 -0
  98. data/lib/kafka/protocol/join_group_request.rb +47 -0
  99. data/lib/kafka/protocol/join_group_response.rb +41 -0
  100. data/lib/kafka/protocol/leave_group_request.rb +25 -0
  101. data/lib/kafka/protocol/leave_group_response.rb +17 -0
  102. data/lib/kafka/protocol/list_groups_request.rb +23 -0
  103. data/lib/kafka/protocol/list_groups_response.rb +35 -0
  104. data/lib/kafka/protocol/list_offset_request.rb +53 -0
  105. data/lib/kafka/protocol/list_offset_response.rb +89 -0
  106. data/lib/kafka/protocol/member_assignment.rb +42 -0
  107. data/lib/kafka/protocol/message.rb +172 -0
  108. data/lib/kafka/protocol/message_set.rb +55 -0
  109. data/lib/kafka/protocol/metadata_request.rb +31 -0
  110. data/lib/kafka/protocol/metadata_response.rb +185 -0
  111. data/lib/kafka/protocol/offset_commit_request.rb +47 -0
  112. data/lib/kafka/protocol/offset_commit_response.rb +29 -0
  113. data/lib/kafka/protocol/offset_fetch_request.rb +38 -0
  114. data/lib/kafka/protocol/offset_fetch_response.rb +56 -0
  115. data/lib/kafka/protocol/produce_request.rb +94 -0
  116. data/lib/kafka/protocol/produce_response.rb +63 -0
  117. data/lib/kafka/protocol/record.rb +88 -0
  118. data/lib/kafka/protocol/record_batch.rb +223 -0
  119. data/lib/kafka/protocol/request_message.rb +26 -0
  120. data/lib/kafka/protocol/sasl_handshake_request.rb +33 -0
  121. data/lib/kafka/protocol/sasl_handshake_response.rb +28 -0
  122. data/lib/kafka/protocol/sync_group_request.rb +33 -0
  123. data/lib/kafka/protocol/sync_group_response.rb +26 -0
  124. data/lib/kafka/protocol/txn_offset_commit_request.rb +46 -0
  125. data/lib/kafka/protocol/txn_offset_commit_response.rb +47 -0
  126. data/lib/kafka/round_robin_assignment_strategy.rb +52 -0
  127. data/lib/kafka/sasl/gssapi.rb +76 -0
  128. data/lib/kafka/sasl/oauth.rb +64 -0
  129. data/lib/kafka/sasl/plain.rb +39 -0
  130. data/lib/kafka/sasl/scram.rb +180 -0
  131. data/lib/kafka/sasl_authenticator.rb +61 -0
  132. data/lib/kafka/snappy_codec.rb +29 -0
  133. data/lib/kafka/socket_with_timeout.rb +96 -0
  134. data/lib/kafka/ssl_context.rb +66 -0
  135. data/lib/kafka/ssl_socket_with_timeout.rb +188 -0
  136. data/lib/kafka/statsd.rb +296 -0
  137. data/lib/kafka/tagged_logger.rb +77 -0
  138. data/lib/kafka/transaction_manager.rb +306 -0
  139. data/lib/kafka/transaction_state_machine.rb +72 -0
  140. data/lib/kafka/version.rb +5 -0
  141. data/lib/kafka/zstd_codec.rb +27 -0
  142. data/lib/ruby-kafka-temp-fork.rb +5 -0
  143. data/ruby-kafka-temp-fork.gemspec +54 -0
  144. metadata +520 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 4fc7a7bfb03d5d9671dc71590a3eee5d19ad14fbeb1d2e77849a3e529d00a26e
4
+ data.tar.gz: e10237d5acb7f12f848fad802de23a8ea630a0b0e501309fc681695539026c77
5
+ SHA512:
6
+ metadata.gz: 0737dbcde0fae9d20bf3ee2c8674c58e6749233332f4a60d192367dc3c875782d98b44738ffd48862567de080c18f22279a9726ca5794468d34fc1bb69f0013d
7
+ data.tar.gz: 89687581ad1762642e5e85ab1aae87681ae522b12e1337d6fd88d9e9747839c66a296f0eebebcd033a07f7e7ce27e9dfd1dea32f2a124868f009f0bd97175316
@@ -0,0 +1,393 @@
1
+ version: 2
2
+ jobs:
3
+ unit:
4
+ docker:
5
+ - image: circleci/ruby:2.5.1-node
6
+ environment:
7
+ LOG_LEVEL: DEBUG
8
+ steps:
9
+ - checkout
10
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
11
+ - run: bundle install --path vendor/bundle
12
+ - run: bundle exec rspec
13
+ - run: bundle exec rubocop
14
+
15
+ kafka-0.11:
16
+ docker:
17
+ - image: circleci/ruby:2.5.1-node
18
+ environment:
19
+ LOG_LEVEL: DEBUG
20
+ - image: wurstmeister/zookeeper
21
+ - image: wurstmeister/kafka:2.11-0.11.0.3
22
+ environment:
23
+ KAFKA_ADVERTISED_HOST_NAME: localhost
24
+ KAFKA_ADVERTISED_PORT: 9092
25
+ KAFKA_PORT: 9092
26
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
27
+ KAFKA_DELETE_TOPIC_ENABLE: true
28
+ - image: wurstmeister/kafka:2.11-0.11.0.3
29
+ environment:
30
+ KAFKA_ADVERTISED_HOST_NAME: localhost
31
+ KAFKA_ADVERTISED_PORT: 9093
32
+ KAFKA_PORT: 9093
33
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
34
+ KAFKA_DELETE_TOPIC_ENABLE: true
35
+ - image: wurstmeister/kafka:2.11-0.11.0.3
36
+ environment:
37
+ KAFKA_ADVERTISED_HOST_NAME: localhost
38
+ KAFKA_ADVERTISED_PORT: 9094
39
+ KAFKA_PORT: 9094
40
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
41
+ KAFKA_DELETE_TOPIC_ENABLE: true
42
+ steps:
43
+ - checkout
44
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
45
+ - run: bundle install --path vendor/bundle
46
+ - run: bundle exec rspec --profile --tag functional spec/functional
47
+
48
+ kafka-1.0.0:
49
+ docker:
50
+ - image: circleci/ruby:2.5.1-node
51
+ environment:
52
+ LOG_LEVEL: DEBUG
53
+ - image: wurstmeister/zookeeper
54
+ - image: wurstmeister/kafka:2.11-1.0.2
55
+ environment:
56
+ KAFKA_ADVERTISED_HOST_NAME: localhost
57
+ KAFKA_ADVERTISED_PORT: 9092
58
+ KAFKA_PORT: 9092
59
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
60
+ KAFKA_DELETE_TOPIC_ENABLE: true
61
+ - image: wurstmeister/kafka:2.11-1.0.2
62
+ environment:
63
+ KAFKA_ADVERTISED_HOST_NAME: localhost
64
+ KAFKA_ADVERTISED_PORT: 9093
65
+ KAFKA_PORT: 9093
66
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
67
+ KAFKA_DELETE_TOPIC_ENABLE: true
68
+ - image: wurstmeister/kafka:2.11-1.0.2
69
+ environment:
70
+ KAFKA_ADVERTISED_HOST_NAME: localhost
71
+ KAFKA_ADVERTISED_PORT: 9094
72
+ KAFKA_PORT: 9094
73
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
74
+ KAFKA_DELETE_TOPIC_ENABLE: true
75
+ steps:
76
+ - checkout
77
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
78
+ - run: bundle install --path vendor/bundle
79
+ - run: bundle exec rspec --profile --tag functional spec/functional
80
+
81
+ kafka-1.1:
82
+ docker:
83
+ - image: circleci/ruby:2.5.1-node
84
+ environment:
85
+ LOG_LEVEL: DEBUG
86
+ - image: wurstmeister/zookeeper
87
+ - image: wurstmeister/kafka:2.11-1.1.1
88
+ environment:
89
+ KAFKA_ADVERTISED_HOST_NAME: localhost
90
+ KAFKA_ADVERTISED_PORT: 9092
91
+ KAFKA_PORT: 9092
92
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
93
+ KAFKA_DELETE_TOPIC_ENABLE: true
94
+ - image: wurstmeister/kafka:2.11-1.1.1
95
+ environment:
96
+ KAFKA_ADVERTISED_HOST_NAME: localhost
97
+ KAFKA_ADVERTISED_PORT: 9093
98
+ KAFKA_PORT: 9093
99
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
100
+ KAFKA_DELETE_TOPIC_ENABLE: true
101
+ - image: wurstmeister/kafka:2.11-1.1.1
102
+ environment:
103
+ KAFKA_ADVERTISED_HOST_NAME: localhost
104
+ KAFKA_ADVERTISED_PORT: 9094
105
+ KAFKA_PORT: 9094
106
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
107
+ KAFKA_DELETE_TOPIC_ENABLE: true
108
+ steps:
109
+ - checkout
110
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
111
+ - run: bundle install --path vendor/bundle
112
+ - run: bundle exec rspec --profile --tag functional spec/functional
113
+
114
+ kafka-2.0:
115
+ docker:
116
+ - image: circleci/ruby:2.5.1-node
117
+ environment:
118
+ LOG_LEVEL: DEBUG
119
+ - image: wurstmeister/zookeeper
120
+ - image: wurstmeister/kafka:2.11-2.0.1
121
+ environment:
122
+ KAFKA_ADVERTISED_HOST_NAME: localhost
123
+ KAFKA_ADVERTISED_PORT: 9092
124
+ KAFKA_PORT: 9092
125
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
126
+ KAFKA_DELETE_TOPIC_ENABLE: true
127
+ - image: wurstmeister/kafka:2.11-2.0.1
128
+ environment:
129
+ KAFKA_ADVERTISED_HOST_NAME: localhost
130
+ KAFKA_ADVERTISED_PORT: 9093
131
+ KAFKA_PORT: 9093
132
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
133
+ KAFKA_DELETE_TOPIC_ENABLE: true
134
+ - image: wurstmeister/kafka:2.11-2.0.1
135
+ environment:
136
+ KAFKA_ADVERTISED_HOST_NAME: localhost
137
+ KAFKA_ADVERTISED_PORT: 9094
138
+ KAFKA_PORT: 9094
139
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
140
+ KAFKA_DELETE_TOPIC_ENABLE: true
141
+ steps:
142
+ - checkout
143
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
144
+ - run: bundle install --path vendor/bundle
145
+ - run: bundle exec rspec --profile --tag functional spec/functional
146
+
147
+ kafka-2.1:
148
+ docker:
149
+ - image: circleci/ruby:2.5.1-node
150
+ environment:
151
+ LOG_LEVEL: DEBUG
152
+ - image: wurstmeister/zookeeper
153
+ - image: wurstmeister/kafka:2.12-2.1.1
154
+ environment:
155
+ KAFKA_ADVERTISED_HOST_NAME: localhost
156
+ KAFKA_ADVERTISED_PORT: 9092
157
+ KAFKA_PORT: 9092
158
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
159
+ KAFKA_DELETE_TOPIC_ENABLE: true
160
+ - image: wurstmeister/kafka:2.12-2.1.1
161
+ environment:
162
+ KAFKA_ADVERTISED_HOST_NAME: localhost
163
+ KAFKA_ADVERTISED_PORT: 9093
164
+ KAFKA_PORT: 9093
165
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
166
+ KAFKA_DELETE_TOPIC_ENABLE: true
167
+ - image: wurstmeister/kafka:2.12-2.1.1
168
+ environment:
169
+ KAFKA_ADVERTISED_HOST_NAME: localhost
170
+ KAFKA_ADVERTISED_PORT: 9094
171
+ KAFKA_PORT: 9094
172
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
173
+ KAFKA_DELETE_TOPIC_ENABLE: true
174
+ steps:
175
+ - checkout
176
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
177
+ - run: bundle install --path vendor/bundle
178
+ - run: bundle exec rspec --profile --tag functional spec/functional
179
+
180
+ kafka-2.2:
181
+ docker:
182
+ - image: circleci/ruby:2.5.1-node
183
+ environment:
184
+ LOG_LEVEL: DEBUG
185
+ - image: wurstmeister/zookeeper
186
+ - image: wurstmeister/kafka:2.12-2.2.1
187
+ environment:
188
+ KAFKA_ADVERTISED_HOST_NAME: localhost
189
+ KAFKA_ADVERTISED_PORT: 9092
190
+ KAFKA_PORT: 9092
191
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
192
+ KAFKA_DELETE_TOPIC_ENABLE: true
193
+ - image: wurstmeister/kafka:2.12-2.2.1
194
+ environment:
195
+ KAFKA_ADVERTISED_HOST_NAME: localhost
196
+ KAFKA_ADVERTISED_PORT: 9093
197
+ KAFKA_PORT: 9093
198
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
199
+ KAFKA_DELETE_TOPIC_ENABLE: true
200
+ - image: wurstmeister/kafka:2.12-2.2.1
201
+ environment:
202
+ KAFKA_ADVERTISED_HOST_NAME: localhost
203
+ KAFKA_ADVERTISED_PORT: 9094
204
+ KAFKA_PORT: 9094
205
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
206
+ KAFKA_DELETE_TOPIC_ENABLE: true
207
+ steps:
208
+ - checkout
209
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
210
+ - run: bundle install --path vendor/bundle
211
+ - run: bundle exec rspec --profile --tag functional spec/functional
212
+
213
+ kafka-2.3:
214
+ docker:
215
+ - image: circleci/ruby:2.5.1-node
216
+ environment:
217
+ LOG_LEVEL: DEBUG
218
+ - image: wurstmeister/zookeeper
219
+ - image: wurstmeister/kafka:2.12-2.3.1
220
+ environment:
221
+ KAFKA_ADVERTISED_HOST_NAME: localhost
222
+ KAFKA_ADVERTISED_PORT: 9092
223
+ KAFKA_PORT: 9092
224
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
225
+ KAFKA_DELETE_TOPIC_ENABLE: true
226
+ - image: wurstmeister/kafka:2.12-2.3.1
227
+ environment:
228
+ KAFKA_ADVERTISED_HOST_NAME: localhost
229
+ KAFKA_ADVERTISED_PORT: 9093
230
+ KAFKA_PORT: 9093
231
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
232
+ KAFKA_DELETE_TOPIC_ENABLE: true
233
+ - image: wurstmeister/kafka:2.12-2.3.1
234
+ environment:
235
+ KAFKA_ADVERTISED_HOST_NAME: localhost
236
+ KAFKA_ADVERTISED_PORT: 9094
237
+ KAFKA_PORT: 9094
238
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
239
+ KAFKA_DELETE_TOPIC_ENABLE: true
240
+ steps:
241
+ - checkout
242
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
243
+ - run: bundle install --path vendor/bundle
244
+ - run: bundle exec rspec --profile --tag functional spec/functional
245
+
246
+ kafka-2.4:
247
+ docker:
248
+ - image: circleci/ruby:2.5.1-node
249
+ environment:
250
+ LOG_LEVEL: DEBUG
251
+ - image: wurstmeister/zookeeper
252
+ - image: wurstmeister/kafka:2.12-2.4.0
253
+ environment:
254
+ KAFKA_ADVERTISED_HOST_NAME: localhost
255
+ KAFKA_ADVERTISED_PORT: 9092
256
+ KAFKA_PORT: 9092
257
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
258
+ KAFKA_DELETE_TOPIC_ENABLE: true
259
+ - image: wurstmeister/kafka:2.12-2.4.0
260
+ environment:
261
+ KAFKA_ADVERTISED_HOST_NAME: localhost
262
+ KAFKA_ADVERTISED_PORT: 9093
263
+ KAFKA_PORT: 9093
264
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
265
+ KAFKA_DELETE_TOPIC_ENABLE: true
266
+ - image: wurstmeister/kafka:2.12-2.4.0
267
+ environment:
268
+ KAFKA_ADVERTISED_HOST_NAME: localhost
269
+ KAFKA_ADVERTISED_PORT: 9094
270
+ KAFKA_PORT: 9094
271
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
272
+ KAFKA_DELETE_TOPIC_ENABLE: true
273
+ steps:
274
+ - checkout
275
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
276
+ - run: bundle install --path vendor/bundle
277
+ - run: bundle exec rspec --profile --tag functional spec/functional
278
+
279
+ kafka-2.5:
280
+ docker:
281
+ - image: circleci/ruby:2.5.1-node
282
+ environment:
283
+ LOG_LEVEL: DEBUG
284
+ - image: wurstmeister/zookeeper
285
+ - image: wurstmeister/kafka:2.12-2.5.0
286
+ environment:
287
+ KAFKA_ADVERTISED_HOST_NAME: localhost
288
+ KAFKA_ADVERTISED_PORT: 9092
289
+ KAFKA_PORT: 9092
290
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
291
+ KAFKA_DELETE_TOPIC_ENABLE: true
292
+ - image: wurstmeister/kafka:2.12-2.5.0
293
+ environment:
294
+ KAFKA_ADVERTISED_HOST_NAME: localhost
295
+ KAFKA_ADVERTISED_PORT: 9093
296
+ KAFKA_PORT: 9093
297
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
298
+ KAFKA_DELETE_TOPIC_ENABLE: true
299
+ - image: wurstmeister/kafka:2.12-2.5.0
300
+ environment:
301
+ KAFKA_ADVERTISED_HOST_NAME: localhost
302
+ KAFKA_ADVERTISED_PORT: 9094
303
+ KAFKA_PORT: 9094
304
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
305
+ KAFKA_DELETE_TOPIC_ENABLE: true
306
+ steps:
307
+ - checkout
308
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
309
+ - run: bundle install --path vendor/bundle
310
+ - run: bundle exec rspec --profile --tag functional spec/functional
311
+
312
+ kafka-2.6:
313
+ docker:
314
+ - image: circleci/ruby:2.5.1-node
315
+ environment:
316
+ LOG_LEVEL: DEBUG
317
+ - image: wurstmeister/zookeeper
318
+ - image: wurstmeister/kafka:2.13-2.6.0
319
+ environment:
320
+ KAFKA_ADVERTISED_HOST_NAME: localhost
321
+ KAFKA_ADVERTISED_PORT: 9092
322
+ KAFKA_PORT: 9092
323
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
324
+ KAFKA_DELETE_TOPIC_ENABLE: true
325
+ - image: wurstmeister/kafka:2.13-2.6.0
326
+ environment:
327
+ KAFKA_ADVERTISED_HOST_NAME: localhost
328
+ KAFKA_ADVERTISED_PORT: 9093
329
+ KAFKA_PORT: 9093
330
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
331
+ KAFKA_DELETE_TOPIC_ENABLE: true
332
+ - image: wurstmeister/kafka:2.13-2.6.0
333
+ environment:
334
+ KAFKA_ADVERTISED_HOST_NAME: localhost
335
+ KAFKA_ADVERTISED_PORT: 9094
336
+ KAFKA_PORT: 9094
337
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
338
+ KAFKA_DELETE_TOPIC_ENABLE: true
339
+ steps:
340
+ - checkout
341
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
342
+ - run: bundle install --path vendor/bundle
343
+ - run: bundle exec rspec --profile --tag functional spec/functional
344
+
345
+ kafka-2.7:
346
+ docker:
347
+ - image: circleci/ruby:2.5.1-node
348
+ environment:
349
+ LOG_LEVEL: DEBUG
350
+ - image: wurstmeister/zookeeper
351
+ - image: wurstmeister/kafka:2.13-2.7.0
352
+ environment:
353
+ KAFKA_ADVERTISED_HOST_NAME: localhost
354
+ KAFKA_ADVERTISED_PORT: 9092
355
+ KAFKA_PORT: 9092
356
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
357
+ KAFKA_DELETE_TOPIC_ENABLE: true
358
+ - image: wurstmeister/kafka:2.13-2.7.0
359
+ environment:
360
+ KAFKA_ADVERTISED_HOST_NAME: localhost
361
+ KAFKA_ADVERTISED_PORT: 9093
362
+ KAFKA_PORT: 9093
363
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
364
+ KAFKA_DELETE_TOPIC_ENABLE: true
365
+ - image: wurstmeister/kafka:2.13-2.7.0
366
+ environment:
367
+ KAFKA_ADVERTISED_HOST_NAME: localhost
368
+ KAFKA_ADVERTISED_PORT: 9094
369
+ KAFKA_PORT: 9094
370
+ KAFKA_ZOOKEEPER_CONNECT: localhost:2181
371
+ KAFKA_DELETE_TOPIC_ENABLE: true
372
+ steps:
373
+ - checkout
374
+ - run: sudo apt-get update && sudo apt-get install -y cmake # For installing snappy
375
+ - run: bundle install --path vendor/bundle
376
+ - run: bundle exec rspec --profile --tag functional spec/functional
377
+
378
+ workflows:
379
+ version: 2
380
+ test:
381
+ jobs:
382
+ - unit
383
+ - kafka-0.11
384
+ - kafka-1.0.0
385
+ - kafka-1.1
386
+ - kafka-2.0
387
+ - kafka-2.1
388
+ - kafka-2.2
389
+ - kafka-2.3
390
+ - kafka-2.4
391
+ - kafka-2.5
392
+ - kafka-2.6
393
+ - kafka-2.7
@@ -0,0 +1,19 @@
1
+ name: Mark stale issues and pull requests
2
+
3
+ on:
4
+ schedule:
5
+ - cron: "0 0 * * *"
6
+
7
+ jobs:
8
+ stale:
9
+
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - uses: actions/stale@v1
14
+ with:
15
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
16
+ stale-issue-message: 'Issue has been marked as stale due to a lack of activity.'
17
+ stale-pr-message: 'Pull request has been marked as stale due to a lack of activity.'
18
+ stale-issue-label: 'no-issue-activity'
19
+ stale-pr-label: 'no-pr-activity'
data/.gitignore ADDED
@@ -0,0 +1,13 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /Gemfile.lock
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ .env
11
+ *.log
12
+ *.swp
13
+ .byebug_history
data/.readygo ADDED
@@ -0,0 +1 @@
1
+ {"readygo_file_format_version":1,"benchmark_results":[["message serialization decoding",[0.00777734375,0.007609375,0.00721875,0.00836328125,0.007546875,0.0088046875,0.0069414062500000005,0.007550781249999999,0.0072734374999999995,0.009625,0.007867187500000001,0.01226953125,0.0073984375,0.007292968750000001,0.00937890625,0.0073750000000000005]]]}
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,44 @@
1
+ AllCops:
2
+ DisplayCopNames: true
3
+ TargetRubyVersion: 2.1
4
+
5
+ Lint:
6
+ Enabled: false
7
+ Metrics:
8
+ Enabled: false
9
+ Performance:
10
+ Enabled: false
11
+ Style:
12
+ Enabled: false
13
+
14
+ # Configured cops
15
+
16
+ Layout/CaseIndentation:
17
+ EnforcedStyle: end
18
+ Layout/FirstParameterIndentation:
19
+ EnforcedStyle: consistent
20
+ Layout/IndentArray:
21
+ EnforcedStyle: consistent
22
+ Layout/IndentHash:
23
+ EnforcedStyle: consistent
24
+ Layout/MultilineMethodCallIndentation:
25
+ EnforcedStyle: indented
26
+ Layout/MultilineOperationIndentation:
27
+ EnforcedStyle: indented
28
+ Lint/EndAlignment:
29
+ EnforcedStyleAlignWith: variable
30
+
31
+ #
32
+ # Disabled cops
33
+ #
34
+
35
+ Layout/AlignHash:
36
+ Enabled: false
37
+ Layout/AlignParameters:
38
+ Enabled: false
39
+ Layout/EmptyLinesAroundClassBody:
40
+ Enabled: false
41
+ Layout/EmptyLinesAroundModuleBody:
42
+ Enabled: false
43
+ Layout/SpaceInsideBlockBraces:
44
+ Enabled: false