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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +32 -0
- data/Gemfile.lock +37 -36
- data/README.md +14 -91
- data/certs/mensfeld.pem +24 -23
- data/karafka.gemspec +8 -2
- data/lib/karafka/version.rb +1 -1
- data/lib/karafka.rb +31 -0
- data.tar.gz.sig +0 -0
- metadata +49 -31
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 611ba9b66a65ca5ba6b0b39201b416d522bfd4fcef20d7241fa64337f9b34431
|
4
|
+
data.tar.gz: 0bb87fe1569b54d03b42d2921b03f722fc6996f46d94c4ff1037896a42d9c7b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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.
|
5
|
-
|
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.
|
14
|
+
zeitwerk (~> 2.6)
|
14
15
|
|
15
16
|
GEM
|
16
17
|
remote: https://rubygems.org/
|
17
18
|
specs:
|
18
|
-
activesupport (7.0.
|
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.
|
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.
|
33
|
-
concurrent-ruby (~> 1.0)
|
33
|
+
dry-configurable (0.16.1)
|
34
34
|
dry-core (~> 0.6)
|
35
|
-
|
35
|
+
zeitwerk (~> 2.6)
|
36
|
+
dry-container (0.11.0)
|
36
37
|
concurrent-ruby (~> 1.0)
|
37
|
-
|
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.
|
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.
|
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
|
-
|
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.
|
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.
|
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.
|
71
|
-
envlogic (1.1.
|
71
|
+
dry-schema (~> 1.8, >= 1.8.0)
|
72
|
+
envlogic (1.1.5)
|
72
73
|
dry-inflector (~> 0.1)
|
73
|
-
factory_bot (6.2.
|
74
|
+
factory_bot (6.2.1)
|
74
75
|
activesupport (>= 5.0.0)
|
75
|
-
i18n (1.
|
76
|
+
i18n (1.10.0)
|
76
77
|
concurrent-ruby (~> 1.0)
|
77
|
-
king_konf (1.0.
|
78
|
+
king_konf (1.0.1)
|
78
79
|
minitest (5.15.0)
|
79
80
|
rake (13.0.6)
|
80
|
-
rspec (3.
|
81
|
-
rspec-core (~> 3.
|
82
|
-
rspec-expectations (~> 3.
|
83
|
-
rspec-mocks (~> 3.
|
84
|
-
rspec-core (3.
|
85
|
-
rspec-support (~> 3.
|
86
|
-
rspec-expectations (3.
|
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.
|
89
|
-
rspec-mocks (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.
|
92
|
-
rspec-support (3.
|
93
|
-
ruby-kafka (1.
|
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.
|
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.
|
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.
|
126
|
+
2.3.11
|
data/README.md
CHANGED
@@ -1,98 +1,21 @@
|
|
1
|
-
|
1
|
+
## CRITICAL NOTICE ON KARAFKA 1.4 reliability
|
2
2
|
|
3
|
-
|
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
|
-
|
5
|
+
Karafka `1.4` is no longer supported and contains critical errors, included but not limited to:
|
8
6
|
|
9
|
-
|
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
|
-
|
14
|
+
To resolve these issues, it is highly recommended to upgrade to Karafka 2.1 or higher.
|
12
15
|
|
13
|
-
|
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
|
-
|
22
|
-
|
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
|
-
|
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
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
/
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
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 '
|
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.
|
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',
|
data/lib/karafka/version.rb
CHANGED
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.
|
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
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
/
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
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:
|
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.
|
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.
|
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.
|
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.
|
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.
|
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
|