karafka-rdkafka 0.17.0 → 0.17.1.beta1

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 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