karafka-rdkafka 0.13.10 → 0.14.0.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: a78b060310c1f99afc9955f17d3a2fe92d5252cc7aec870c3fa34b20e543385b
4
- data.tar.gz: 5714200f1cc64e0b1b7f4f5118f5a10010055ceb1232986fee4caae952199c44
3
+ metadata.gz: 5e180bea275e4b1e2b0f43ba8ec7215b0b96cb926b708ee38a6a4cb73116be53
4
+ data.tar.gz: 6558fb60a50c96bd11054400e5effb89f42c9b2a35ea23f02cf3b56f96c7142a
5
5
  SHA512:
6
- metadata.gz: 33338b74897b69cc42f370c57803b048bb6055617509518fba2accd705bb674b09bc311f43116669b135d8e6d5263746c40371d7935bba50e934d1254f50f4a8
7
- data.tar.gz: 9b77936f7fa8a53474e04f79ed47e9bedba8524311da0d4bc501261508b6d5e6bf4c02a2202a9b3d41126fe98ce0d03dad5e663a9f73777cf48c4c2644ef4295
6
+ metadata.gz: 7449b5221257909fbf806e5a78446566659ffb71ed40ee2ced5ef51624a2ad9b8c710edf4a34dd024c96e03cd698698cd235c1b58cf3e9d407e051e95be80fa9
7
+ data.tar.gz: 3ad4a979ce55647485d75f2a45da3dd444ced6231b555557b3d888ef6641365b4fb675a7e29f019a2df7ff960cc2561d0141291d8a344be5bd87b413ee64a6e3
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # Rdkafka Changelog
2
2
 
3
- ## 0.13.10 (2024-07-10)
4
- - [Fix] Switch to local release of librdkafka to mitigate its unavailability.
3
+ ## 0.14.0 (Unreleased)
4
+ - [Enhancement] Bump librdkafka to 2.3.0
5
+ - [Enhancement] Increase the `#lag` and `#query_watermark_offsets` default timeouts from 100ms to 1000ms. This will compensate for network glitches and remote clusters operations.
5
6
 
6
7
  ## 0.13.9 (2023-11-07)
7
8
  - [Enhancement] Expose alternative way of managing consumer events via a separate queue.
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.5.1
6
+ image: confluentinc/cp-kafka:7.5.2
7
7
 
8
8
  ports:
9
9
  - 9092:9092
data/ext/Rakefile CHANGED
@@ -1,67 +1,40 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require File.expand_path('../../lib/rdkafka/version', __FILE__)
4
+ require "mini_portile2"
4
5
  require "fileutils"
5
6
  require "open-uri"
6
7
 
7
8
  task :default => :clean do
8
- # For nix users, nix can't locate the file paths because the packages it's requiring aren't managed by the system but are
9
- # managed by nix itself, so using the normal file paths doesn't work for nix users.
10
- #
11
- # Mini_portile causes an issue because it's dependencies are downloaded on the fly and therefore don't exist/aren't
12
- # accessible in the nix environment
13
- if ENV.fetch('RDKAFKA_EXT_PATH', '').empty?
14
- # Download and compile librdkafka if RDKAFKA_EXT_PATH is not set
15
- require "mini_portile2"
16
- recipe = MiniPortile.new("librdkafka", Rdkafka::LIBRDKAFKA_VERSION)
9
+ # Download and compile librdkafka
10
+ recipe = MiniPortile.new("librdkafka", Rdkafka::LIBRDKAFKA_VERSION)
17
11
 
18
- # Use default homebrew openssl if we're on mac and the directory exists
19
- # and each of flags is not empty
20
- if recipe.host&.include?("darwin") && system("which brew &> /dev/null") && Dir.exist?("#{homebrew_prefix = %x(brew --prefix openssl).strip}")
21
- ENV["CPPFLAGS"] = "-I#{homebrew_prefix}/include" unless ENV["CPPFLAGS"]
22
- ENV["LDFLAGS"] = "-L#{homebrew_prefix}/lib" unless ENV["LDFLAGS"]
23
- end
24
-
25
- releases = File.expand_path(File.join(File.dirname(__FILE__), '../dist'))
26
-
27
- recipe.files << {
28
- :url => "file://#{releases}/librdkafka_#{Rdkafka::LIBRDKAFKA_VERSION}.tar.gz",
29
- :sha256 => Rdkafka::LIBRDKAFKA_SOURCE_SHA256
30
- }
31
- recipe.configure_options = ["--host=#{recipe.host}"]
32
-
33
- # Disable using libc regex engine in favor of the embedded one
34
- # The default regex engine of librdkafka does not always work exactly as most of the users
35
- # would expect, hence this flag allows for changing it to the other one
36
- if ENV.key?('RDKAFKA_DISABLE_REGEX_EXT')
37
- recipe.configure_options << '--disable-regex-ext'
38
- end
12
+ # Use default homebrew openssl if we're on mac and the directory exists
13
+ # and each of flags is not empty
14
+ if recipe.host&.include?("darwin") && system("which brew &> /dev/null") && Dir.exist?("#{homebrew_prefix = %x(brew --prefix openssl).strip}")
15
+ ENV["CPPFLAGS"] = "-I#{homebrew_prefix}/include" unless ENV["CPPFLAGS"]
16
+ ENV["LDFLAGS"] = "-L#{homebrew_prefix}/lib" unless ENV["LDFLAGS"]
17
+ end
39
18
 
40
- recipe.cook
41
- # Move dynamic library we're interested in
42
- if recipe.host.include?('darwin')
43
- from_extension = '1.dylib'
44
- to_extension = 'dylib'
45
- else
46
- from_extension = 'so.1'
47
- to_extension = 'so'
48
- end
49
- lib_path = File.join(File.dirname(__FILE__), "ports/#{recipe.host}/librdkafka/#{Rdkafka::LIBRDKAFKA_VERSION}/lib/librdkafka.#{from_extension}")
50
- FileUtils.mv(lib_path, File.join(File.dirname(__FILE__), "librdkafka.#{to_extension}"))
51
- # Cleanup files created by miniportile we don't need in the gem
52
- FileUtils.rm_rf File.join(File.dirname(__FILE__), "tmp")
53
- FileUtils.rm_rf File.join(File.dirname(__FILE__), "ports")
19
+ recipe.files << {
20
+ :url => "https://codeload.github.com/confluentinc/librdkafka/tar.gz/v#{Rdkafka::LIBRDKAFKA_VERSION}",
21
+ :sha256 => Rdkafka::LIBRDKAFKA_SOURCE_SHA256
22
+ }
23
+ recipe.configure_options = ["--host=#{recipe.host}"]
24
+ recipe.cook
25
+ # Move dynamic library we're interested in
26
+ if recipe.host.include?('darwin')
27
+ from_extension = '1.dylib'
28
+ to_extension = 'dylib'
54
29
  else
55
- # Otherwise, copy existing libraries to ./ext
56
- if ENV['RDKAFKA_EXT_PATH'].nil? || ENV['RDKAFKA_EXT_PATH'].empty?
57
- raise "RDKAFKA_EXT_PATH must be set in your nix config when running under nix"
58
- end
59
- files = [
60
- File.join(ENV['RDKAFKA_EXT_PATH'], 'lib', 'librdkafka.dylib'),
61
- File.join(ENV['RDKAFKA_EXT_PATH'], 'lib', 'librdkafka.so')
62
- ]
63
- files.each { |ext| FileUtils.cp(ext, File.dirname(__FILE__)) if File.exist?(ext) }
30
+ from_extension = 'so.1'
31
+ to_extension = 'so'
64
32
  end
33
+ lib_path = File.join(File.dirname(__FILE__), "ports/#{recipe.host}/librdkafka/#{Rdkafka::LIBRDKAFKA_VERSION}/lib/librdkafka.#{from_extension}")
34
+ FileUtils.mv(lib_path, File.join(File.dirname(__FILE__), "librdkafka.#{to_extension}"))
35
+ # Cleanup files created by miniportile we don't need in the gem
36
+ FileUtils.rm_rf File.join(File.dirname(__FILE__), "tmp")
37
+ FileUtils.rm_rf File.join(File.dirname(__FILE__), "ports")
65
38
  end
66
39
 
67
40
  task :clean do
@@ -300,7 +300,7 @@ module Rdkafka
300
300
  # @param timeout_ms [Integer] The timeout for querying the broker
301
301
  # @return [Integer] The low and high watermark
302
302
  # @raise [RdkafkaError] When querying the broker fails.
303
- def query_watermark_offsets(topic, partition, timeout_ms=200)
303
+ def query_watermark_offsets(topic, partition, timeout_ms=1000)
304
304
  closed_consumer_check(__method__)
305
305
 
306
306
  low = FFI::MemoryPointer.new(:int64, 1)
@@ -335,7 +335,7 @@ module Rdkafka
335
335
  # @return [Hash<String, Hash<Integer, Integer>>] A hash containing all topics with the lag
336
336
  # per partition
337
337
  # @raise [RdkafkaError] When querying the broker fails.
338
- def lag(topic_partition_list, watermark_timeout_ms=100)
338
+ def lag(topic_partition_list, watermark_timeout_ms=1000)
339
339
  out = {}
340
340
 
341
341
  topic_partition_list.to_h.each do |topic, partitions|
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rdkafka
4
- VERSION = "0.13.10"
5
- LIBRDKAFKA_VERSION = "2.2.0"
6
- LIBRDKAFKA_SOURCE_SHA256 = "af9a820cbecbc64115629471df7c7cecd40403b6c34bfdbb9223152677a47226"
4
+ VERSION = "0.14.0.beta1"
5
+ LIBRDKAFKA_VERSION = "2.3.0"
6
+ LIBRDKAFKA_SOURCE_SHA256 = "2d49c35c77eeb3d42fa61c43757fcbb6a206daa560247154e60642bcdcc14d12"
7
7
  end
data.tar.gz.sig CHANGED
@@ -1,3 +1,3 @@
1
- 6X�h
2
- ����e��u�ʨ�ߞ���ޥSo��a�&>6ur+��#k2$�@�\.bk\cOs[M0��h�@#�v#?��bL{[�@����!
3
- >F�=DUY!����)��{������(m7ie��M�@�]2������}+2([/E�DŽ�avU��_h%B)���Ѳ��#����ԁ�Ou��'� ��$�,��t(m�� ���|���4vVmqH�^�~���*zl$�j#B���[#����̌"���dF/��SCA�
1
+ L���� ������AP(
2
+ 9�����ZOF[h ]����q}���k/�+*Ў'^���6��8<V��W�tǍ�x1u
3
+ �����*R��7\���r�K��wo�s�?�J�F���MW�V��S#݉/�K��&�9ep� s�&E!7+ �,���ְ�M�C�5I�M<�2Ҡ�q-UN{dAw���� X�.R�.���<���ibzē�{����LLeJ�/��� ���'0M����ټ?1,�*�s���A���m8�{�����)U��3�mr��W��2�G� /��p�.���X�������H��SZV���Q)���7h��]L'��<x= '��s��� �H����[4���B��eN�2V�CM7
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.13.10
4
+ version: 0.14.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thijs Cadier
@@ -35,7 +35,7 @@ cert_chain:
35
35
  AnG1dJU+yL2BK7vaVytLTstJME5mepSZ46qqIJXMuWob/YPDmVaBF39TDSG9e34s
36
36
  msG3BiCqgOgHAnL23+CN3Rt8MsuRfEtoTKpJVcCfoEoNHOkc
37
37
  -----END CERTIFICATE-----
38
- date: 2024-07-10 00:00:00.000000000 Z
38
+ date: 2023-11-16 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: ffi
@@ -184,7 +184,6 @@ files:
184
184
  - README.md
185
185
  - Rakefile
186
186
  - certs/cert_chain.pem
187
- - dist/librdkafka_2.2.0.tar.gz
188
187
  - docker-compose.yml
189
188
  - ext/README.md
190
189
  - ext/Rakefile
@@ -258,11 +257,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
258
257
  version: '2.7'
259
258
  required_rubygems_version: !ruby/object:Gem::Requirement
260
259
  requirements:
261
- - - ">="
260
+ - - ">"
262
261
  - !ruby/object:Gem::Version
263
- version: '0'
262
+ version: 1.3.1
264
263
  requirements: []
265
- rubygems_version: 3.5.14
264
+ rubygems_version: 3.4.19
266
265
  signing_key:
267
266
  specification_version: 4
268
267
  summary: The rdkafka gem is a modern Kafka client library for Ruby based on librdkafka.
metadata.gz.sig CHANGED
Binary file
Binary file