karafka 1.4.13 → 1.4.15

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: 8799d5854288a36f4af9e7688241a0df2719a7d982fe4940d9d7acec80ec8389
4
- data.tar.gz: 7d17c4de581aa08467c8c810f8a2977a8e7cffa1f0f68f2ff369e39bc15f888b
3
+ metadata.gz: 611ba9b66a65ca5ba6b0b39201b416d522bfd4fcef20d7241fa64337f9b34431
4
+ data.tar.gz: 0bb87fe1569b54d03b42d2921b03f722fc6996f46d94c4ff1037896a42d9c7b4
5
5
  SHA512:
6
- metadata.gz: f43dc6e07e61671aff52a9200333945e93b3641e63a44ff5d877456278553040f5ba2e6dbf69f30570d974bcaa6010312b66da5aee478f7d356b3268a62428a2
7
- data.tar.gz: 87f1ed908bfc5f3076c42bec507c916900881e7536f23822d38fd8cd0214b0fdedb58a6d6920e8f11dd0e035c6ec301bfb217f906d129873b2b5a8df20d18e53
6
+ metadata.gz: 69c3fb16f1213d25bc40f65d2ddfec0aa7f16cf4be00d0f79330e8ec2d399d18f2e4171d337acd68990550613bc32c64a56a874fd6f4fd40e6673950fa1295a5
7
+ data.tar.gz: 24d3398e30f84d10a6b975758cbb32eeb33ed3ae2d0bc5c2d05615156e32ca6de954aa38e5cc5c46cb03e7a0e8382346c3c9070e35b2dde3427818493f9b1b9a
checksums.yaml.gz.sig CHANGED
Binary file
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.1.0
1
+ 3.1.2
data/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # Karafka framework changelog
2
2
 
3
+ ## 1.4.15 (2023-06-19)
4
+
5
+ ```
6
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7
+ ~~~ CRITICAL NOTICE ON KARAFKA 1.4 reliability ~~~
8
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9
+
10
+ Karafka 1.4 is no longer supported and contains critical errors, included but not limited to:
11
+
12
+ - Double processing of messages
13
+ - Skipping messages
14
+ - Hanging during processing
15
+ - Unexpectedly stopping message processing
16
+ - Failure to deliver messages to Kafka
17
+ - Resetting the consumer group and starting from the beginning
18
+
19
+ To resolve these issues, it is highly recommended to upgrade to Karafka 2.1 or higher.
20
+
21
+ If you want to ignore this message and continue, set the I_ACCEPT_CRITICAL_ERRORS_IN_KARAFKA_1_4 env variable to true.
22
+
23
+ Apologies for any inconvenience caused by this release.
24
+ There is no other way to make sure, that you are notified about those issues and their severity.
25
+
26
+ If you need help with the upgrade, we do have a Slack channel you can join: https://slack.karafka.io/
27
+
28
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29
+ ```
30
+
31
+ ## 1.4.14 (2022-10-14)
32
+ - Fix `concurrent-ruby` missing as a dependency (Azdaroth)
33
+ - Warn about upcoming end of 1.4 support.
34
+
3
35
  ## 1.4.13 (2022-02-19)
4
36
  - Drop support for ruby 2.6
5
37
  - Add mfa requirement
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka (1.4.13)
5
- dry-configurable (~> 0.13)
4
+ karafka (1.4.14)
5
+ concurrent-ruby
6
+ dry-configurable (~> 0.16)
6
7
  dry-inflector (~> 0.2)
7
8
  dry-monitor (~> 0.5)
8
9
  dry-validation (~> 1.7)
@@ -10,18 +11,18 @@ PATH
10
11
  ruby-kafka (>= 1.3.0)
11
12
  thor (>= 1.1)
12
13
  waterdrop (~> 1.4)
13
- zeitwerk (~> 2.4)
14
+ zeitwerk (~> 2.6)
14
15
 
15
16
  GEM
16
17
  remote: https://rubygems.org/
17
18
  specs:
18
- activesupport (7.0.1)
19
+ activesupport (7.0.3)
19
20
  concurrent-ruby (~> 1.0, >= 1.0.2)
20
21
  i18n (>= 1.6, < 2)
21
22
  minitest (>= 5.1)
22
23
  tzinfo (~> 2.0)
23
24
  byebug (11.1.3)
24
- concurrent-ruby (1.1.9)
25
+ concurrent-ruby (1.1.10)
25
26
  delivery_boy (1.1.0)
26
27
  king_konf (~> 1.0)
27
28
  ruby-kafka (~> 1.0)
@@ -29,32 +30,32 @@ GEM
29
30
  digest-crc (0.6.4)
30
31
  rake (>= 12.0.0, < 14.0.0)
31
32
  docile (1.4.0)
32
- dry-configurable (0.14.0)
33
- concurrent-ruby (~> 1.0)
33
+ dry-configurable (0.16.1)
34
34
  dry-core (~> 0.6)
35
- dry-container (0.9.0)
35
+ zeitwerk (~> 2.6)
36
+ dry-container (0.11.0)
36
37
  concurrent-ruby (~> 1.0)
37
- dry-configurable (~> 0.13, >= 0.13.0)
38
- dry-core (0.7.1)
38
+ dry-core (0.8.1)
39
39
  concurrent-ruby (~> 1.0)
40
40
  dry-events (0.3.0)
41
41
  concurrent-ruby (~> 1.0)
42
42
  dry-core (~> 0.5, >= 0.5)
43
- dry-inflector (0.2.1)
43
+ dry-inflector (0.3.0)
44
44
  dry-initializer (3.1.1)
45
45
  dry-logic (1.2.0)
46
46
  concurrent-ruby (~> 1.0)
47
47
  dry-core (~> 0.5, >= 0.5)
48
- dry-monitor (0.5.0)
48
+ dry-monitor (0.6.3)
49
49
  dry-configurable (~> 0.13, >= 0.13.0)
50
50
  dry-core (~> 0.5, >= 0.5)
51
51
  dry-events (~> 0.2)
52
- dry-schema (1.9.1)
52
+ zeitwerk (~> 2.5)
53
+ dry-schema (1.10.6)
53
54
  concurrent-ruby (~> 1.0)
54
55
  dry-configurable (~> 0.13, >= 0.13.0)
55
56
  dry-core (~> 0.5, >= 0.5)
56
57
  dry-initializer (~> 3.0)
57
- dry-logic (~> 1.0)
58
+ dry-logic (~> 1.2)
58
59
  dry-types (~> 1.5)
59
60
  dry-types (1.5.1)
60
61
  concurrent-ruby (~> 1.0)
@@ -62,42 +63,42 @@ GEM
62
63
  dry-core (~> 0.5, >= 0.5)
63
64
  dry-inflector (~> 0.1, >= 0.1.2)
64
65
  dry-logic (~> 1.0, >= 1.0.2)
65
- dry-validation (1.8.0)
66
+ dry-validation (1.8.1)
66
67
  concurrent-ruby (~> 1.0)
67
68
  dry-container (~> 0.7, >= 0.7.1)
68
69
  dry-core (~> 0.5, >= 0.5)
69
70
  dry-initializer (~> 3.0)
70
- dry-schema (~> 1.9, >= 1.9.1)
71
- envlogic (1.1.4)
71
+ dry-schema (~> 1.8, >= 1.8.0)
72
+ envlogic (1.1.5)
72
73
  dry-inflector (~> 0.1)
73
- factory_bot (6.2.0)
74
+ factory_bot (6.2.1)
74
75
  activesupport (>= 5.0.0)
75
- i18n (1.9.1)
76
+ i18n (1.10.0)
76
77
  concurrent-ruby (~> 1.0)
77
- king_konf (1.0.0)
78
+ king_konf (1.0.1)
78
79
  minitest (5.15.0)
79
80
  rake (13.0.6)
80
- rspec (3.10.0)
81
- rspec-core (~> 3.10.0)
82
- rspec-expectations (~> 3.10.0)
83
- rspec-mocks (~> 3.10.0)
84
- rspec-core (3.10.2)
85
- rspec-support (~> 3.10.0)
86
- rspec-expectations (3.10.2)
81
+ rspec (3.11.0)
82
+ rspec-core (~> 3.11.0)
83
+ rspec-expectations (~> 3.11.0)
84
+ rspec-mocks (~> 3.11.0)
85
+ rspec-core (3.11.0)
86
+ rspec-support (~> 3.11.0)
87
+ rspec-expectations (3.11.0)
87
88
  diff-lcs (>= 1.2.0, < 2.0)
88
- rspec-support (~> 3.10.0)
89
- rspec-mocks (3.10.3)
89
+ rspec-support (~> 3.11.0)
90
+ rspec-mocks (3.11.1)
90
91
  diff-lcs (>= 1.2.0, < 2.0)
91
- rspec-support (~> 3.10.0)
92
- rspec-support (3.10.3)
93
- ruby-kafka (1.4.0)
92
+ rspec-support (~> 3.11.0)
93
+ rspec-support (3.11.0)
94
+ ruby-kafka (1.5.0)
94
95
  digest-crc
95
96
  simplecov (0.21.2)
96
97
  docile (~> 1.1)
97
98
  simplecov-html (~> 0.11)
98
99
  simplecov_json_formatter (~> 0.1)
99
100
  simplecov-html (0.12.3)
100
- simplecov_json_formatter (0.1.3)
101
+ simplecov_json_formatter (0.1.4)
101
102
  thor (1.2.1)
102
103
  tzinfo (2.0.4)
103
104
  concurrent-ruby (~> 1.0)
@@ -108,10 +109,10 @@ GEM
108
109
  dry-validation (~> 1.7)
109
110
  ruby-kafka (>= 1.3.0)
110
111
  zeitwerk (~> 2.4)
111
- zeitwerk (2.5.4)
112
+ zeitwerk (2.6.1)
112
113
 
113
114
  PLATFORMS
114
- x86_64-darwin
115
+ x86_64-darwin-18
115
116
  x86_64-linux
116
117
 
117
118
  DEPENDENCIES
@@ -122,4 +123,4 @@ DEPENDENCIES
122
123
  simplecov
123
124
 
124
125
  BUNDLED WITH
125
- 2.3.6
126
+ 2.3.11
data/README.md CHANGED
@@ -1,98 +1,21 @@
1
- ![karafka logo](https://raw.githubusercontent.com/karafka/misc/master/logo/karafka_logotype_transparent2.png)
1
+ ## CRITICAL NOTICE ON KARAFKA 1.4 reliability
2
2
 
3
- [![Build Status](https://github.com/karafka/karafka/actions/workflows/ci.yml/badge.svg)](https://github.com/karafka/karafka/actions/workflows/ci.yml)
4
- [![Gem Version](https://badge.fury.io/rb/karafka.svg)](http://badge.fury.io/rb/karafka)
5
- [![Join the chat at https://slack.karafka.io](https://raw.githubusercontent.com/karafka/misc/master/slack.svg)](https://slack.karafka.io)
3
+ You are looking at the `1.4` version of Karafka that is no longer supported.
6
4
 
7
- **Note**: We're finishing the new Karafka `2.0` but for now, please use `1.4`. All the documentation presented here refers to `1.4`
5
+ Karafka `1.4` is no longer supported and contains critical errors, included but not limited to:
8
6
 
9
- ## About Karafka
7
+ - Double processing of messages
8
+ - Skipping messages
9
+ - Hanging during processing
10
+ - Unexpectedly stopping message processing
11
+ - Failure to deliver messages to Kafka
12
+ - Resetting the consumer group and starting from the beginning
10
13
 
11
- Framework used to simplify Apache Kafka based Ruby applications development.
14
+ To resolve these issues, it is highly recommended to upgrade to Karafka 2.1 or higher.
12
15
 
13
- ```ruby
14
- # Define what topics you want to consume with which consumers
15
- Karafka::App.consumer_groups.draw do
16
- topic 'system_events' do
17
- consumer EventsConsumer
18
- end
19
- end
16
+ If you want to ignore this message and continue, set the I_ACCEPT_CRITICAL_ERRORS_IN_KARAFKA_1_4 env variable to true.
20
17
 
21
- # And create your consumers, within which your messages will be processed
22
- class EventsConsumer < ApplicationConsumer
23
- # Example that utilizes ActiveRecord#insert_all and Karafka batch processing
24
- def consume
25
- # Store all of the incoming Kafka events locally in an efficient way
26
- Event.insert_all params_batch.payloads
27
- end
28
- end
29
- ```
18
+ Apologies for any inconvenience caused by this release.
19
+ There is no other way to make sure, that you are notified about those issues and their severity.
30
20
 
31
- Karafka allows you to capture everything that happens in your systems in large scale, providing you with a seamless and stable core for consuming and processing this data, without having to focus on things that are not your business domain.
32
-
33
- Karafka not only handles incoming messages but also provides tools for building complex data-flow applications that receive and send messages.
34
-
35
- ## How does it work
36
-
37
- Karafka provides a higher-level abstraction that allows you to focus on your business logic development, instead of focusing on implementing lower level abstraction layers. It provides developers with a set of tools that are dedicated for building multi-topic applications similar to how Rails applications are being built.
38
-
39
- ### Some things you might wonder about:
40
-
41
- - You can integrate Karafka with **any** Ruby-based application.
42
- - Karafka does **not** require Sidekiq or any other third party software (apart from Kafka itself).
43
- - Karafka works with Ruby on Rails but it is a **standalone** framework that can work without it.
44
- - Karafka has a **minimal** set of dependencies, so adding it won't be a huge burden for your already existing applications.
45
- - Karafka processes can be executed for a **given subset** of consumer groups and/or topics, so you can fine tune it depending on your business logic.
46
-
47
- Karafka based applications can be easily deployed to any type of infrastructure, including those based on:
48
-
49
- * Heroku
50
- * Capistrano
51
- * Docker
52
- * Terraform
53
-
54
- ## Support
55
-
56
- Karafka has [Wiki pages](https://github.com/karafka/karafka/wiki) for almost everything and a pretty decent [FAQ](https://github.com/karafka/karafka/wiki/FAQ). It covers the whole installation, setup, and deployment along with other useful details on how to run Karafka.
57
-
58
- If you have any questions about using Karafka, feel free to join our [Gitter](https://gitter.im/karafka/karafka) chat channel.
59
-
60
- ## Getting started
61
-
62
- If you're completely new to the subject, you can start with our "Kafka on Rails" articles series, that will get you up and running with the terminology and basic ideas behind using Kafka:
63
-
64
- - [Kafka on Rails: Using Kafka with Ruby on Rails – Part 1 – Kafka basics and its advantages](https://mensfeld.pl/2017/11/kafka-on-rails-using-kafka-with-ruby-on-rails-part-1-kafka-basics-and-its-advantages/)
65
- - [Kafka on Rails: Using Kafka with Ruby on Rails – Part 2 – Getting started with Ruby and Kafka](https://mensfeld.pl/2018/01/kafka-on-rails-using-kafka-with-ruby-on-rails-part-2-getting-started-with-ruby-and-kafka/)
66
-
67
- If you want to get started with Kafka and Karafka as fast as possible, then the best idea is to just clone our example repository:
68
-
69
- ```bash
70
- git clone https://github.com/karafka/example-app ./example_app
71
- ```
72
-
73
- then, just bundle install all the dependencies:
74
-
75
- ```bash
76
- cd ./example_app
77
- bundle install
78
- ```
79
-
80
- and follow the instructions from the [example app Wiki](https://github.com/karafka/example-app/blob/master/README.md).
81
-
82
- **Note**: you need to ensure, that you have Kafka up and running and you need to configure Kafka seed_brokers in the ```karafka.rb``` file.
83
-
84
- If you need more details and know how on how to start Karafka with a clean installation, read the [Getting started page](https://github.com/karafka/karafka/wiki/Getting-started) section of our Wiki.
85
-
86
- ## References
87
-
88
- * [Karafka framework](https://github.com/karafka/karafka)
89
- * [Karafka GitHub Actions](https://github.com/karafka/karafka/actions)
90
- * [Karafka Coditsu](https://app.coditsu.io/karafka/repositories/karafka)
91
-
92
- ## Note on contributions
93
-
94
- First, thank you for considering contributing to the Karafka ecosystem! It's people like you that make the open source community such a great community!
95
-
96
- Each pull request must pass all the RSpec specs, integration tests and meet our quality requirements.
97
-
98
- Fork it, update and wait for the Github Actions results.
21
+ If you need help with the upgrade, we do have a Slack channel you can join: https://slack.karafka.io/
data/certs/mensfeld.pem CHANGED
@@ -1,25 +1,26 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIEODCCAqCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhtYWNp
3
- ZWovREM9bWVuc2ZlbGQvREM9cGwwHhcNMjEwODExMTQxNTEzWhcNMjIwODExMTQx
4
- NTEzWjAjMSEwHwYDVQQDDBhtYWNpZWovREM9bWVuc2ZlbGQvREM9cGwwggGiMA0G
5
- CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDV2jKH4Ti87GM6nyT6D+ESzTI0MZDj
6
- ak2/TEwnxvijMJyCCPKT/qIkbW4/f0VHM4rhPr1nW73sb5SZBVFCLlJcOSKOBdUY
7
- TMY+SIXN2EtUaZuhAOe8LxtxjHTgRHvHcqUQMBENXTISNzCo32LnUxweu66ia4Pd
8
- 1mNRhzOqNv9YiBZvtBf7IMQ+sYdOCjboq2dlsWmJiwiDpY9lQBTnWORnT3mQxU5x
9
- vPSwnLB854cHdCS8fQo4DjeJBRZHhEbcE5sqhEMB3RZA3EtFVEXOxlNxVTS3tncI
10
- qyNXiWDaxcipaens4ObSY1C2HTV7OWb7OMqSCIybeYTSfkaSdqmcl4S6zxXkjH1J
11
- tnjayAVzD+QVXGijsPLE2PFnJAh9iDET2cMsjabO1f6l1OQNyAtqpcyQcgfnyW0z
12
- g7tGxTYD+6wJHffM9d9txOUw6djkF6bDxyqB8lo4Z3IObCx18AZjI9XPS9QG7w6q
13
- LCWuMG2lkCcRgASqaVk9fEf9yMc2xxz5o3kCAwEAAaN3MHUwCQYDVR0TBAIwADAL
14
- BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFBqUFCKCOe5IuueUVqOB991jyCLLMB0GA1Ud
15
- EQQWMBSBEm1hY2llakBtZW5zZmVsZC5wbDAdBgNVHRIEFjAUgRJtYWNpZWpAbWVu
16
- c2ZlbGQucGwwDQYJKoZIhvcNAQELBQADggGBADD0/UuTTFgW+CGk2U0RDw2RBOca
17
- W2LTF/G7AOzuzD0Tc4voc7WXyrgKwJREv8rgBimLnNlgmFJLmtUCh2U/MgxvcilH
18
- yshYcbseNvjkrtYnLRlWZR4SSB6Zei5AlyGVQLPkvdsBpNegcG6w075YEwzX/38a
19
- 8V9B/Yri2OGELBz8ykl7BsXUgNoUPA/4pHF6YRLz+VirOaUIQ4JfY7xGj6fSOWWz
20
- /rQ/d77r6o1mfJYM/3BRVg73a3b7DmRnE5qjwmSaSQ7u802pJnLesmArch0xGCT/
21
- fMmRli1Qb+6qOTl9mzD6UDMAyFR4t6MStLm0mIEqM0nBO5nUdUWbC7l9qXEf8XBE
22
- 2DP28p3EqSuS+lKbAWKcqv7t0iRhhmaod+Yn9mcrLN1sa3q3KSQ9BCyxezCD4Mk2
23
- R2P11bWoCtr70BsccVrN8jEhzwXngMyI2gVt750Y+dbTu1KgRqZKp/ECe7ZzPzXj
24
- pIy9vHxTANKYVyI4qj8OrFdEM5BQNu8oQpL0iQ==
2
+ MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
3
+ YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
4
+ MB4XDTIyMDgxOTE3MjEzN1oXDTIzMDgxOTE3MjEzN1owPzEQMA4GA1UEAwwHY29u
5
+ dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
6
+ bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAODzeO3L6lxdATzMHKNW
7
+ jFA/GGunoPuylO/BMzy8RiQHh7VIvysAKs0tHhTx3g2D0STDpF+hcQcPELFikiT2
8
+ F+1wOHj/SsrK7VKqfA8+gq04hKc5sQoX2Egf9k3V0YJ3eZ6R/koHkQ8A0TVt0w6F
9
+ ZQckoV4MqnEAx0g/FZN3mnHTlJ3VFLSBqJEIe+S6FZMl92mSv+hTrlUG8VaYxSfN
10
+ lTCvnKk284F6QZq5XIENLRmcDd/3aPBLnLwNnyMyhB+6gK8cUO+CFlDO5tjo/aBA
11
+ rUnl++wGG0JooF1ed0v+evOn9KoMBG6rHewcf79qJbVOscbD8qSAmo+sCXtcFryr
12
+ KRMTB8gNbowJkFRJDEe8tfRy11u1fYzFg/qNO82FJd62rKAw2wN0C29yCeQOPRb1
13
+ Cw9Y4ZwK9VFNEcV9L+3pHTHn2XfuZHtDaG198VweiF6raFO4yiEYccodH/USP0L5
14
+ cbcCFtmu/4HDSxL1ByQXO84A0ybJuk3/+aPUSXe9C9U8fwIDAQABo3cwdTAJBgNV
15
+ HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUSlcEakb7gfn/5E2WY6z73BF/
16
+ iZkwHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
17
+ bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEA1aS+E7RXJ1w9g9mJ
18
+ G0NzFxe64OEuENosNlvYQCbRKGCXAU1qqelYkBQHseRgRKxLICrnypRo9IEobyHa
19
+ vDnJ4r7Tsb34dleqQW2zY/obG+cia3Ym2JsegXWF7dDOzCXJ4FN8MFoT2jHlqLLw
20
+ yrap0YO5zx0GSQ0Dwy8h2n2v2vanMEeCx7iNm3ERgR5WuN5sjzWoz2A/JLEEcK0C
21
+ EnAGKCWAd1fuG8IemDjT1edsd5FyYR4bIX0m+99oDuFZyPiiIbalmyYiSBBp59Yb
22
+ Q0P8zeBi4OfwCZNcxqz0KONmw9JLNv6DgyEAH5xe/4JzhMEgvIRiPj0pHfA7oqQF
23
+ KUNqvD1KlxbEC+bZfE5IZhnqYLdld/Ksqd22FI1RBhiS1Ejfsj99LVIm9cBuZEY2
24
+ Qf04B9ceLUaC4fPVEz10FyobjaFoY4i32xRto3XnrzeAgfEe4swLq8bQsR3w/EF3
25
+ MGU0FeSV2Yj7Xc2x/7BzLK8xQn5l7Yy75iPF+KP3vVmDHnNl
25
26
  -----END CERTIFICATE-----
data/karafka.gemspec CHANGED
@@ -17,7 +17,8 @@ Gem::Specification.new do |spec|
17
17
  spec.description = 'Framework used to simplify Apache Kafka based Ruby applications development'
18
18
  spec.license = 'MIT'
19
19
 
20
- spec.add_dependency 'dry-configurable', '~> 0.13'
20
+ spec.add_dependency 'concurrent-ruby'
21
+ spec.add_dependency 'dry-configurable', '~> 0.16'
21
22
  spec.add_dependency 'dry-inflector', '~> 0.2'
22
23
  spec.add_dependency 'dry-monitor', '~> 0.5'
23
24
  spec.add_dependency 'dry-validation', '~> 1.7'
@@ -25,7 +26,7 @@ Gem::Specification.new do |spec|
25
26
  spec.add_dependency 'ruby-kafka', '>= 1.3.0'
26
27
  spec.add_dependency 'thor', '>= 1.1'
27
28
  spec.add_dependency 'waterdrop', '~> 1.4'
28
- spec.add_dependency 'zeitwerk', '~> 2.4'
29
+ spec.add_dependency 'zeitwerk', '~> 2.6'
29
30
 
30
31
  spec.required_ruby_version = '>= 2.7'
31
32
 
@@ -37,6 +38,11 @@ Gem::Specification.new do |spec|
37
38
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec)/}) }
38
39
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
39
40
  spec.require_paths = %w[lib]
41
+ spec.post_install_message = <<~MSG
42
+ WARN: Karafka 1.4 will reach the end of life soon.
43
+ We highly recommend updating to Karafka 2.0.
44
+ Visit this page for more details: https://karafka.io/docs/Versions-Lifecycle-and-EOL
45
+ MSG
40
46
 
41
47
  spec.metadata = {
42
48
  'source_code_uri' => 'https://github.com/karafka/karafka',
@@ -3,5 +3,5 @@
3
3
  # Main module namespace
4
4
  module Karafka
5
5
  # Current Karafka version
6
- VERSION = '1.4.13'
6
+ VERSION = '1.4.15'
7
7
  end
data/lib/karafka.rb CHANGED
@@ -10,6 +10,7 @@
10
10
  thor
11
11
  forwardable
12
12
  fileutils
13
+ concurrent
13
14
  dry-configurable
14
15
  dry-validation
15
16
  dry/events/publisher
@@ -19,6 +20,36 @@
19
20
  zeitwerk
20
21
  ].each(&method(:require))
21
22
 
23
+ unless ENV.key?('I_ACCEPT_CRITICAL_ERRORS_IN_KARAFKA_1_4')
24
+ 3.times { puts }
25
+ puts '~' * 50
26
+ puts "~~~ \033[31mCRITICAL\033[0m NOTICE ON KARAFKA 1.4 reliability ~~~"
27
+ puts '~' * 50
28
+ puts
29
+ puts 'Karafka 1.4 is no longer supported and contains critical errors, included but not limited to:'
30
+ puts
31
+ puts ' - Double processing of messages'
32
+ puts ' - Skipping messages'
33
+ puts ' - Hanging during processing'
34
+ puts ' - Unexpectedly stopping message processing'
35
+ puts ' - Failure to deliver messages to Kafka'
36
+ puts ' - Resetting the consumer group and starting from the beginning'
37
+ puts
38
+ puts 'To resolve these issues, it is highly recommended to upgrade to Karafka 2.1 or higher.'
39
+ puts
40
+ puts 'If you want to ignore this message and continue, set the I_ACCEPT_CRITICAL_ERRORS_IN_KARAFKA_1_4 env variable to true.'
41
+ puts
42
+ puts 'Apologies for any inconvenience caused by this release.'
43
+ puts 'There is no other way to make sure, that you are notified about those issues and their severity.'
44
+ puts
45
+ puts 'If you need help with the upgrade, we do have a Slack channel you can join: https://slack.karafka.io/'
46
+ puts
47
+ puts '~' * 50
48
+ puts
49
+
50
+ raise RuntimeError
51
+ end
52
+
22
53
  # Karafka library
23
54
  module Karafka
24
55
  extend Envlogic
data.tar.gz.sig CHANGED
Binary file
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.4.13
4
+ version: 1.4.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -12,46 +12,61 @@ bindir: bin
12
12
  cert_chain:
13
13
  - |
14
14
  -----BEGIN CERTIFICATE-----
15
- MIIEODCCAqCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhtYWNp
16
- ZWovREM9bWVuc2ZlbGQvREM9cGwwHhcNMjEwODExMTQxNTEzWhcNMjIwODExMTQx
17
- NTEzWjAjMSEwHwYDVQQDDBhtYWNpZWovREM9bWVuc2ZlbGQvREM9cGwwggGiMA0G
18
- CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDV2jKH4Ti87GM6nyT6D+ESzTI0MZDj
19
- ak2/TEwnxvijMJyCCPKT/qIkbW4/f0VHM4rhPr1nW73sb5SZBVFCLlJcOSKOBdUY
20
- TMY+SIXN2EtUaZuhAOe8LxtxjHTgRHvHcqUQMBENXTISNzCo32LnUxweu66ia4Pd
21
- 1mNRhzOqNv9YiBZvtBf7IMQ+sYdOCjboq2dlsWmJiwiDpY9lQBTnWORnT3mQxU5x
22
- vPSwnLB854cHdCS8fQo4DjeJBRZHhEbcE5sqhEMB3RZA3EtFVEXOxlNxVTS3tncI
23
- qyNXiWDaxcipaens4ObSY1C2HTV7OWb7OMqSCIybeYTSfkaSdqmcl4S6zxXkjH1J
24
- tnjayAVzD+QVXGijsPLE2PFnJAh9iDET2cMsjabO1f6l1OQNyAtqpcyQcgfnyW0z
25
- g7tGxTYD+6wJHffM9d9txOUw6djkF6bDxyqB8lo4Z3IObCx18AZjI9XPS9QG7w6q
26
- LCWuMG2lkCcRgASqaVk9fEf9yMc2xxz5o3kCAwEAAaN3MHUwCQYDVR0TBAIwADAL
27
- BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFBqUFCKCOe5IuueUVqOB991jyCLLMB0GA1Ud
28
- EQQWMBSBEm1hY2llakBtZW5zZmVsZC5wbDAdBgNVHRIEFjAUgRJtYWNpZWpAbWVu
29
- c2ZlbGQucGwwDQYJKoZIhvcNAQELBQADggGBADD0/UuTTFgW+CGk2U0RDw2RBOca
30
- W2LTF/G7AOzuzD0Tc4voc7WXyrgKwJREv8rgBimLnNlgmFJLmtUCh2U/MgxvcilH
31
- yshYcbseNvjkrtYnLRlWZR4SSB6Zei5AlyGVQLPkvdsBpNegcG6w075YEwzX/38a
32
- 8V9B/Yri2OGELBz8ykl7BsXUgNoUPA/4pHF6YRLz+VirOaUIQ4JfY7xGj6fSOWWz
33
- /rQ/d77r6o1mfJYM/3BRVg73a3b7DmRnE5qjwmSaSQ7u802pJnLesmArch0xGCT/
34
- fMmRli1Qb+6qOTl9mzD6UDMAyFR4t6MStLm0mIEqM0nBO5nUdUWbC7l9qXEf8XBE
35
- 2DP28p3EqSuS+lKbAWKcqv7t0iRhhmaod+Yn9mcrLN1sa3q3KSQ9BCyxezCD4Mk2
36
- R2P11bWoCtr70BsccVrN8jEhzwXngMyI2gVt750Y+dbTu1KgRqZKp/ECe7ZzPzXj
37
- pIy9vHxTANKYVyI4qj8OrFdEM5BQNu8oQpL0iQ==
15
+ MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MRAwDgYDVQQDDAdjb250
16
+ YWN0MRcwFQYKCZImiZPyLGQBGRYHa2FyYWZrYTESMBAGCgmSJomT8ixkARkWAmlv
17
+ MB4XDTIyMDgxOTE3MjEzN1oXDTIzMDgxOTE3MjEzN1owPzEQMA4GA1UEAwwHY29u
18
+ dGFjdDEXMBUGCgmSJomT8ixkARkWB2thcmFma2ExEjAQBgoJkiaJk/IsZAEZFgJp
19
+ bzCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAODzeO3L6lxdATzMHKNW
20
+ jFA/GGunoPuylO/BMzy8RiQHh7VIvysAKs0tHhTx3g2D0STDpF+hcQcPELFikiT2
21
+ F+1wOHj/SsrK7VKqfA8+gq04hKc5sQoX2Egf9k3V0YJ3eZ6R/koHkQ8A0TVt0w6F
22
+ ZQckoV4MqnEAx0g/FZN3mnHTlJ3VFLSBqJEIe+S6FZMl92mSv+hTrlUG8VaYxSfN
23
+ lTCvnKk284F6QZq5XIENLRmcDd/3aPBLnLwNnyMyhB+6gK8cUO+CFlDO5tjo/aBA
24
+ rUnl++wGG0JooF1ed0v+evOn9KoMBG6rHewcf79qJbVOscbD8qSAmo+sCXtcFryr
25
+ KRMTB8gNbowJkFRJDEe8tfRy11u1fYzFg/qNO82FJd62rKAw2wN0C29yCeQOPRb1
26
+ Cw9Y4ZwK9VFNEcV9L+3pHTHn2XfuZHtDaG198VweiF6raFO4yiEYccodH/USP0L5
27
+ cbcCFtmu/4HDSxL1ByQXO84A0ybJuk3/+aPUSXe9C9U8fwIDAQABo3cwdTAJBgNV
28
+ HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUSlcEakb7gfn/5E2WY6z73BF/
29
+ iZkwHQYDVR0RBBYwFIESY29udGFjdEBrYXJhZmthLmlvMB0GA1UdEgQWMBSBEmNv
30
+ bnRhY3RAa2FyYWZrYS5pbzANBgkqhkiG9w0BAQsFAAOCAYEA1aS+E7RXJ1w9g9mJ
31
+ G0NzFxe64OEuENosNlvYQCbRKGCXAU1qqelYkBQHseRgRKxLICrnypRo9IEobyHa
32
+ vDnJ4r7Tsb34dleqQW2zY/obG+cia3Ym2JsegXWF7dDOzCXJ4FN8MFoT2jHlqLLw
33
+ yrap0YO5zx0GSQ0Dwy8h2n2v2vanMEeCx7iNm3ERgR5WuN5sjzWoz2A/JLEEcK0C
34
+ EnAGKCWAd1fuG8IemDjT1edsd5FyYR4bIX0m+99oDuFZyPiiIbalmyYiSBBp59Yb
35
+ Q0P8zeBi4OfwCZNcxqz0KONmw9JLNv6DgyEAH5xe/4JzhMEgvIRiPj0pHfA7oqQF
36
+ KUNqvD1KlxbEC+bZfE5IZhnqYLdld/Ksqd22FI1RBhiS1Ejfsj99LVIm9cBuZEY2
37
+ Qf04B9ceLUaC4fPVEz10FyobjaFoY4i32xRto3XnrzeAgfEe4swLq8bQsR3w/EF3
38
+ MGU0FeSV2Yj7Xc2x/7BzLK8xQn5l7Yy75iPF+KP3vVmDHnNl
38
39
  -----END CERTIFICATE-----
39
- date: 2022-02-19 00:00:00.000000000 Z
40
+ date: 2023-06-19 00:00:00.000000000 Z
40
41
  dependencies:
42
+ - !ruby/object:Gem::Dependency
43
+ name: concurrent-ruby
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
41
56
  - !ruby/object:Gem::Dependency
42
57
  name: dry-configurable
43
58
  requirement: !ruby/object:Gem::Requirement
44
59
  requirements:
45
60
  - - "~>"
46
61
  - !ruby/object:Gem::Version
47
- version: '0.13'
62
+ version: '0.16'
48
63
  type: :runtime
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
52
67
  - - "~>"
53
68
  - !ruby/object:Gem::Version
54
- version: '0.13'
69
+ version: '0.16'
55
70
  - !ruby/object:Gem::Dependency
56
71
  name: dry-inflector
57
72
  requirement: !ruby/object:Gem::Requirement
@@ -156,14 +171,14 @@ dependencies:
156
171
  requirements:
157
172
  - - "~>"
158
173
  - !ruby/object:Gem::Version
159
- version: '2.4'
174
+ version: '2.6'
160
175
  type: :runtime
161
176
  prerelease: false
162
177
  version_requirements: !ruby/object:Gem::Requirement
163
178
  requirements:
164
179
  - - "~>"
165
180
  - !ruby/object:Gem::Version
166
- version: '2.4'
181
+ version: '2.6'
167
182
  description: Framework used to simplify Apache Kafka based Ruby applications development
168
183
  email:
169
184
  - maciej@mensfeld.pl
@@ -278,7 +293,10 @@ licenses:
278
293
  metadata:
279
294
  source_code_uri: https://github.com/karafka/karafka
280
295
  rubygems_mfa_required: 'true'
281
- post_install_message:
296
+ post_install_message: |
297
+ WARN: Karafka 1.4 will reach the end of life soon.
298
+ We highly recommend updating to Karafka 2.0.
299
+ Visit this page for more details: https://karafka.io/docs/Versions-Lifecycle-and-EOL
282
300
  rdoc_options: []
283
301
  require_paths:
284
302
  - lib
@@ -293,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
293
311
  - !ruby/object:Gem::Version
294
312
  version: '0'
295
313
  requirements: []
296
- rubygems_version: 3.3.3
314
+ rubygems_version: 3.3.4
297
315
  signing_key:
298
316
  specification_version: 4
299
317
  summary: Ruby based framework for working with Apache Kafka
metadata.gz.sig CHANGED
Binary file