sbmt-kafka_consumer 3.3.1 → 3.4.0
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 +4 -4
- data/CHANGELOG.md +20 -3
- data/lib/sbmt/kafka_consumer/base_consumer.rb +2 -1
- data/lib/sbmt/kafka_consumer/inbox_consumer.rb +8 -3
- data/lib/sbmt/kafka_consumer/instrumentation/logger_listener.rb +7 -1
- data/lib/sbmt/kafka_consumer/version.rb +1 -1
- data/sbmt-kafka_consumer.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 114637de2c62e2a36a3221b5f754d2df112956b2083732bc21f2addffbe6b1df
|
4
|
+
data.tar.gz: d119ec787d1129ba9872dfd4d3a64ae6b2cc0f0f9fa8abe32e7da4210d356e34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9158965a771af77ece756acbba753098f76a77f557813dfcd6256121d38054985ea7d251b05c21bfdca0ed0111305ef17bca3c54e1b3c1859a88e220c4712d9
|
7
|
+
data.tar.gz: 89c5aebdd80c7f72169880491727ba22bdb6d9d22d85b01c8d489a36d94dea971d878b4fec3dae9b6a251c700d41709274924466a812b0659f54c93cba3abecc
|
data/CHANGELOG.md
CHANGED
@@ -13,6 +13,23 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
13
13
|
|
14
14
|
### Fixed
|
15
15
|
|
16
|
+
## [3.4.0] - 2025-01-27
|
17
|
+
|
18
|
+
### Added
|
19
|
+
|
20
|
+
- Added support for warning log level in LoggerListener error handling
|
21
|
+
- Consider duplicate messages as warnings in logs
|
22
|
+
|
23
|
+
### Changed
|
24
|
+
|
25
|
+
### Fixed
|
26
|
+
|
27
|
+
## [3.3.2] - 2024-12-27
|
28
|
+
|
29
|
+
### Fixed
|
30
|
+
|
31
|
+
- Fix gemspec URL
|
32
|
+
|
16
33
|
## [3.3.1] - 2024-12-26
|
17
34
|
|
18
35
|
### Fixed
|
@@ -26,20 +43,20 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
26
43
|
- inheritance of kafka settings for topic
|
27
44
|
|
28
45
|
### Fixed
|
29
|
-
|
46
|
+
|
30
47
|
- support `karafka 2.4.12`
|
31
48
|
- properly report metrics for consumer offset lag when partition fetch assignment was lost
|
32
49
|
|
33
50
|
## [3.2.2] - 2024-09-23
|
34
51
|
|
35
52
|
### Fixed
|
36
|
-
|
53
|
+
|
37
54
|
- log OTEL `trace_id`
|
38
55
|
|
39
56
|
## [3.2.1] - 2024-09-20
|
40
57
|
|
41
58
|
### Fixed
|
42
|
-
|
59
|
+
|
43
60
|
- Limit Karafka version to less than 2.4.12 since `bootstrap.servers` has been made required
|
44
61
|
|
45
62
|
## [3.2.0] - 2024-09-17
|
@@ -56,7 +56,7 @@ module Sbmt
|
|
56
56
|
item = result.success
|
57
57
|
item.track_metrics_after_consume if item.respond_to?(:track_metrics_after_consume)
|
58
58
|
rescue ActiveRecord::RecordNotUnique
|
59
|
-
|
59
|
+
instrument_warn("Skipped duplicate message for #{inbox_name}, message_uuid: #{message_uuid(message)}", message, "duplicate")
|
60
60
|
rescue => ex
|
61
61
|
if skip_on_error
|
62
62
|
logger.warn("skipping unprocessable message for #{inbox_name}, message_uuid: #{message_uuid(message)}")
|
@@ -108,7 +108,7 @@ module Sbmt
|
|
108
108
|
inbox_item_class.box_name
|
109
109
|
end
|
110
110
|
|
111
|
-
def instrument_error(error, message, status = "failure")
|
111
|
+
def instrument_error(error, message, status = "failure", log_level: :error)
|
112
112
|
::Sbmt::KafkaConsumer.monitor.instrument(
|
113
113
|
"error.occurred",
|
114
114
|
error: error,
|
@@ -117,9 +117,14 @@ module Sbmt
|
|
117
117
|
inbox_name: inbox_name,
|
118
118
|
event_name: event_name,
|
119
119
|
status: status,
|
120
|
-
type: "consumer.inbox.consume_one"
|
120
|
+
type: "consumer.inbox.consume_one",
|
121
|
+
log_level: log_level
|
121
122
|
)
|
122
123
|
end
|
124
|
+
|
125
|
+
def instrument_warn(*args, **kwargs)
|
126
|
+
instrument_error(*args, **kwargs, log_level: :warn)
|
127
|
+
end
|
123
128
|
end
|
124
129
|
end
|
125
130
|
end
|
@@ -6,6 +6,7 @@ module Sbmt
|
|
6
6
|
class LoggerListener < Karafka::Instrumentation::LoggerListener
|
7
7
|
include ListenerHelper
|
8
8
|
CUSTOM_ERROR_TYPES = %w[consumer.base.consume_one consumer.inbox.consume_one].freeze
|
9
|
+
VALID_LOG_LEVELS = %i[error warn].freeze
|
9
10
|
|
10
11
|
def on_error_occurred(event)
|
11
12
|
type = event[:type]
|
@@ -23,7 +24,12 @@ module Sbmt
|
|
23
24
|
stacktrace: log_backtrace(error),
|
24
25
|
**tags
|
25
26
|
) do
|
26
|
-
|
27
|
+
log_level = event[:log_level] || :error
|
28
|
+
if VALID_LOG_LEVELS.include?(log_level)
|
29
|
+
logger.public_send(log_level, error_message(error))
|
30
|
+
else
|
31
|
+
raise "Invalid log level #{log_level}"
|
32
|
+
end
|
27
33
|
end
|
28
34
|
end
|
29
35
|
|
data/sbmt-kafka_consumer.gemspec
CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.homepage = "https://github.com/Kuper-Tech/sbmt-kafka_consumer"
|
14
14
|
spec.required_ruby_version = ">= 3.0.0"
|
15
15
|
|
16
|
-
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
16
|
+
spec.metadata["allowed_push_host"] = ENV.fetch("NEXUS_URL", "https://rubygems.org")
|
17
17
|
|
18
18
|
spec.metadata["homepage_uri"] = spec.homepage
|
19
19
|
spec.metadata["source_code_uri"] = spec.homepage
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sbmt-kafka_consumer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kuper Ruby-Platform Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -565,7 +565,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
565
565
|
- !ruby/object:Gem::Version
|
566
566
|
version: '0'
|
567
567
|
requirements: []
|
568
|
-
rubygems_version: 3.
|
568
|
+
rubygems_version: 3.5.21
|
569
569
|
signing_key:
|
570
570
|
specification_version: 4
|
571
571
|
summary: Ruby gem for consuming Kafka messages
|