karafka 2.4.16 → 2.4.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +5 -0
  4. data/Gemfile.lock +2 -2
  5. data/LICENSE +7 -2
  6. data/lib/karafka/base_consumer.rb +7 -7
  7. data/lib/karafka/instrumentation/notifications.rb +1 -0
  8. data/lib/karafka/pro/active_job/consumer.rb +2 -10
  9. data/lib/karafka/pro/active_job/dispatcher.rb +2 -10
  10. data/lib/karafka/pro/active_job/job_options_contract.rb +2 -10
  11. data/lib/karafka/pro/base_consumer.rb +2 -10
  12. data/lib/karafka/pro/cleaner/errors.rb +2 -10
  13. data/lib/karafka/pro/cleaner/messages/message.rb +14 -12
  14. data/lib/karafka/pro/cleaner/messages/messages.rb +2 -10
  15. data/lib/karafka/pro/cleaner/messages/metadata.rb +41 -0
  16. data/lib/karafka/pro/cleaner.rb +3 -10
  17. data/lib/karafka/pro/connection/manager.rb +2 -10
  18. data/lib/karafka/pro/connection/multiplexing/listener.rb +2 -10
  19. data/lib/karafka/pro/contracts/base.rb +2 -10
  20. data/lib/karafka/pro/contracts/server_cli_options.rb +2 -10
  21. data/lib/karafka/pro/encryption/cipher.rb +2 -10
  22. data/lib/karafka/pro/encryption/contracts/config.rb +2 -10
  23. data/lib/karafka/pro/encryption/errors.rb +2 -10
  24. data/lib/karafka/pro/encryption/messages/middleware.rb +2 -10
  25. data/lib/karafka/pro/encryption/messages/parser.rb +2 -10
  26. data/lib/karafka/pro/encryption/setup/config.rb +2 -10
  27. data/lib/karafka/pro/encryption.rb +2 -10
  28. data/lib/karafka/pro/instrumentation/performance_tracker.rb +2 -10
  29. data/lib/karafka/pro/iterator/expander.rb +2 -10
  30. data/lib/karafka/pro/iterator/tpl_builder.rb +2 -10
  31. data/lib/karafka/pro/iterator.rb +2 -10
  32. data/lib/karafka/pro/loader.rb +2 -10
  33. data/lib/karafka/pro/processing/adaptive_iterator/consumer.rb +2 -10
  34. data/lib/karafka/pro/processing/adaptive_iterator/tracker.rb +2 -10
  35. data/lib/karafka/pro/processing/collapser.rb +2 -10
  36. data/lib/karafka/pro/processing/coordinator.rb +2 -10
  37. data/lib/karafka/pro/processing/coordinators/errors_tracker.rb +2 -10
  38. data/lib/karafka/pro/processing/coordinators/filters_applier.rb +2 -10
  39. data/lib/karafka/pro/processing/coordinators/virtual_offset_manager.rb +2 -10
  40. data/lib/karafka/pro/processing/executor.rb +2 -10
  41. data/lib/karafka/pro/processing/expansions_selector.rb +2 -10
  42. data/lib/karafka/pro/processing/filters/base.rb +2 -10
  43. data/lib/karafka/pro/processing/filters/delayer.rb +2 -10
  44. data/lib/karafka/pro/processing/filters/expirer.rb +2 -10
  45. data/lib/karafka/pro/processing/filters/inline_insights_delayer.rb +2 -10
  46. data/lib/karafka/pro/processing/filters/throttler.rb +2 -10
  47. data/lib/karafka/pro/processing/filters/virtual_limiter.rb +2 -10
  48. data/lib/karafka/pro/processing/jobs/consume_non_blocking.rb +2 -10
  49. data/lib/karafka/pro/processing/jobs/eofed_non_blocking.rb +2 -10
  50. data/lib/karafka/pro/processing/jobs/periodic.rb +2 -10
  51. data/lib/karafka/pro/processing/jobs/periodic_non_blocking.rb +2 -10
  52. data/lib/karafka/pro/processing/jobs/revoked_non_blocking.rb +2 -10
  53. data/lib/karafka/pro/processing/jobs_builder.rb +2 -10
  54. data/lib/karafka/pro/processing/jobs_queue.rb +2 -10
  55. data/lib/karafka/pro/processing/offset_metadata/consumer.rb +2 -10
  56. data/lib/karafka/pro/processing/offset_metadata/fetcher.rb +2 -10
  57. data/lib/karafka/pro/processing/offset_metadata/listener.rb +2 -10
  58. data/lib/karafka/pro/processing/partitioner.rb +2 -10
  59. data/lib/karafka/pro/processing/periodic_job/consumer.rb +2 -10
  60. data/lib/karafka/pro/processing/piping/consumer.rb +2 -10
  61. data/lib/karafka/pro/processing/schedulers/base.rb +2 -10
  62. data/lib/karafka/pro/processing/schedulers/default.rb +2 -10
  63. data/lib/karafka/pro/processing/strategies/aj/dlq_ftr_lrj_mom.rb +3 -11
  64. data/lib/karafka/pro/processing/strategies/aj/dlq_ftr_lrj_mom_vp.rb +3 -11
  65. data/lib/karafka/pro/processing/strategies/aj/dlq_ftr_mom.rb +2 -10
  66. data/lib/karafka/pro/processing/strategies/aj/dlq_ftr_mom_vp.rb +2 -10
  67. data/lib/karafka/pro/processing/strategies/aj/dlq_lrj_mom.rb +3 -11
  68. data/lib/karafka/pro/processing/strategies/aj/dlq_lrj_mom_vp.rb +3 -11
  69. data/lib/karafka/pro/processing/strategies/aj/dlq_mom.rb +2 -10
  70. data/lib/karafka/pro/processing/strategies/aj/dlq_mom_vp.rb +2 -10
  71. data/lib/karafka/pro/processing/strategies/aj/ftr_lrj_mom.rb +2 -10
  72. data/lib/karafka/pro/processing/strategies/aj/ftr_lrj_mom_vp.rb +3 -11
  73. data/lib/karafka/pro/processing/strategies/aj/ftr_mom.rb +2 -10
  74. data/lib/karafka/pro/processing/strategies/aj/ftr_mom_vp.rb +2 -10
  75. data/lib/karafka/pro/processing/strategies/aj/lrj_mom.rb +2 -10
  76. data/lib/karafka/pro/processing/strategies/aj/lrj_mom_vp.rb +3 -11
  77. data/lib/karafka/pro/processing/strategies/aj/mom.rb +2 -10
  78. data/lib/karafka/pro/processing/strategies/aj/mom_vp.rb +2 -10
  79. data/lib/karafka/pro/processing/strategies/base.rb +2 -10
  80. data/lib/karafka/pro/processing/strategies/default.rb +55 -58
  81. data/lib/karafka/pro/processing/strategies/dlq/default.rb +5 -13
  82. data/lib/karafka/pro/processing/strategies/dlq/ftr.rb +2 -10
  83. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj.rb +3 -11
  84. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj_mom.rb +3 -11
  85. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj_mom_vp.rb +2 -10
  86. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj_vp.rb +2 -10
  87. data/lib/karafka/pro/processing/strategies/dlq/ftr_mom.rb +3 -11
  88. data/lib/karafka/pro/processing/strategies/dlq/ftr_mom_vp.rb +2 -10
  89. data/lib/karafka/pro/processing/strategies/dlq/ftr_vp.rb +2 -10
  90. data/lib/karafka/pro/processing/strategies/dlq/lrj.rb +3 -11
  91. data/lib/karafka/pro/processing/strategies/dlq/lrj_mom.rb +3 -11
  92. data/lib/karafka/pro/processing/strategies/dlq/lrj_mom_vp.rb +2 -10
  93. data/lib/karafka/pro/processing/strategies/dlq/lrj_vp.rb +2 -10
  94. data/lib/karafka/pro/processing/strategies/dlq/mom.rb +3 -11
  95. data/lib/karafka/pro/processing/strategies/dlq/mom_vp.rb +2 -10
  96. data/lib/karafka/pro/processing/strategies/dlq/vp.rb +2 -10
  97. data/lib/karafka/pro/processing/strategies/ftr/default.rb +2 -10
  98. data/lib/karafka/pro/processing/strategies/ftr/vp.rb +2 -10
  99. data/lib/karafka/pro/processing/strategies/lrj/default.rb +3 -11
  100. data/lib/karafka/pro/processing/strategies/lrj/ftr.rb +3 -11
  101. data/lib/karafka/pro/processing/strategies/lrj/ftr_mom.rb +2 -10
  102. data/lib/karafka/pro/processing/strategies/lrj/ftr_mom_vp.rb +2 -10
  103. data/lib/karafka/pro/processing/strategies/lrj/ftr_vp.rb +2 -10
  104. data/lib/karafka/pro/processing/strategies/lrj/mom.rb +2 -10
  105. data/lib/karafka/pro/processing/strategies/lrj/mom_vp.rb +2 -10
  106. data/lib/karafka/pro/processing/strategies/lrj/vp.rb +2 -10
  107. data/lib/karafka/pro/processing/strategies/mom/default.rb +2 -10
  108. data/lib/karafka/pro/processing/strategies/mom/ftr.rb +2 -10
  109. data/lib/karafka/pro/processing/strategies/mom/ftr_vp.rb +2 -10
  110. data/lib/karafka/pro/processing/strategies/mom/vp.rb +2 -10
  111. data/lib/karafka/pro/processing/strategies/vp/default.rb +2 -10
  112. data/lib/karafka/pro/processing/strategies.rb +2 -10
  113. data/lib/karafka/pro/processing/strategy_selector.rb +2 -10
  114. data/lib/karafka/pro/processing/subscription_groups_coordinator.rb +2 -10
  115. data/lib/karafka/pro/recurring_tasks/consumer.rb +2 -10
  116. data/lib/karafka/pro/recurring_tasks/contracts/config.rb +2 -10
  117. data/lib/karafka/pro/recurring_tasks/contracts/task.rb +2 -10
  118. data/lib/karafka/pro/recurring_tasks/deserializer.rb +2 -10
  119. data/lib/karafka/pro/recurring_tasks/dispatcher.rb +2 -10
  120. data/lib/karafka/pro/recurring_tasks/errors.rb +2 -10
  121. data/lib/karafka/pro/recurring_tasks/executor.rb +2 -10
  122. data/lib/karafka/pro/recurring_tasks/listener.rb +2 -10
  123. data/lib/karafka/pro/recurring_tasks/matcher.rb +2 -10
  124. data/lib/karafka/pro/recurring_tasks/schedule.rb +2 -10
  125. data/lib/karafka/pro/recurring_tasks/serializer.rb +2 -10
  126. data/lib/karafka/pro/recurring_tasks/setup/config.rb +2 -10
  127. data/lib/karafka/pro/recurring_tasks/task.rb +2 -10
  128. data/lib/karafka/pro/recurring_tasks.rb +2 -10
  129. data/lib/karafka/pro/routing/features/active_job/builder.rb +2 -10
  130. data/lib/karafka/pro/routing/features/active_job.rb +2 -10
  131. data/lib/karafka/pro/routing/features/adaptive_iterator/config.rb +2 -10
  132. data/lib/karafka/pro/routing/features/adaptive_iterator/contracts/topic.rb +2 -10
  133. data/lib/karafka/pro/routing/features/adaptive_iterator/topic.rb +2 -10
  134. data/lib/karafka/pro/routing/features/adaptive_iterator.rb +2 -10
  135. data/lib/karafka/pro/routing/features/base.rb +2 -10
  136. data/lib/karafka/pro/routing/features/dead_letter_queue/contracts/topic.rb +2 -10
  137. data/lib/karafka/pro/routing/features/dead_letter_queue/topic.rb +2 -10
  138. data/lib/karafka/pro/routing/features/dead_letter_queue.rb +2 -10
  139. data/lib/karafka/pro/routing/features/delaying/config.rb +2 -10
  140. data/lib/karafka/pro/routing/features/delaying/contracts/topic.rb +2 -10
  141. data/lib/karafka/pro/routing/features/delaying/topic.rb +2 -10
  142. data/lib/karafka/pro/routing/features/delaying.rb +2 -10
  143. data/lib/karafka/pro/routing/features/direct_assignments/config.rb +2 -10
  144. data/lib/karafka/pro/routing/features/direct_assignments/contracts/consumer_group.rb +2 -10
  145. data/lib/karafka/pro/routing/features/direct_assignments/contracts/topic.rb +2 -10
  146. data/lib/karafka/pro/routing/features/direct_assignments/subscription_group.rb +2 -10
  147. data/lib/karafka/pro/routing/features/direct_assignments/topic.rb +2 -10
  148. data/lib/karafka/pro/routing/features/direct_assignments.rb +2 -10
  149. data/lib/karafka/pro/routing/features/expiring/config.rb +2 -10
  150. data/lib/karafka/pro/routing/features/expiring/contracts/topic.rb +2 -10
  151. data/lib/karafka/pro/routing/features/expiring/topic.rb +2 -10
  152. data/lib/karafka/pro/routing/features/expiring.rb +2 -10
  153. data/lib/karafka/pro/routing/features/filtering/config.rb +2 -10
  154. data/lib/karafka/pro/routing/features/filtering/contracts/topic.rb +2 -10
  155. data/lib/karafka/pro/routing/features/filtering/topic.rb +2 -10
  156. data/lib/karafka/pro/routing/features/filtering.rb +2 -10
  157. data/lib/karafka/pro/routing/features/inline_insights/config.rb +2 -10
  158. data/lib/karafka/pro/routing/features/inline_insights/contracts/topic.rb +2 -10
  159. data/lib/karafka/pro/routing/features/inline_insights/topic.rb +2 -10
  160. data/lib/karafka/pro/routing/features/inline_insights.rb +2 -10
  161. data/lib/karafka/pro/routing/features/long_running_job/config.rb +2 -10
  162. data/lib/karafka/pro/routing/features/long_running_job/contracts/topic.rb +2 -10
  163. data/lib/karafka/pro/routing/features/long_running_job/topic.rb +2 -10
  164. data/lib/karafka/pro/routing/features/long_running_job.rb +2 -10
  165. data/lib/karafka/pro/routing/features/multiplexing/config.rb +2 -10
  166. data/lib/karafka/pro/routing/features/multiplexing/contracts/topic.rb +2 -10
  167. data/lib/karafka/pro/routing/features/multiplexing/patches/contracts/consumer_group.rb +2 -10
  168. data/lib/karafka/pro/routing/features/multiplexing/proxy.rb +2 -10
  169. data/lib/karafka/pro/routing/features/multiplexing/subscription_group.rb +2 -10
  170. data/lib/karafka/pro/routing/features/multiplexing/subscription_groups_builder.rb +2 -10
  171. data/lib/karafka/pro/routing/features/multiplexing.rb +2 -10
  172. data/lib/karafka/pro/routing/features/non_blocking_job/topic.rb +2 -10
  173. data/lib/karafka/pro/routing/features/non_blocking_job.rb +2 -10
  174. data/lib/karafka/pro/routing/features/offset_metadata/config.rb +2 -10
  175. data/lib/karafka/pro/routing/features/offset_metadata/contracts/topic.rb +2 -10
  176. data/lib/karafka/pro/routing/features/offset_metadata/topic.rb +2 -10
  177. data/lib/karafka/pro/routing/features/offset_metadata.rb +2 -10
  178. data/lib/karafka/pro/routing/features/patterns/builder.rb +2 -10
  179. data/lib/karafka/pro/routing/features/patterns/config.rb +2 -10
  180. data/lib/karafka/pro/routing/features/patterns/consumer_group.rb +2 -10
  181. data/lib/karafka/pro/routing/features/patterns/contracts/consumer_group.rb +2 -10
  182. data/lib/karafka/pro/routing/features/patterns/contracts/pattern.rb +2 -10
  183. data/lib/karafka/pro/routing/features/patterns/contracts/topic.rb +2 -10
  184. data/lib/karafka/pro/routing/features/patterns/detector.rb +2 -10
  185. data/lib/karafka/pro/routing/features/patterns/pattern.rb +2 -10
  186. data/lib/karafka/pro/routing/features/patterns/patterns.rb +2 -10
  187. data/lib/karafka/pro/routing/features/patterns/topic.rb +2 -10
  188. data/lib/karafka/pro/routing/features/patterns/topics.rb +2 -10
  189. data/lib/karafka/pro/routing/features/patterns.rb +2 -10
  190. data/lib/karafka/pro/routing/features/pausing/contracts/topic.rb +2 -10
  191. data/lib/karafka/pro/routing/features/pausing/topic.rb +2 -10
  192. data/lib/karafka/pro/routing/features/pausing.rb +2 -10
  193. data/lib/karafka/pro/routing/features/periodic_job/config.rb +2 -10
  194. data/lib/karafka/pro/routing/features/periodic_job/contracts/topic.rb +2 -10
  195. data/lib/karafka/pro/routing/features/periodic_job/topic.rb +2 -10
  196. data/lib/karafka/pro/routing/features/periodic_job.rb +2 -10
  197. data/lib/karafka/pro/routing/features/recurring_tasks/builder.rb +2 -10
  198. data/lib/karafka/pro/routing/features/recurring_tasks/config.rb +2 -10
  199. data/lib/karafka/pro/routing/features/recurring_tasks/contracts/topic.rb +2 -10
  200. data/lib/karafka/pro/routing/features/recurring_tasks/proxy.rb +2 -10
  201. data/lib/karafka/pro/routing/features/recurring_tasks/topic.rb +2 -10
  202. data/lib/karafka/pro/routing/features/recurring_tasks.rb +2 -10
  203. data/lib/karafka/pro/routing/features/scheduled_messages/builder.rb +2 -10
  204. data/lib/karafka/pro/routing/features/scheduled_messages/config.rb +2 -10
  205. data/lib/karafka/pro/routing/features/scheduled_messages/contracts/topic.rb +2 -10
  206. data/lib/karafka/pro/routing/features/scheduled_messages/proxy.rb +2 -10
  207. data/lib/karafka/pro/routing/features/scheduled_messages/topic.rb +2 -10
  208. data/lib/karafka/pro/routing/features/scheduled_messages.rb +2 -10
  209. data/lib/karafka/pro/routing/features/swarm/config.rb +2 -10
  210. data/lib/karafka/pro/routing/features/swarm/contracts/routing.rb +2 -10
  211. data/lib/karafka/pro/routing/features/swarm/contracts/topic.rb +2 -10
  212. data/lib/karafka/pro/routing/features/swarm/topic.rb +2 -10
  213. data/lib/karafka/pro/routing/features/swarm.rb +2 -10
  214. data/lib/karafka/pro/routing/features/throttling/config.rb +2 -10
  215. data/lib/karafka/pro/routing/features/throttling/contracts/topic.rb +2 -10
  216. data/lib/karafka/pro/routing/features/throttling/topic.rb +2 -10
  217. data/lib/karafka/pro/routing/features/throttling.rb +2 -10
  218. data/lib/karafka/pro/routing/features/virtual_partitions/config.rb +2 -10
  219. data/lib/karafka/pro/routing/features/virtual_partitions/contracts/topic.rb +2 -10
  220. data/lib/karafka/pro/routing/features/virtual_partitions/topic.rb +2 -10
  221. data/lib/karafka/pro/routing/features/virtual_partitions.rb +2 -10
  222. data/lib/karafka/pro/scheduled_messages/consumer.rb +2 -10
  223. data/lib/karafka/pro/scheduled_messages/contracts/config.rb +2 -10
  224. data/lib/karafka/pro/scheduled_messages/contracts/message.rb +2 -10
  225. data/lib/karafka/pro/scheduled_messages/daily_buffer.rb +2 -10
  226. data/lib/karafka/pro/scheduled_messages/day.rb +2 -10
  227. data/lib/karafka/pro/scheduled_messages/deserializers/headers.rb +2 -10
  228. data/lib/karafka/pro/scheduled_messages/deserializers/payload.rb +2 -10
  229. data/lib/karafka/pro/scheduled_messages/dispatcher.rb +2 -10
  230. data/lib/karafka/pro/scheduled_messages/errors.rb +2 -10
  231. data/lib/karafka/pro/scheduled_messages/max_epoch.rb +2 -10
  232. data/lib/karafka/pro/scheduled_messages/proxy.rb +2 -10
  233. data/lib/karafka/pro/scheduled_messages/schema_validator.rb +2 -10
  234. data/lib/karafka/pro/scheduled_messages/serializer.rb +2 -10
  235. data/lib/karafka/pro/scheduled_messages/setup/config.rb +2 -10
  236. data/lib/karafka/pro/scheduled_messages/state.rb +2 -10
  237. data/lib/karafka/pro/scheduled_messages/tracker.rb +2 -10
  238. data/lib/karafka/pro/scheduled_messages.rb +2 -10
  239. data/lib/karafka/pro/swarm/liveness_listener.rb +2 -10
  240. data/lib/karafka/processing/strategies/aj_dlq_mom.rb +1 -1
  241. data/lib/karafka/processing/strategies/default.rb +6 -6
  242. data/lib/karafka/processing/strategies/dlq.rb +3 -3
  243. data/lib/karafka/processing/strategies/dlq_mom.rb +2 -2
  244. data/lib/karafka/version.rb +1 -1
  245. data.tar.gz.sig +0 -0
  246. metadata +3 -2
  247. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8510d261a0722b764aff2c59e214bb2b87481ce606488e8f1323c4bf29ee4528
4
- data.tar.gz: 4574f71706749ec5effa830b9c04a6e3072c880220a08fa33f81648f7d3c79be
3
+ metadata.gz: a26065fae7fe2d8f878b56e497d3551f3f0277b27ed3356b59fd478f017b4144
4
+ data.tar.gz: 356d0e078a32f0b22dc7d06d0f0e896d17b55e7a52866acf92933aeb6a611548
5
5
  SHA512:
6
- metadata.gz: 37c43b9634b43e6608fa7f2ab9320d49d00b2582c211095968d3200412029e0301d17556d31be2e24d8401457fd660473cc46adc4d5835de968a2eba9c51fbef
7
- data.tar.gz: 15d2e2dbd7ee99ab1c726a47a76959f1e3d877cd723f084550711fd9ba4662a30eb39af26f1354847ab906aaec9580e0cde5f7858b0cda521f5f39844195a3c3
6
+ metadata.gz: 1043bb3ff799cc5294de4936552f4dcc3a78f9aabca275fd35259c87dfdc257cc63a778722d833c8a1f3e9449084e6266e6cd507d396cd92457b8e6078ced631
7
+ data.tar.gz: 57fe56b280f460be5f3fe2a734587d75ad08e25ae96363da68d5791fe62b6427402de400e6cae2e38660bbcefdb314be45d0299d15c50131a1ebe15f44c23c96
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Karafka Framework Changelog
2
2
 
3
+ ## 2.4.17 (2025-01-15)
4
+ - [Enhancement] Clean message key and headers when cleaning messages via the cleaner API (Pro).
5
+ - [Enhancement] Allow for setting `metadata: false` in the cleaner API for granular cleaning control (Pro)
6
+ - [Enhancement] Instrument successful transaction via `consumer.consuming.transaction` event (Pro).
7
+
3
8
  ## 2.4.16 (2024-12-27)
4
9
  - [Enhancement] Improve post-rebalance revocation messages filtering.
5
10
  - [Enhancement] Introduce `Consumer#wrap` for connection pooling management and other wrapped operations.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka (2.4.16)
4
+ karafka (2.4.17)
5
5
  base64 (~> 0.2)
6
6
  karafka-core (>= 2.4.4, < 2.5.0)
7
7
  karafka-rdkafka (>= 0.17.2)
@@ -123,4 +123,4 @@ DEPENDENCIES
123
123
  stringio
124
124
 
125
125
  BUNDLED WITH
126
- 2.4.22
126
+ 2.6.2
data/LICENSE CHANGED
@@ -6,8 +6,13 @@ for license text.
6
6
 
7
7
  Karafka has also commercial-friendly license, commercial support and commercial components.
8
8
 
9
- All of the commercial components are present in the lib/karafka/pro directory of this repository
10
- and their usage requires commercial license agreement.
9
+ All of the commercial components are present in the:
10
+
11
+ - `lib/karafka/pro`
12
+ - `spec/lib/karafka/pro`
13
+ - `spec/integrations/pro`
14
+
15
+ directories of this repository and their usage requires commercial license agreement.
11
16
 
12
17
  By sending a pull request to the pro components, you are agreeing to transfer the copyright of your
13
18
  code to Maciej Mensfeld.
@@ -12,7 +12,7 @@ module Karafka
12
12
 
13
13
  extend Forwardable
14
14
 
15
- def_delegators :@coordinator, :topic, :partition, :eofed?
15
+ def_delegators :@coordinator, :topic, :partition, :eofed?, :seek_offset, :seek_offset=
16
16
 
17
17
  def_delegators :producer, :produce_async, :produce_sync, :produce_many_async,
18
18
  :produce_many_sync
@@ -109,7 +109,7 @@ module Karafka
109
109
  'error.occurred',
110
110
  error: e,
111
111
  caller: self,
112
- seek_offset: coordinator.seek_offset,
112
+ seek_offset: seek_offset,
113
113
  type: 'consumer.consume.error'
114
114
  )
115
115
  end
@@ -129,7 +129,7 @@ module Karafka
129
129
  'error.occurred',
130
130
  error: e,
131
131
  caller: self,
132
- seek_offset: coordinator.seek_offset,
132
+ seek_offset: seek_offset,
133
133
  type: 'consumer.after_consume.error'
134
134
  )
135
135
 
@@ -149,7 +149,7 @@ module Karafka
149
149
  'error.occurred',
150
150
  error: e,
151
151
  caller: self,
152
- seek_offset: coordinator.seek_offset,
152
+ seek_offset: seek_offset,
153
153
  type: 'consumer.eofed.error'
154
154
  )
155
155
  end
@@ -345,7 +345,7 @@ module Karafka
345
345
  # @note Please note, that if you are seeking to a time offset, getting the offset is blocking
346
346
  def seek(offset, manual_seek = true, reset_offset: false)
347
347
  coordinator.manual_seek if manual_seek
348
- coordinator.seek_offset = nil if reset_offset
348
+ self.seek_offset = nil if reset_offset
349
349
 
350
350
  message = Karafka::Messages::Seek.new(
351
351
  topic.name,
@@ -397,7 +397,7 @@ module Karafka
397
397
  # Pauses the processing from the last offset to retry on given message
398
398
  # @private
399
399
  def retry_after_pause
400
- pause(coordinator.seek_offset, nil, false)
400
+ pause(seek_offset, nil, false)
401
401
 
402
402
  # Instrumentation needs to run **after** `#pause` invocation because we rely on the states
403
403
  # set by `#pause`
@@ -406,7 +406,7 @@ module Karafka
406
406
  caller: self,
407
407
  topic: topic.name,
408
408
  partition: partition,
409
- offset: coordinator.seek_offset,
409
+ offset: seek_offset,
410
410
  timeout: coordinator.pause_tracker.current_timeout,
411
411
  attempt: attempt
412
412
  )
@@ -57,6 +57,7 @@ module Karafka
57
57
  consumer.consuming.pause
58
58
  consumer.consuming.retry
59
59
  consumer.consuming.seek
60
+ consumer.consuming.transaction
60
61
 
61
62
  consumer.before_schedule_idle
62
63
  consumer.idle
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -29,15 +21,25 @@ module Karafka
29
21
  @raw_payload == false
30
22
  end
31
23
 
32
- # Cleans the message payload and removes the deserialized data references
24
+ # Cleans the message payload, headers, key and removes the deserialized data references
33
25
  # This is useful when working with big messages that take a lot of space.
34
26
  #
35
27
  # After the message content is no longer needed, it can be removed so it does not consume
36
28
  # space anymore.
37
- def clean!
29
+ #
30
+ # @param metadata [Boolean] should we also clean metadata alongside the payload. This can
31
+ # be useful when working with iterator and other things that may require only metadata
32
+ # available, while not payload. `true` by default.
33
+ #
34
+ # @note Cleaning of message means we also clean its metadata (headers and key)
35
+ # @note Metadata cleaning (headers and key) can be disabled by setting the `metadata`
36
+ # argument to `false`.
37
+ def clean!(metadata: true)
38
38
  @deserialized = false
39
39
  @raw_payload = false
40
40
  @payload = nil
41
+
42
+ @metadata.clean! if metadata
41
43
  end
42
44
  end
43
45
  end
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
5
+
6
+ module Karafka
7
+ module Pro
8
+ module Cleaner
9
+ # Cleaner messages components related enhancements
10
+ module Messages
11
+ # Extensions to the message metadata that allow for granular memory control on a per
12
+ # message basis
13
+ module Metadata
14
+ # @return [Object] deserialized key. By default in the raw string format.
15
+ def key
16
+ cleaned? ? raise(Errors::MessageCleanedError) : super
17
+ end
18
+
19
+ # @return [Object] deserialized headers. By default its a hash with keys and payload
20
+ # being strings
21
+ def headers
22
+ cleaned? ? raise(Errors::MessageCleanedError) : super
23
+ end
24
+
25
+ # @return [Boolean] true if the message metadata has been cleaned
26
+ def cleaned?
27
+ raw_headers == false
28
+ end
29
+
30
+ # Cleans the headers and key
31
+ def clean!
32
+ self.raw_headers = false
33
+ self.raw_key = false
34
+ @key = nil
35
+ @headers = nil
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -28,6 +20,7 @@ module Karafka
28
20
  # @param _config [Karafka::Core::Configurable::Node] root node config
29
21
  def pre_setup(_config)
30
22
  ::Karafka::Messages::Message.prepend(Messages::Message)
23
+ ::Karafka::Messages::Metadata.prepend(Messages::Metadata)
31
24
  ::Karafka::Messages::Messages.prepend(Messages::Messages)
32
25
  end
33
26
 
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This Karafka component is a Pro component under a commercial license.
4
- # This Karafka component is NOT licensed under LGPL.
5
- #
6
- # All of the commercial components are present in the lib/karafka/pro directory of this
7
- # repository and their usage requires commercial license agreement.
8
- #
9
- # Karafka has also commercial-friendly license, commercial support and commercial components.
10
- #
11
- # By sending a pull request to the pro components, you are agreeing to transfer the copyright of
12
- # your code to Maciej Mensfeld.
3
+ # This code is part of Karafka Pro, a commercial component not licensed under LGPL.
4
+ # See LICENSE for details.
13
5
 
14
6
  module Karafka
15
7
  module Pro