karafka-rdkafka 0.17.0 → 0.17.1.beta1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0a60c074ecbf580c271442ac5e86a2152acf2542fc88c841f3adf8de99a8326
4
- data.tar.gz: ab81215e4a2d4d641521efbd8f0e679a169bea6920378fab237f8401b0b8f3ac
3
+ metadata.gz: 192d225abdb3819438f2da32dde41f7940666ee105f51f315ab55cf670e8c3b9
4
+ data.tar.gz: bc393b0baa8f62980b9acf4d8d993f63cc1f07f9e3c8da54bceb8a76b387849b
5
5
  SHA512:
6
- metadata.gz: 9595e54c497e0018da1df9611d1b2dca8b4e03fab8ca5ef26e3e20da93fb2ccdc9c0f568ddf7c371fe4f59873187e653744f087afea1dc6ebfc57a151b572dfc
7
- data.tar.gz: 6ce0c6d3baee8e939dcfe1867771d2ca41b8d8c9d6018a5d00e63e5c9d79c499beebfdca3f75d8624862351191e36d4ec20fb86fad3eaeb8f169dca2802e83c2
6
+ metadata.gz: 82476a66a8ae78150ee80122df8d31925afb31ba06bc9cd0467ebf2fa09fcacaaa69f0262e9ff75447461871c29c3db9026cc3adda505cd9b0fe9dd8741f3336
7
+ data.tar.gz: 86fca73dcffd68a5197276a01cf6366ef4f0ba702656e78209e8666534f76a1bb3f05f5e624f812ed6576255545093b810603be267f2a7653e7005ea42c1ddc0
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Rdkafka Changelog
2
2
 
3
+ ## 0.17.1 (Unreleased)
4
+ - [Enhancement] Support ability to release patches to librdkafka.
5
+ - [Patch] Patch cooperative-sticky assignments in librdkafka.
6
+
3
7
  ## 0.17.0 (2024-07-21)
4
8
  - [Enhancement] Bump librdkafka to 2.5.0
5
9
 
@@ -26,6 +30,12 @@
26
30
  - **[Feature]** Oauthbearer token refresh callback (bruce-szalwinski-he)
27
31
  - **[Feature]** Support incremental config describe + alter API (mensfeld)
28
32
  - [Enhancement] name polling Thread as `rdkafka.native_kafka#<name>` (nijikon)
33
+ - [Enhancement] Replace time poll based wait engine with an event based to improve response times on blocking operations and wait (nijikon + mensfeld)
34
+ - [Enhancement] Allow for usage of the second regex engine of librdkafka by setting `RDKAFKA_DISABLE_REGEX_EXT` during build (mensfeld)
35
+ - [Enhancement] name polling Thread as `rdkafka.native_kafka#<name>` (nijikon)
36
+ - [Change] Allow for native kafka thread operations deferring and manual start for consumer, producer and admin.
37
+ - [Change] The `wait_timeout` argument in `AbstractHandle.wait` method is deprecated and will be removed in future versions without replacement. We don't rely on it's value anymore (nijikon)
38
+ - [Fix] Fix bogus case/when syntax. Levels 1, 2, and 6 previously defaulted to UNKNOWN (jjowdy)
29
39
 
30
40
  ## 0.14.11 (2024-07-10)
31
41
  - [Fix] Switch to local release of librdkafka to mitigate its unavailability.
@@ -0,0 +1,26 @@
1
+ # This patch is released under the 2-clause BSD license, same as librdkafka
2
+ # Fixes: https://github.com/confluentinc/librdkafka/issues/4783
3
+ #
4
+ --- librdkafka_2.5.0/src/rdkafka_sticky_assignor.c 2024-07-08 09:47:43.000000000 +0200
5
+ +++ librdkafka_2.5.0/src/rdkafka_sticky_assignor.c 2024-07-30 09:44:38.529759640 +0200
6
+ @@ -769,7 +769,7 @@
7
+ const rd_kafka_topic_partition_list_t *partitions;
8
+ const char *consumer;
9
+ const rd_map_elem_t *elem;
10
+ - int i;
11
+ + int i, j;
12
+
13
+ /* The assignment is balanced if minimum and maximum numbers of
14
+ * partitions assigned to consumers differ by at most one. */
15
+ @@ -836,9 +836,9 @@
16
+
17
+ /* Otherwise make sure it can't get any more partitions */
18
+
19
+ - for (i = 0; i < potentialTopicPartitions->cnt; i++) {
20
+ + for (j = 0; j < potentialTopicPartitions->cnt; j++) {
21
+ const rd_kafka_topic_partition_t *partition =
22
+ - &potentialTopicPartitions->elems[i];
23
+ + &potentialTopicPartitions->elems[j];
24
+ const char *otherConsumer;
25
+ int otherConsumerPartitionCount;
26
+
data/docker-compose.yml CHANGED
@@ -3,7 +3,7 @@ version: '2'
3
3
  services:
4
4
  kafka:
5
5
  container_name: kafka
6
- image: confluentinc/cp-kafka:7.6.2
6
+ image: confluentinc/cp-kafka:7.7.0
7
7
 
8
8
  ports:
9
9
  - 9092:9092
data/ext/Rakefile CHANGED
@@ -31,6 +31,8 @@ task :default => :clean do
31
31
  }
32
32
  recipe.configure_options = ["--host=#{recipe.host}"]
33
33
 
34
+ recipe.patch_files = Dir[File.join(releases, 'patches', "*.patch")].sort
35
+
34
36
  # Disable using libc regex engine in favor of the embedded one
35
37
  # The default regex engine of librdkafka does not always work exactly as most of the users
36
38
  # would expect, hence this flag allows for changing it to the other one
@@ -117,6 +119,7 @@ namespace :build do
117
119
  recipe = MiniPortile.new("librdkafka", version)
118
120
  recipe.files << "https://github.com/confluentinc/librdkafka/archive/#{ref}.tar.gz"
119
121
  recipe.configure_options = ["--host=#{recipe.host}","--enable-static", "--enable-zstd"]
122
+ recipe.patch_files = Dir[File.join(releases, 'patches', "*.patch")].sort
120
123
  recipe.cook
121
124
 
122
125
  ext = recipe.host.include?("darwin") ? "dylib" : "so"
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rdkafka
4
- VERSION = "0.17.0"
4
+ VERSION = "0.17.1.beta1"
5
5
  LIBRDKAFKA_VERSION = "2.5.0"
6
6
  LIBRDKAFKA_SOURCE_SHA256 = "3dc62de731fd516dfb1032861d9a580d4d0b5b0856beb0f185d06df8e6c26259"
7
7
  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.17.0
4
+ version: 0.17.1.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thijs Cadier
@@ -36,7 +36,7 @@ cert_chain:
36
36
  AnG1dJU+yL2BK7vaVytLTstJME5mepSZ46qqIJXMuWob/YPDmVaBF39TDSG9e34s
37
37
  msG3BiCqgOgHAnL23+CN3Rt8MsuRfEtoTKpJVcCfoEoNHOkc
38
38
  -----END CERTIFICATE-----
39
- date: 2024-07-21 00:00:00.000000000 Z
39
+ date: 2024-07-30 00:00:00.000000000 Z
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: ffi
@@ -187,6 +187,7 @@ files:
187
187
  - Rakefile
188
188
  - certs/cert_chain.pem
189
189
  - dist/librdkafka_2.5.0.tar.gz
190
+ - dist/patches/rdkafka_sticky_assignor.c.patch
190
191
  - docker-compose.yml
191
192
  - ext/README.md
192
193
  - ext/Rakefile
@@ -286,7 +287,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
286
287
  - !ruby/object:Gem::Version
287
288
  version: '0'
288
289
  requirements: []
289
- rubygems_version: 3.5.9
290
+ rubygems_version: 3.5.11
290
291
  signing_key:
291
292
  specification_version: 4
292
293
  summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
metadata.gz.sig CHANGED
Binary file