karafka 1.3.0.rc1 → 1.3.0

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: a84d25cd633f2d94764df3f18b726e0b87a45cf6e8b4ddc06467da75f089aa9e
4
- data.tar.gz: bfbd912db882d8d4cc0e17a6656c65b3837e9fb8c19d2b1473ec781e7376efc1
3
+ metadata.gz: ffe10d1ca48b0b218191231ec6969f3a767f5a1a4010dca0ef00fa44c2eaab67
4
+ data.tar.gz: 27d1b52ba3782b562176b7a6de73563bdd48c250bc0576a1821c55bfcec07bff
5
5
  SHA512:
6
- metadata.gz: a4fddb1d956e6c868788c0aca4cce3bd6cd52951adfe33b8046cdce56a0f87f25b0cd5b11836dfc3c50cabf51406645b14d1a0123cb918c168ae1a4d9abab791
7
- data.tar.gz: 369d09fdd36e12596d8420804e6633e4d173ae8f0e9b40202555f277c50b8ee4331b2acab89aa7fca400fa7904e849bc9dd34a1127fdbae857b1bf4278fdfa28
6
+ metadata.gz: 85bdedfe0791c7d17abbc54ed49df83e2c9cbfb048124107d403559e72b2884909bcc5974c98a738744f80184315b2ee31cc8bd1048cc5a10230e6b6f0184e3d
7
+ data.tar.gz: 382074bee041ed27776571816a982fbd7f0af6b6f9cfa8fa393113acf1c2d4cbfb0a7573d2bcd16f2662667d1b8175546e281deb5a7b66ce30b5d9c4c19d005d
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -22,8 +22,6 @@ jobs:
22
22
  rvm: 2.6.3
23
23
  - <<: *test
24
24
  rvm: 2.5.5
25
- - <<: *test
26
- rvm: 2.4.5
27
25
 
28
26
  - stage: coditsu
29
27
  language: ruby
@@ -1,6 +1,10 @@
1
1
  # Karafka framework changelog
2
2
 
3
- ## 1.3.0.rc1 (31.07.2019)
3
+ ## 1.3.0 (2019-09-09)
4
+ - Drop support for Ruby 2.4
5
+ - YARD docs tags cleanup
6
+
7
+ ## 1.3.0.rc1 (2019-07-31)
4
8
  - Drop support for Kafka 0.10 in favor of native support for Kafka 0.11.
5
9
  - Update ruby-kafka to the 0.7 version
6
10
  - Support messages headers receiving
data/Gemfile CHANGED
@@ -4,10 +4,7 @@ source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
6
 
7
- gem 'waterdrop', '1.3.0.rc1'
8
-
9
7
  group :test do
10
- gem 'activesupport'
11
8
  gem 'byebug'
12
9
  gem 'factory_bot'
13
10
  gem 'rspec'
@@ -1,28 +1,29 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka (1.3.0.rc1)
4
+ karafka (1.3.0)
5
5
  dry-configurable (~> 0.8)
6
6
  dry-inflector (~> 0.1)
7
7
  dry-monitor (~> 0.3)
8
8
  dry-validation (~> 1.2)
9
- envlogic (~> 1.0)
9
+ envlogic (~> 1.1)
10
10
  irb (~> 1.0)
11
11
  multi_json (>= 1.12)
12
12
  rake (>= 11.3)
13
13
  ruby-kafka (>= 0.7.8)
14
14
  thor (~> 0.20)
15
- waterdrop (~> 1.3.0.rc1)
15
+ waterdrop (~> 1.3.0)
16
16
  zeitwerk (~> 2.1)
17
17
 
18
18
  GEM
19
19
  remote: https://rubygems.org/
20
20
  specs:
21
- activesupport (5.2.3)
21
+ activesupport (6.0.0)
22
22
  concurrent-ruby (~> 1.0, >= 1.0.2)
23
23
  i18n (>= 0.7, < 2)
24
24
  minitest (~> 5.1)
25
25
  tzinfo (~> 1.1)
26
+ zeitwerk (~> 2.1, >= 2.1.8)
26
27
  byebug (11.0.1)
27
28
  concurrent-ruby (1.1.5)
28
29
  delivery_boy (0.2.8)
@@ -37,7 +38,7 @@ GEM
37
38
  dry-container (0.7.2)
38
39
  concurrent-ruby (~> 1.0)
39
40
  dry-configurable (~> 0.1, >= 0.1.3)
40
- dry-core (0.4.8)
41
+ dry-core (0.4.9)
41
42
  concurrent-ruby (~> 1.0)
42
43
  dry-equalizer (0.2.2)
43
44
  dry-events (0.2.0)
@@ -46,7 +47,7 @@ GEM
46
47
  dry-equalizer (~> 0.2)
47
48
  dry-inflector (0.1.2)
48
49
  dry-initializer (3.0.1)
49
- dry-logic (1.0.2)
50
+ dry-logic (1.0.3)
50
51
  concurrent-ruby (~> 1.0)
51
52
  dry-core (~> 0.2)
52
53
  dry-equalizer (~> 0.2)
@@ -55,7 +56,7 @@ GEM
55
56
  dry-core (~> 0.4)
56
57
  dry-equalizer (~> 0.2)
57
58
  dry-events (~> 0.1)
58
- dry-schema (1.3.1)
59
+ dry-schema (1.3.3)
59
60
  concurrent-ruby (~> 1.0)
60
61
  dry-configurable (~> 0.8, >= 0.8.3)
61
62
  dry-core (~> 0.4)
@@ -70,7 +71,7 @@ GEM
70
71
  dry-equalizer (~> 0.2, >= 0.2.2)
71
72
  dry-inflector (~> 0.1, >= 0.1.2)
72
73
  dry-logic (~> 1.0, >= 1.0.2)
73
- dry-validation (1.2.1)
74
+ dry-validation (1.3.1)
74
75
  concurrent-ruby (~> 1.0)
75
76
  dry-container (~> 0.7, >= 0.7.1)
76
77
  dry-core (~> 0.4)
@@ -102,7 +103,7 @@ GEM
102
103
  diff-lcs (>= 1.2.0, < 2.0)
103
104
  rspec-support (~> 3.8.0)
104
105
  rspec-support (3.8.2)
105
- ruby-kafka (0.7.9)
106
+ ruby-kafka (0.7.10)
106
107
  digest-crc
107
108
  simplecov (0.17.0)
108
109
  docile (~> 1.1)
@@ -113,26 +114,24 @@ GEM
113
114
  thread_safe (0.3.6)
114
115
  tzinfo (1.2.5)
115
116
  thread_safe (~> 0.1)
116
- waterdrop (1.3.0.rc1)
117
+ waterdrop (1.3.0)
117
118
  delivery_boy (~> 0.2)
118
119
  dry-configurable (~> 0.8)
119
120
  dry-monitor (~> 0.3)
120
121
  dry-validation (~> 1.2)
121
122
  ruby-kafka (>= 0.7.8)
122
123
  zeitwerk (~> 2.1)
123
- zeitwerk (2.1.9)
124
+ zeitwerk (2.1.10)
124
125
 
125
126
  PLATFORMS
126
127
  ruby
127
128
 
128
129
  DEPENDENCIES
129
- activesupport
130
130
  byebug
131
131
  factory_bot
132
132
  karafka!
133
133
  rspec
134
134
  simplecov
135
- waterdrop (= 1.3.0.rc1)
136
135
 
137
136
  BUNDLED WITH
138
137
  2.0.2
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## New release in progress!
6
6
 
7
- **Note**: Documentation presented here refers to not yet released Karafka `1.3.0`. We're in the process of crafting the gems.
7
+ **Note**: Documentation presented here refers to Karafka `1.3.0`.
8
8
 
9
9
  If you are looking for the documentation for Karafka `1.2.*`, it can be found [here](https://github.com/karafka/wiki/tree/1.2).
10
10
 
@@ -21,13 +21,13 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency 'dry-inflector', '~> 0.1'
22
22
  spec.add_dependency 'dry-monitor', '~> 0.3'
23
23
  spec.add_dependency 'dry-validation', '~> 1.2'
24
- spec.add_dependency 'envlogic', '~> 1.0'
24
+ spec.add_dependency 'envlogic', '~> 1.1'
25
25
  spec.add_dependency 'irb', '~> 1.0'
26
26
  spec.add_dependency 'multi_json', '>= 1.12'
27
27
  spec.add_dependency 'rake', '>= 11.3'
28
28
  spec.add_dependency 'ruby-kafka', '>= 0.7.8'
29
29
  spec.add_dependency 'thor', '~> 0.20'
30
- spec.add_dependency 'waterdrop', '~> 1.3.0.rc1'
30
+ spec.add_dependency 'waterdrop', '~> 1.3.0'
31
31
  spec.add_dependency 'zeitwerk', '~> 2.1'
32
32
 
33
33
  spec.required_ruby_version = '>= 2.4.0'
@@ -11,9 +11,9 @@ module Karafka
11
11
  module AttributesMap
12
12
  class << self
13
13
  # What settings should go where in ruby-kafka
14
+ # @return [Hash] hash with proper sections on what to proxy where in Ruby-Kafka
14
15
  # @note All other settings will be passed to Kafka.new method invocation.
15
16
  # All elements in this hash are just edge cases
16
- # @return [Hash] hash with proper sections on what to proxy where in Ruby-Kafka
17
17
  def api_adapter
18
18
  {
19
19
  consumer: %i[
@@ -24,10 +24,10 @@ module Karafka
24
24
  end
25
25
 
26
26
  # Binds to the instrumentation events and triggers reload
27
+ # @param _event [Dry::Event] empty dry event
27
28
  # @note Since we de-register all the user defined objects and redraw routes, it means that
28
29
  # we won't be able to do a multi-batch buffering in the development mode as each of the
29
30
  # batches will be buffered on a newly created "per fetch" instance.
30
- # @param _event [Dry::Event] empty dry event
31
31
  def on_connection_listener_fetch_loop(_event)
32
32
  reload
33
33
  end
@@ -8,9 +8,9 @@ module Karafka
8
8
  class << self
9
9
  # Delegates messages (does something with them)
10
10
  # It will either schedule or run a proper processor action for messages
11
- # @note This should be looped to obtain a constant delegating of new messages
12
11
  # @param group_id [String] group_id of a group from which a given message came
13
12
  # @param kafka_batch [<Kafka::FetchedBatch>] raw messages fetched batch
13
+ # @note This should be looped to obtain a constant delegating of new messages
14
14
  def call(group_id, kafka_batch)
15
15
  topic = Persistence::Topics.fetch(group_id, kafka_batch.topic)
16
16
  consumer = Persistence::Consumers.fetch(topic, kafka_batch.partition)
@@ -68,9 +68,9 @@ module Karafka
68
68
  end
69
69
 
70
70
  # Marks given message as consumed
71
+ # @param [Karafka::Params::Params] params message that we want to mark as processed
71
72
  # @note This method won't trigger automatic offsets commits, rather relying on the ruby-kafka
72
73
  # offsets time-interval based committing
73
- # @param [Karafka::Params::Params] params message that we want to mark as processed
74
74
  def mark_as_consumed(params)
75
75
  kafka_consumer.mark_message_as_processed(
76
76
  *ApiAdapter.mark_message_as_processed(params)
@@ -78,9 +78,9 @@ module Karafka
78
78
  end
79
79
 
80
80
  # Marks a given message as consumed and commit the offsets in a blocking way
81
+ # @param [Karafka::Params::Params] params message that we want to mark as processed
81
82
  # @note This method commits the offset for each manual marking to be sure
82
83
  # that offset commit happen asap in case of a crash
83
- # @param [Karafka::Params::Params] params message that we want to mark as processed
84
84
  def mark_as_consumed!(params)
85
85
  mark_as_consumed(params)
86
86
  # Trigger an immediate, blocking offset commit in order to minimize the risk of crashing
@@ -8,9 +8,9 @@ module Karafka
8
8
  class << self
9
9
  # Delegates message (does something with it)
10
10
  # It will either schedule or run a proper processor action for the incoming message
11
- # @note This should be looped to obtain a constant delegating of new messages
12
11
  # @param group_id [String] group_id of a group from which a given message came
13
12
  # @param kafka_message [<Kafka::FetchedMessage>] raw message from kafka
13
+ # @note This should be looped to obtain a constant delegating of new messages
14
14
  def call(group_id, kafka_message)
15
15
  topic = Persistence::Topics.fetch(group_id, kafka_message.topic)
16
16
  consumer = Persistence::Consumers.fetch(topic, kafka_message.partition)
@@ -63,16 +63,16 @@ module Karafka
63
63
  end
64
64
 
65
65
  # Logs errors that are related to the connection itself
66
- # @note Karafka will attempt to reconnect, so an error not a fatal
67
66
  # @param event [Dry::Events::Event] event details including payload
67
+ # @note Karafka will attempt to reconnect, so an error not a fatal
68
68
  def on_connection_client_fetch_loop_error(event)
69
69
  error "Client fetch loop error: #{event[:error]}"
70
70
  end
71
71
 
72
72
  # Logs info about crashed fetcher
73
+ # @param event [Dry::Events::Event] event details including payload
73
74
  # @note If this happens, Karafka will shutdown as it means a critical error
74
75
  # in one of the threads
75
- # @param event [Dry::Events::Event] event details including payload
76
76
  def on_fetcher_call_error(event)
77
77
  fatal "Fetcher crash due to an error: #{event[:error]}"
78
78
  end
@@ -23,9 +23,9 @@ module Karafka
23
23
 
24
24
  # Used to build (if block given) and/or fetch a current consumer instance that will be
25
25
  # used to process messages from a given topic and partition
26
- # @return [Karafka::BaseConsumer] base consumer descendant
27
26
  # @param topic [Karafka::Routing::Topic] topic instance for which we might cache
28
27
  # @param partition [Integer] number of partition for which we want to cache
28
+ # @return [Karafka::BaseConsumer] base consumer descendant
29
29
  def fetch(topic, partition)
30
30
  current[topic][partition] ||= topic.consumer.new(topic)
31
31
  end
@@ -20,12 +20,12 @@ module Karafka
20
20
  end
21
21
 
22
22
  # Used to draw routes for Karafka
23
- # @note After it is done drawing it will store and validate all the routes to make sure that
24
- # they are correct and that there are no topic/group duplications (this is forbidden)
25
23
  # @param block [Proc] block we will evaluate within the builder context
26
24
  # @yield Evaluates provided block in a builder context so we can describe routes
27
25
  # @raise [Karafka::Errors::InvalidConfigurationError] raised when configuration
28
26
  # doesn't match with the config contract
27
+ # @note After it is done drawing it will store and validate all the routes to make sure that
28
+ # they are correct and that there are no topic/group duplications (this is forbidden)
29
29
  # @example
30
30
  # draw do
31
31
  # topic :xyz do
@@ -3,5 +3,5 @@
3
3
  # Main module namespace
4
4
  module Karafka
5
5
  # Current Karafka version
6
- VERSION = '1.3.0.rc1'
6
+ VERSION = '1.3.0'
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0.rc1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -36,7 +36,7 @@ cert_chain:
36
36
  KJG/fhg1JV5vVDdVy6x+tv5SQ5ctU0feCsVfESi3rE3zRd+nvzE9HcZ5aXeL1UtJ
37
37
  nT5Xrioegu2w1jPyVEgyZgTZC5rvD0nNS5sFNQ==
38
38
  -----END CERTIFICATE-----
39
- date: 2019-07-31 00:00:00.000000000 Z
39
+ date: 2019-09-09 00:00:00.000000000 Z
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: dry-configurable
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1.0'
103
+ version: '1.1'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1.0'
110
+ version: '1.1'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: irb
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: 1.3.0.rc1
187
+ version: 1.3.0
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: 1.3.0.rc1
194
+ version: 1.3.0
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: zeitwerk
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -325,9 +325,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
325
325
  version: 2.4.0
326
326
  required_rubygems_version: !ruby/object:Gem::Requirement
327
327
  requirements:
328
- - - ">"
328
+ - - ">="
329
329
  - !ruby/object:Gem::Version
330
- version: 1.3.1
330
+ version: '0'
331
331
  requirements: []
332
332
  rubygems_version: 3.0.3
333
333
  signing_key:
metadata.gz.sig CHANGED
Binary file