karafka 2.5.9 → 2.6.0.beta1

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.
Files changed (471) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/certs/expired.txt +83 -0
  4. data/config/locales/errors.yml +17 -7
  5. data/karafka.gemspec +3 -3
  6. data/lib/active_job/queue_adapters/karafka_adapter.rb +1 -2
  7. data/lib/karafka/active_job/job_extensions.rb +1 -2
  8. data/lib/karafka/admin/configs/resource.rb +1 -2
  9. data/lib/karafka/admin/consumer_groups.rb +109 -98
  10. data/lib/karafka/admin/isolation_levels.rb +22 -0
  11. data/lib/karafka/admin/topics.rb +103 -8
  12. data/lib/karafka/admin.rb +59 -31
  13. data/lib/karafka/app.rb +16 -5
  14. data/lib/karafka/base_consumer.rb +2 -2
  15. data/lib/karafka/cli/contracts/server.rb +4 -4
  16. data/lib/karafka/cli/info.rb +1 -1
  17. data/lib/karafka/cli/topics/base.rb +10 -18
  18. data/lib/karafka/cli/topics/repartition.rb +1 -1
  19. data/lib/karafka/connection/client.rb +40 -9
  20. data/lib/karafka/connection/consumer_groups/rebalance_manager.rb +120 -0
  21. data/lib/karafka/connection/listener.rb +8 -7
  22. data/lib/karafka/connection/listeners_batch.rb +1 -1
  23. data/lib/karafka/connection/mode.rb +1 -2
  24. data/lib/karafka/connection/raw_messages_buffer.rb +0 -5
  25. data/lib/karafka/declaratives/builder.rb +65 -0
  26. data/lib/karafka/declaratives/contracts/topic.rb +28 -0
  27. data/lib/karafka/declaratives/repository.rb +52 -0
  28. data/lib/karafka/declaratives/topic.rb +100 -0
  29. data/lib/karafka/declaratives.rb +9 -0
  30. data/lib/karafka/helpers/interval_runner.rb +2 -2
  31. data/lib/karafka/instrumentation/assignments_tracker.rb +65 -2
  32. data/lib/karafka/instrumentation/callbacks/consumer_groups/error.rb +56 -0
  33. data/lib/karafka/instrumentation/callbacks/consumer_groups/rebalance.rb +93 -0
  34. data/lib/karafka/instrumentation/callbacks/consumer_groups/statistics.rb +59 -0
  35. data/lib/karafka/instrumentation/logger_listener.rb +27 -9
  36. data/lib/karafka/instrumentation/notifications.rb +2 -0
  37. data/lib/karafka/instrumentation/vendors/appsignal/metrics_listener.rb +14 -17
  38. data/lib/karafka/instrumentation/vendors/datadog/metrics_listener.rb +8 -9
  39. data/lib/karafka/instrumentation/vendors/kubernetes/base_listener.rb +7 -3
  40. data/lib/karafka/instrumentation/vendors/kubernetes/liveness_listener.rb +13 -10
  41. data/lib/karafka/licenser.rb +16 -3
  42. data/lib/karafka/pro/active_job/consumer.rb +1 -2
  43. data/lib/karafka/pro/active_job/dispatcher.rb +1 -2
  44. data/lib/karafka/pro/admin/recovery.rb +19 -19
  45. data/lib/karafka/pro/base_consumer.rb +3 -3
  46. data/lib/karafka/pro/cli/contracts/server.rb +5 -5
  47. data/lib/karafka/pro/cli/parallel_segments/base.rb +7 -7
  48. data/lib/karafka/pro/cli/parallel_segments/collapse.rb +4 -4
  49. data/lib/karafka/pro/cli/parallel_segments/distribute.rb +6 -6
  50. data/lib/karafka/pro/iterator/tpl_builder.rb +38 -18
  51. data/lib/karafka/pro/loader.rb +15 -12
  52. data/lib/karafka/pro/processing/consumer_groups/adaptive_iterator/consumer.rb +84 -0
  53. data/lib/karafka/pro/processing/consumer_groups/adaptive_iterator/tracker.rb +97 -0
  54. data/lib/karafka/pro/processing/consumer_groups/collapser.rb +84 -0
  55. data/lib/karafka/pro/processing/consumer_groups/coordinator.rb +202 -0
  56. data/lib/karafka/pro/processing/consumer_groups/coordinators/errors_tracker.rb +124 -0
  57. data/lib/karafka/pro/processing/consumer_groups/coordinators/filters_applier.rb +157 -0
  58. data/lib/karafka/pro/processing/consumer_groups/coordinators/virtual_offset_manager.rb +212 -0
  59. data/lib/karafka/pro/processing/{filters/expirer.rb → consumer_groups/executor.rb} +17 -31
  60. data/lib/karafka/pro/processing/{jobs/periodic.rb → consumer_groups/expansions_selector.rb} +18 -21
  61. data/lib/karafka/pro/processing/consumer_groups/filters/base.rb +103 -0
  62. data/lib/karafka/pro/processing/consumer_groups/filters/delayer.rb +92 -0
  63. data/lib/karafka/pro/processing/consumer_groups/filters/expirer.rb +78 -0
  64. data/lib/karafka/pro/processing/consumer_groups/filters/inline_insights_delayer.rb +99 -0
  65. data/lib/karafka/pro/processing/consumer_groups/filters/throttler.rb +106 -0
  66. data/lib/karafka/pro/processing/consumer_groups/filters/virtual_limiter.rb +79 -0
  67. data/lib/karafka/pro/processing/{jobs → consumer_groups/jobs}/consume_non_blocking.rb +21 -17
  68. data/lib/karafka/pro/processing/{virtual_partitions/distributors/consistent.rb → consumer_groups/jobs/eofed_non_blocking.rb} +16 -14
  69. data/lib/karafka/pro/processing/consumer_groups/jobs/periodic.rb +64 -0
  70. data/lib/karafka/pro/processing/{jobs → consumer_groups/jobs}/periodic_non_blocking.rb +16 -11
  71. data/lib/karafka/pro/processing/{jobs → consumer_groups/jobs}/revoked_non_blocking.rb +19 -15
  72. data/lib/karafka/pro/processing/consumer_groups/jobs_builder.rb +95 -0
  73. data/lib/karafka/pro/processing/consumer_groups/offset_metadata/consumer.rb +66 -0
  74. data/lib/karafka/pro/processing/consumer_groups/offset_metadata/fetcher.rb +154 -0
  75. data/lib/karafka/pro/processing/consumer_groups/offset_metadata/listener.rb +68 -0
  76. data/lib/karafka/pro/processing/consumer_groups/parallel_segments/filters/base.rb +102 -0
  77. data/lib/karafka/pro/processing/consumer_groups/parallel_segments/filters/default.rb +115 -0
  78. data/lib/karafka/pro/processing/consumer_groups/parallel_segments/filters/mom.rb +96 -0
  79. data/lib/karafka/pro/processing/consumer_groups/partitioner.rb +98 -0
  80. data/lib/karafka/pro/processing/consumer_groups/periodic_job/consumer.rb +90 -0
  81. data/lib/karafka/pro/processing/consumer_groups/piping/consumer.rb +154 -0
  82. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_ftr_lrj_mom.rb +93 -0
  83. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_ftr_lrj_mom_vp.rb +99 -0
  84. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_ftr_mom.rb +92 -0
  85. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_ftr_mom_vp.rb +90 -0
  86. data/lib/karafka/pro/processing/{strategies/aj/dlq_ftr_lrj_mom.rb → consumer_groups/strategies/aj/dlq_lrj_mom.rb} +37 -39
  87. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_lrj_mom_vp.rb +90 -0
  88. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_mom.rb +84 -0
  89. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_mom_vp.rb +89 -0
  90. data/lib/karafka/pro/processing/{strategies → consumer_groups/strategies}/aj/ftr_lrj_mom.rb +20 -15
  91. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/ftr_lrj_mom_vp.rb +91 -0
  92. data/lib/karafka/pro/processing/{strategies → consumer_groups/strategies}/aj/ftr_mom.rb +20 -15
  93. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/ftr_mom_vp.rb +80 -0
  94. data/lib/karafka/pro/processing/{strategies/mom/default.rb → consumer_groups/strategies/aj/lrj_mom.rb} +18 -22
  95. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/lrj_mom_vp.rb +106 -0
  96. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/mom.rb +58 -0
  97. data/lib/karafka/pro/processing/consumer_groups/strategies/aj/mom_vp.rb +74 -0
  98. data/lib/karafka/pro/processing/{strategies/lrj/vp.rb → consumer_groups/strategies/base.rb} +9 -14
  99. data/lib/karafka/pro/processing/consumer_groups/strategies/default.rb +421 -0
  100. data/lib/karafka/pro/processing/consumer_groups/strategies/dlq/default.rb +285 -0
  101. data/lib/karafka/pro/processing/{strategies/dlq/lrj.rb → consumer_groups/strategies/dlq/ftr.rb} +30 -29
  102. data/lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_lrj.rb +95 -0
  103. data/lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_lrj_mom.rb +97 -0
  104. data/lib/karafka/pro/processing/{executor.rb → consumer_groups/strategies/dlq/ftr_lrj_mom_vp.rb} +26 -15
  105. data/lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_lrj_vp.rb +63 -0
  106. data/lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_mom.rb +97 -0
  107. data/lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_mom_vp.rb +63 -0
  108. data/lib/karafka/pro/{routing/features/patterns/patterns.rb → processing/consumer_groups/strategies/dlq/ftr_vp.rb} +22 -12
  109. data/lib/karafka/pro/processing/consumer_groups/strategies/dlq/lrj.rb +83 -0
  110. data/lib/karafka/pro/processing/consumer_groups/strategies/dlq/lrj_mom.rb +100 -0
  111. data/lib/karafka/pro/processing/{strategies → consumer_groups/strategies}/dlq/lrj_mom_vp.rb +18 -13
  112. data/lib/karafka/pro/processing/consumer_groups/strategies/dlq/lrj_vp.rb +61 -0
  113. data/lib/karafka/pro/processing/consumer_groups/strategies/dlq/mom.rb +96 -0
  114. data/lib/karafka/pro/processing/{strategies/lrj → consumer_groups/strategies/dlq}/mom_vp.rb +19 -15
  115. data/lib/karafka/pro/processing/consumer_groups/strategies/dlq/vp.rb +62 -0
  116. data/lib/karafka/pro/processing/consumer_groups/strategies/ftr/default.rb +146 -0
  117. data/lib/karafka/pro/processing/{strategies/mom/ftr.rb → consumer_groups/strategies/ftr/vp.rb} +20 -28
  118. data/lib/karafka/pro/processing/consumer_groups/strategies/lrj/default.rb +119 -0
  119. data/lib/karafka/pro/processing/consumer_groups/strategies/lrj/ftr.rb +94 -0
  120. data/lib/karafka/pro/processing/consumer_groups/strategies/lrj/ftr_mom.rb +92 -0
  121. data/lib/karafka/pro/processing/consumer_groups/strategies/lrj/ftr_mom_vp.rb +62 -0
  122. data/lib/karafka/pro/processing/consumer_groups/strategies/lrj/ftr_vp.rb +61 -0
  123. data/lib/karafka/pro/processing/consumer_groups/strategies/lrj/mom.rb +101 -0
  124. data/lib/karafka/pro/processing/consumer_groups/strategies/lrj/mom_vp.rb +60 -0
  125. data/lib/karafka/pro/processing/{strategies/mom → consumer_groups/strategies/lrj}/vp.rb +18 -12
  126. data/lib/karafka/pro/processing/{strategies/aj/mom_vp.rb → consumer_groups/strategies/mom/default.rb} +22 -23
  127. data/lib/karafka/pro/processing/{strategies/aj/ftr_mom_vp.rb → consumer_groups/strategies/mom/ftr.rb} +28 -28
  128. data/lib/karafka/pro/processing/{virtual_partitions/distributors/base.rb → consumer_groups/strategies/mom/ftr_vp.rb} +19 -14
  129. data/lib/karafka/pro/processing/{strategies/aj/mom.rb → consumer_groups/strategies/mom/vp.rb} +16 -12
  130. data/lib/karafka/pro/processing/consumer_groups/strategies/vp/default.rb +197 -0
  131. data/lib/karafka/pro/processing/consumer_groups/strategy_selector.rb +106 -0
  132. data/lib/karafka/pro/processing/consumer_groups/subscription_groups_coordinator.rb +73 -0
  133. data/lib/karafka/pro/processing/consumer_groups/virtual_partitions/distributors/balanced.rb +82 -0
  134. data/lib/karafka/pro/processing/consumer_groups/virtual_partitions/distributors/base.rb +59 -0
  135. data/lib/karafka/pro/processing/{strategies/dlq/ftr.rb → consumer_groups/virtual_partitions/distributors/consistent.rb} +18 -33
  136. data/lib/karafka/pro/processing/filters/base.rb +3 -61
  137. data/lib/karafka/pro/processing/partitioner.rb +2 -57
  138. data/lib/karafka/pro/processing/schedulers/base.rb +10 -6
  139. data/lib/karafka/pro/processing/schedulers/default.rb +6 -5
  140. data/lib/karafka/pro/recurring_tasks/executor.rb +1 -2
  141. data/lib/karafka/pro/routing/features/{active_job → consumer_groups/active_job}/builder.rb +20 -18
  142. data/lib/karafka/pro/routing/features/{inline_insights/config.rb → consumer_groups/active_job.rb} +5 -9
  143. data/lib/karafka/pro/routing/features/consumer_groups/adaptive_iterator/config.rb +53 -0
  144. data/lib/karafka/pro/routing/features/consumer_groups/adaptive_iterator/contracts/topic.rb +91 -0
  145. data/lib/karafka/pro/routing/features/consumer_groups/adaptive_iterator/topic.rb +90 -0
  146. data/lib/karafka/pro/routing/features/consumer_groups/adaptive_iterator.rb +50 -0
  147. data/lib/karafka/pro/routing/features/{patterns/contracts/consumer_group.rb → consumer_groups/dead_letter_queue/contracts/topic.rb} +25 -30
  148. data/lib/karafka/pro/routing/features/consumer_groups/dead_letter_queue/topic.rb +70 -0
  149. data/lib/karafka/pro/routing/features/consumer_groups/dead_letter_queue.rb +46 -0
  150. data/lib/karafka/pro/routing/features/{direct_assignments → consumer_groups/delaying}/config.rb +6 -4
  151. data/lib/karafka/pro/routing/features/{patterns/contracts/pattern.rb → consumer_groups/delaying/contracts/topic.rb} +13 -16
  152. data/lib/karafka/pro/routing/features/consumer_groups/delaying/topic.rb +85 -0
  153. data/lib/karafka/pro/routing/features/{adaptive_iterator/config.rb → consumer_groups/delaying.rb} +8 -11
  154. data/lib/karafka/pro/routing/features/consumer_groups/direct_assignments/config.rb +46 -0
  155. data/lib/karafka/pro/routing/features/consumer_groups/direct_assignments/contracts/consumer_group.rb +68 -0
  156. data/lib/karafka/pro/routing/features/consumer_groups/direct_assignments/contracts/topic.rb +125 -0
  157. data/lib/karafka/pro/routing/features/consumer_groups/direct_assignments/subscription_group.rb +97 -0
  158. data/lib/karafka/pro/routing/features/consumer_groups/direct_assignments/topic.rb +97 -0
  159. data/lib/karafka/pro/routing/features/consumer_groups/direct_assignments.rb +44 -0
  160. data/lib/karafka/pro/routing/features/consumer_groups/inline_insights/config.rb +51 -0
  161. data/lib/karafka/pro/routing/features/consumer_groups/inline_insights/contracts/topic.rb +58 -0
  162. data/lib/karafka/pro/routing/features/consumer_groups/inline_insights/topic.rb +80 -0
  163. data/lib/karafka/pro/routing/features/consumer_groups/inline_insights.rb +45 -0
  164. data/lib/karafka/pro/routing/features/consumer_groups/long_running_job/config.rb +47 -0
  165. data/lib/karafka/pro/routing/features/{multiplexing/patches/contracts/consumer_group.rb → consumer_groups/long_running_job/contracts/topic.rb} +13 -15
  166. data/lib/karafka/pro/routing/features/consumer_groups/long_running_job/topic.rb +72 -0
  167. data/lib/karafka/pro/routing/features/{long_running_job.rb → consumer_groups/long_running_job.rb} +6 -4
  168. data/lib/karafka/pro/routing/features/consumer_groups/multiplexing/config.rb +58 -0
  169. data/lib/karafka/pro/routing/features/consumer_groups/multiplexing/contracts/routing.rb +83 -0
  170. data/lib/karafka/pro/routing/features/consumer_groups/multiplexing/contracts/topic.rb +148 -0
  171. data/lib/karafka/pro/routing/features/{delaying/contracts/topic.rb → consumer_groups/multiplexing/patches/contracts/consumer_group.rb} +19 -14
  172. data/lib/karafka/pro/routing/features/{multiplexing/subscription_group.rb → consumer_groups/multiplexing/proxy.rb} +17 -23
  173. data/lib/karafka/pro/routing/features/consumer_groups/multiplexing/subscription_group.rb +68 -0
  174. data/lib/karafka/pro/routing/features/{multiplexing → consumer_groups/multiplexing}/subscription_groups_builder.rb +16 -14
  175. data/lib/karafka/pro/routing/features/consumer_groups/multiplexing.rb +85 -0
  176. data/lib/karafka/pro/routing/features/consumer_groups/non_blocking_job/topic.rb +51 -0
  177. data/lib/karafka/pro/routing/features/{non_blocking_job.rb → consumer_groups/non_blocking_job.rb} +15 -13
  178. data/lib/karafka/pro/routing/features/consumer_groups/offset_metadata/config.rb +52 -0
  179. data/lib/karafka/pro/routing/features/consumer_groups/offset_metadata/contracts/topic.rb +59 -0
  180. data/lib/karafka/pro/routing/features/consumer_groups/offset_metadata/topic.rb +93 -0
  181. data/lib/karafka/pro/routing/features/{offset_metadata.rb → consumer_groups/offset_metadata.rb} +16 -14
  182. data/lib/karafka/pro/routing/features/consumer_groups/parallel_segments/builder.rb +74 -0
  183. data/lib/karafka/pro/routing/features/{multiplexing → consumer_groups/parallel_segments}/config.rb +13 -15
  184. data/lib/karafka/pro/routing/features/consumer_groups/parallel_segments/consumer_group.rb +110 -0
  185. data/lib/karafka/pro/routing/features/consumer_groups/parallel_segments/contracts/consumer_group.rb +74 -0
  186. data/lib/karafka/pro/routing/features/{parallel_segments → consumer_groups/parallel_segments}/topic.rb +24 -22
  187. data/lib/karafka/pro/routing/features/consumer_groups/parallel_segments.rb +51 -0
  188. data/lib/karafka/pro/routing/features/{patterns → consumer_groups/patterns}/builder.rb +15 -13
  189. data/lib/karafka/pro/routing/features/{offset_metadata/contracts/topic.rb → consumer_groups/patterns/config.rb} +28 -13
  190. data/lib/karafka/pro/routing/features/consumer_groups/patterns/consumer_group.rb +91 -0
  191. data/lib/karafka/pro/routing/features/consumer_groups/patterns/contracts/consumer_group.rb +83 -0
  192. data/lib/karafka/pro/routing/features/{parallel_segments.rb → consumer_groups/patterns/contracts/pattern.rb} +24 -10
  193. data/lib/karafka/pro/routing/features/consumer_groups/patterns/contracts/topic.rb +58 -0
  194. data/lib/karafka/pro/routing/features/consumer_groups/patterns/detector.rb +98 -0
  195. data/lib/karafka/pro/routing/features/consumer_groups/patterns/pattern.rb +114 -0
  196. data/lib/karafka/pro/routing/features/{recurring_tasks/contracts/topic.rb → consumer_groups/patterns/patterns.rb} +12 -13
  197. data/lib/karafka/pro/routing/features/consumer_groups/patterns/topic.rb +78 -0
  198. data/lib/karafka/pro/routing/features/consumer_groups/patterns/topics.rb +72 -0
  199. data/lib/karafka/pro/routing/features/consumer_groups/patterns.rb +52 -0
  200. data/lib/karafka/pro/routing/features/consumer_groups/periodic_job/config.rb +56 -0
  201. data/lib/karafka/pro/routing/features/{direct_assignments/contracts/consumer_group.rb → consumer_groups/periodic_job/contracts/topic.rb} +17 -22
  202. data/lib/karafka/pro/routing/features/consumer_groups/periodic_job/topic.rb +122 -0
  203. data/lib/karafka/pro/routing/features/consumer_groups/periodic_job.rb +46 -0
  204. data/lib/karafka/pro/routing/features/consumer_groups/recurring_tasks/builder.rb +150 -0
  205. data/lib/karafka/pro/routing/features/{swarm → consumer_groups/recurring_tasks}/config.rb +7 -8
  206. data/lib/karafka/pro/routing/features/{inline_insights → consumer_groups/recurring_tasks}/contracts/topic.rb +14 -13
  207. data/lib/karafka/pro/routing/features/{scheduled_messages → consumer_groups/recurring_tasks}/proxy.rb +6 -4
  208. data/lib/karafka/pro/routing/features/consumer_groups/recurring_tasks/topic.rb +72 -0
  209. data/lib/karafka/pro/routing/features/consumer_groups/recurring_tasks.rb +44 -0
  210. data/lib/karafka/pro/routing/features/consumer_groups/scheduled_messages/builder.rb +154 -0
  211. data/lib/karafka/pro/routing/features/consumer_groups/scheduled_messages/config.rb +47 -0
  212. data/lib/karafka/pro/routing/features/{long_running_job → consumer_groups/scheduled_messages}/contracts/topic.rb +14 -12
  213. data/lib/karafka/pro/routing/features/{delaying/config.rb → consumer_groups/scheduled_messages/proxy.rb} +6 -4
  214. data/lib/karafka/pro/routing/features/consumer_groups/scheduled_messages/topic.rb +72 -0
  215. data/lib/karafka/pro/routing/features/{recurring_tasks/proxy.rb → consumer_groups/scheduled_messages.rb} +3 -4
  216. data/lib/karafka/pro/routing/features/{non_blocking_job/topic.rb → consumer_groups/swarm/config.rb} +9 -8
  217. data/lib/karafka/pro/routing/features/consumer_groups/swarm/contracts/routing.rb +94 -0
  218. data/lib/karafka/pro/routing/features/consumer_groups/swarm/contracts/topic.rb +95 -0
  219. data/lib/karafka/pro/routing/features/consumer_groups/swarm/topic.rb +105 -0
  220. data/lib/karafka/pro/routing/features/consumer_groups/swarm.rb +58 -0
  221. data/lib/karafka/pro/routing/features/consumer_groups/virtual_partitions/config.rb +69 -0
  222. data/lib/karafka/pro/routing/features/{parallel_segments/contracts/consumer_group.rb → consumer_groups/virtual_partitions/contracts/topic.rb} +21 -18
  223. data/lib/karafka/pro/routing/features/consumer_groups/virtual_partitions/topic.rb +101 -0
  224. data/lib/karafka/pro/routing/features/consumer_groups/virtual_partitions.rb +46 -0
  225. data/lib/karafka/pro/routing/features/{scheduled_messages.rb → consumer_groups.rb} +3 -2
  226. data/lib/karafka/pro/routing/features/expiring/topic.rb +4 -4
  227. data/lib/karafka/pro/routing/features/filtering/topic.rb +3 -3
  228. data/lib/karafka/pro/routing/features/pausing/topic.rb +3 -3
  229. data/lib/karafka/pro/routing/features/throttling/topic.rb +4 -4
  230. data/lib/karafka/pro/setup/defaults_injector.rb +70 -0
  231. data/lib/karafka/pro/swarm/liveness_listener.rb +22 -10
  232. data/lib/karafka/processing/consumer_groups/coordinator.rb +221 -0
  233. data/lib/karafka/processing/consumer_groups/coordinators_buffer.rb +69 -0
  234. data/lib/karafka/processing/consumer_groups/executor.rb +220 -0
  235. data/lib/karafka/processing/consumer_groups/executors_buffer.rb +94 -0
  236. data/lib/karafka/processing/consumer_groups/expansions_selector.rb +26 -0
  237. data/lib/karafka/processing/consumer_groups/inline_insights/consumer.rb +47 -0
  238. data/lib/karafka/processing/consumer_groups/inline_insights/listener.rb +23 -0
  239. data/lib/karafka/processing/consumer_groups/inline_insights/tracker.rb +132 -0
  240. data/lib/karafka/processing/consumer_groups/jobs/consume.rb +52 -0
  241. data/lib/karafka/processing/consumer_groups/jobs/eofed.rb +34 -0
  242. data/lib/karafka/processing/consumer_groups/jobs/idle.rb +33 -0
  243. data/lib/karafka/processing/consumer_groups/jobs/revoked.rb +34 -0
  244. data/lib/karafka/processing/consumer_groups/jobs/shutdown.rb +32 -0
  245. data/lib/karafka/processing/consumer_groups/jobs_builder.rb +36 -0
  246. data/lib/karafka/processing/consumer_groups/partitioner.rb +28 -0
  247. data/lib/karafka/processing/consumer_groups/strategies/aj_dlq_mom.rb +48 -0
  248. data/lib/karafka/processing/consumer_groups/strategies/aj_mom.rb +25 -0
  249. data/lib/karafka/processing/consumer_groups/strategies/base.rb +65 -0
  250. data/lib/karafka/processing/consumer_groups/strategies/default.rb +218 -0
  251. data/lib/karafka/processing/consumer_groups/strategies/dlq.rb +157 -0
  252. data/lib/karafka/processing/consumer_groups/strategies/dlq_mom.rb +72 -0
  253. data/lib/karafka/processing/consumer_groups/strategies/mom.rb +33 -0
  254. data/lib/karafka/processing/consumer_groups/strategy_selector.rb +53 -0
  255. data/lib/karafka/processing/coordinator.rb +4 -211
  256. data/lib/karafka/processing/coordinators_buffer.rb +4 -59
  257. data/lib/karafka/processing/jobs_queue.rb +12 -4
  258. data/lib/karafka/processing/partitioner.rb +4 -18
  259. data/lib/karafka/processing/schedulers/default.rb +2 -1
  260. data/lib/karafka/processing/strategy_selector.rb +4 -42
  261. data/lib/karafka/processing/worker.rb +8 -4
  262. data/lib/karafka/processing/workers_pool.rb +158 -0
  263. data/lib/karafka/routing/builder.rb +12 -12
  264. data/lib/karafka/routing/contracts/routing.rb +3 -4
  265. data/lib/karafka/routing/features/base/expander.rb +5 -5
  266. data/lib/karafka/routing/features/consumer_groups/active_job/builder.rb +35 -0
  267. data/lib/karafka/routing/features/consumer_groups/active_job/config.rb +17 -0
  268. data/lib/karafka/routing/features/consumer_groups/active_job/contracts/topic.rb +44 -0
  269. data/lib/karafka/routing/features/consumer_groups/active_job/proxy.rb +16 -0
  270. data/lib/karafka/routing/features/consumer_groups/active_job/topic.rb +50 -0
  271. data/lib/karafka/routing/features/consumer_groups/active_job.rb +15 -0
  272. data/lib/karafka/routing/features/consumer_groups/dead_letter_queue/config.rb +39 -0
  273. data/lib/karafka/routing/features/consumer_groups/dead_letter_queue/contracts/topic.rb +58 -0
  274. data/lib/karafka/routing/features/consumer_groups/dead_letter_queue/topic.rb +76 -0
  275. data/lib/karafka/routing/features/consumer_groups/dead_letter_queue.rb +18 -0
  276. data/lib/karafka/routing/features/consumer_groups/eofed/config.rb +17 -0
  277. data/lib/karafka/routing/features/consumer_groups/eofed/contracts/topic.rb +39 -0
  278. data/lib/karafka/routing/features/consumer_groups/eofed/topic.rb +42 -0
  279. data/lib/karafka/routing/features/consumer_groups/eofed.rb +16 -0
  280. data/lib/karafka/routing/features/consumer_groups/inline_insights/config.rb +17 -0
  281. data/lib/karafka/routing/features/consumer_groups/inline_insights/contracts/topic.rb +27 -0
  282. data/lib/karafka/routing/features/consumer_groups/inline_insights/topic.rb +42 -0
  283. data/lib/karafka/routing/features/consumer_groups/inline_insights.rb +42 -0
  284. data/lib/karafka/routing/features/consumer_groups/manual_offset_management/config.rb +17 -0
  285. data/lib/karafka/routing/features/consumer_groups/manual_offset_management/contracts/topic.rb +27 -0
  286. data/lib/karafka/routing/features/consumer_groups/manual_offset_management/topic.rb +46 -0
  287. data/lib/karafka/routing/features/consumer_groups/manual_offset_management.rb +20 -0
  288. data/lib/karafka/routing/features/consumer_groups.rb +12 -0
  289. data/lib/karafka/routing/features/declaratives/contracts/topic.rb +4 -19
  290. data/lib/karafka/routing/features/declaratives/topic.rb +30 -14
  291. data/lib/karafka/routing/features/deserializers/topic.rb +3 -3
  292. data/lib/karafka/routing/router.rb +2 -2
  293. data/lib/karafka/routing/subscription_group.rb +18 -9
  294. data/lib/karafka/routing/topic.rb +25 -11
  295. data/lib/karafka/runner.rb +17 -17
  296. data/lib/karafka/server.rb +28 -6
  297. data/lib/karafka/setup/attributes_map.rb +2 -0
  298. data/lib/karafka/setup/config.rb +64 -15
  299. data/lib/karafka/setup/config_proxy.rb +1 -2
  300. data/lib/karafka/setup/contracts/config.rb +28 -8
  301. data/lib/karafka/setup/defaults_injector.rb +10 -0
  302. data/lib/karafka/status.rb +1 -2
  303. data/lib/karafka/swarm/liveness_listener.rb +7 -0
  304. data/lib/karafka/swarm/manager.rb +7 -7
  305. data/lib/karafka/swarm/node.rb +8 -0
  306. data/lib/karafka/swarm/supervisor.rb +9 -1
  307. data/lib/karafka/templates/karafka.rb.erb +11 -5
  308. data/lib/karafka/version.rb +1 -1
  309. metadata +237 -224
  310. data/lib/karafka/connection/rebalance_manager.rb +0 -116
  311. data/lib/karafka/instrumentation/callbacks/error.rb +0 -52
  312. data/lib/karafka/instrumentation/callbacks/rebalance.rb +0 -84
  313. data/lib/karafka/instrumentation/callbacks/statistics.rb +0 -55
  314. data/lib/karafka/pro/processing/adaptive_iterator/consumer.rb +0 -79
  315. data/lib/karafka/pro/processing/adaptive_iterator/tracker.rb +0 -92
  316. data/lib/karafka/pro/processing/collapser.rb +0 -79
  317. data/lib/karafka/pro/processing/coordinator.rb +0 -197
  318. data/lib/karafka/pro/processing/coordinators/errors_tracker.rb +0 -119
  319. data/lib/karafka/pro/processing/coordinators/filters_applier.rb +0 -152
  320. data/lib/karafka/pro/processing/coordinators/virtual_offset_manager.rb +0 -207
  321. data/lib/karafka/pro/processing/expansions_selector.rb +0 -52
  322. data/lib/karafka/pro/processing/filters/delayer.rb +0 -87
  323. data/lib/karafka/pro/processing/filters/inline_insights_delayer.rb +0 -95
  324. data/lib/karafka/pro/processing/filters/throttler.rb +0 -101
  325. data/lib/karafka/pro/processing/filters/virtual_limiter.rb +0 -74
  326. data/lib/karafka/pro/processing/jobs/eofed_non_blocking.rb +0 -51
  327. data/lib/karafka/pro/processing/jobs_builder.rb +0 -90
  328. data/lib/karafka/pro/processing/offset_metadata/consumer.rb +0 -61
  329. data/lib/karafka/pro/processing/offset_metadata/fetcher.rb +0 -149
  330. data/lib/karafka/pro/processing/offset_metadata/listener.rb +0 -63
  331. data/lib/karafka/pro/processing/parallel_segments/filters/base.rb +0 -98
  332. data/lib/karafka/pro/processing/parallel_segments/filters/default.rb +0 -110
  333. data/lib/karafka/pro/processing/parallel_segments/filters/mom.rb +0 -91
  334. data/lib/karafka/pro/processing/periodic_job/consumer.rb +0 -85
  335. data/lib/karafka/pro/processing/piping/consumer.rb +0 -149
  336. data/lib/karafka/pro/processing/strategies/aj/dlq_ftr_lrj_mom_vp.rb +0 -94
  337. data/lib/karafka/pro/processing/strategies/aj/dlq_ftr_mom.rb +0 -87
  338. data/lib/karafka/pro/processing/strategies/aj/dlq_ftr_mom_vp.rb +0 -85
  339. data/lib/karafka/pro/processing/strategies/aj/dlq_lrj_mom.rb +0 -81
  340. data/lib/karafka/pro/processing/strategies/aj/dlq_lrj_mom_vp.rb +0 -85
  341. data/lib/karafka/pro/processing/strategies/aj/dlq_mom.rb +0 -79
  342. data/lib/karafka/pro/processing/strategies/aj/dlq_mom_vp.rb +0 -84
  343. data/lib/karafka/pro/processing/strategies/aj/ftr_lrj_mom_vp.rb +0 -86
  344. data/lib/karafka/pro/processing/strategies/aj/lrj_mom.rb +0 -54
  345. data/lib/karafka/pro/processing/strategies/aj/lrj_mom_vp.rb +0 -101
  346. data/lib/karafka/pro/processing/strategies/base.rb +0 -43
  347. data/lib/karafka/pro/processing/strategies/default.rb +0 -416
  348. data/lib/karafka/pro/processing/strategies/dlq/default.rb +0 -280
  349. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj.rb +0 -90
  350. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj_mom.rb +0 -92
  351. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj_mom_vp.rb +0 -60
  352. data/lib/karafka/pro/processing/strategies/dlq/ftr_lrj_vp.rb +0 -58
  353. data/lib/karafka/pro/processing/strategies/dlq/ftr_mom.rb +0 -92
  354. data/lib/karafka/pro/processing/strategies/dlq/ftr_mom_vp.rb +0 -58
  355. data/lib/karafka/pro/processing/strategies/dlq/ftr_vp.rb +0 -57
  356. data/lib/karafka/pro/processing/strategies/dlq/lrj_mom.rb +0 -95
  357. data/lib/karafka/pro/processing/strategies/dlq/lrj_vp.rb +0 -56
  358. data/lib/karafka/pro/processing/strategies/dlq/mom.rb +0 -91
  359. data/lib/karafka/pro/processing/strategies/dlq/mom_vp.rb +0 -54
  360. data/lib/karafka/pro/processing/strategies/dlq/vp.rb +0 -57
  361. data/lib/karafka/pro/processing/strategies/ftr/default.rb +0 -141
  362. data/lib/karafka/pro/processing/strategies/ftr/vp.rb +0 -57
  363. data/lib/karafka/pro/processing/strategies/lrj/default.rb +0 -114
  364. data/lib/karafka/pro/processing/strategies/lrj/ftr.rb +0 -89
  365. data/lib/karafka/pro/processing/strategies/lrj/ftr_mom.rb +0 -87
  366. data/lib/karafka/pro/processing/strategies/lrj/ftr_mom_vp.rb +0 -57
  367. data/lib/karafka/pro/processing/strategies/lrj/ftr_vp.rb +0 -56
  368. data/lib/karafka/pro/processing/strategies/lrj/mom.rb +0 -96
  369. data/lib/karafka/pro/processing/strategies/mom/ftr_vp.rb +0 -54
  370. data/lib/karafka/pro/processing/strategies/vp/default.rb +0 -192
  371. data/lib/karafka/pro/processing/strategies.rb +0 -39
  372. data/lib/karafka/pro/processing/strategy_selector.rb +0 -102
  373. data/lib/karafka/pro/processing/subscription_groups_coordinator.rb +0 -68
  374. data/lib/karafka/pro/processing/virtual_partitions/distributors/balanced.rb +0 -77
  375. data/lib/karafka/pro/routing/features/active_job.rb +0 -43
  376. data/lib/karafka/pro/routing/features/adaptive_iterator/contracts/topic.rb +0 -89
  377. data/lib/karafka/pro/routing/features/adaptive_iterator/topic.rb +0 -88
  378. data/lib/karafka/pro/routing/features/adaptive_iterator.rb +0 -48
  379. data/lib/karafka/pro/routing/features/dead_letter_queue/contracts/topic.rb +0 -74
  380. data/lib/karafka/pro/routing/features/dead_letter_queue/topic.rb +0 -68
  381. data/lib/karafka/pro/routing/features/dead_letter_queue.rb +0 -44
  382. data/lib/karafka/pro/routing/features/delaying/topic.rb +0 -83
  383. data/lib/karafka/pro/routing/features/delaying.rb +0 -46
  384. data/lib/karafka/pro/routing/features/direct_assignments/contracts/topic.rb +0 -123
  385. data/lib/karafka/pro/routing/features/direct_assignments/subscription_group.rb +0 -95
  386. data/lib/karafka/pro/routing/features/direct_assignments/topic.rb +0 -95
  387. data/lib/karafka/pro/routing/features/direct_assignments.rb +0 -42
  388. data/lib/karafka/pro/routing/features/inline_insights/topic.rb +0 -78
  389. data/lib/karafka/pro/routing/features/inline_insights.rb +0 -43
  390. data/lib/karafka/pro/routing/features/long_running_job/config.rb +0 -45
  391. data/lib/karafka/pro/routing/features/long_running_job/topic.rb +0 -70
  392. data/lib/karafka/pro/routing/features/multiplexing/contracts/routing.rb +0 -81
  393. data/lib/karafka/pro/routing/features/multiplexing/contracts/topic.rb +0 -146
  394. data/lib/karafka/pro/routing/features/multiplexing/proxy.rb +0 -58
  395. data/lib/karafka/pro/routing/features/multiplexing.rb +0 -83
  396. data/lib/karafka/pro/routing/features/offset_metadata/config.rb +0 -50
  397. data/lib/karafka/pro/routing/features/offset_metadata/topic.rb +0 -91
  398. data/lib/karafka/pro/routing/features/parallel_segments/builder.rb +0 -72
  399. data/lib/karafka/pro/routing/features/parallel_segments/config.rb +0 -52
  400. data/lib/karafka/pro/routing/features/parallel_segments/consumer_group.rb +0 -108
  401. data/lib/karafka/pro/routing/features/patterns/config.rb +0 -71
  402. data/lib/karafka/pro/routing/features/patterns/consumer_group.rb +0 -89
  403. data/lib/karafka/pro/routing/features/patterns/contracts/topic.rb +0 -56
  404. data/lib/karafka/pro/routing/features/patterns/detector.rb +0 -96
  405. data/lib/karafka/pro/routing/features/patterns/pattern.rb +0 -112
  406. data/lib/karafka/pro/routing/features/patterns/topic.rb +0 -76
  407. data/lib/karafka/pro/routing/features/patterns/topics.rb +0 -70
  408. data/lib/karafka/pro/routing/features/patterns.rb +0 -50
  409. data/lib/karafka/pro/routing/features/periodic_job/config.rb +0 -54
  410. data/lib/karafka/pro/routing/features/periodic_job/contracts/topic.rb +0 -59
  411. data/lib/karafka/pro/routing/features/periodic_job/topic.rb +0 -120
  412. data/lib/karafka/pro/routing/features/periodic_job.rb +0 -44
  413. data/lib/karafka/pro/routing/features/recurring_tasks/builder.rb +0 -148
  414. data/lib/karafka/pro/routing/features/recurring_tasks/config.rb +0 -45
  415. data/lib/karafka/pro/routing/features/recurring_tasks/topic.rb +0 -70
  416. data/lib/karafka/pro/routing/features/recurring_tasks.rb +0 -42
  417. data/lib/karafka/pro/routing/features/scheduled_messages/builder.rb +0 -152
  418. data/lib/karafka/pro/routing/features/scheduled_messages/config.rb +0 -45
  419. data/lib/karafka/pro/routing/features/scheduled_messages/contracts/topic.rb +0 -55
  420. data/lib/karafka/pro/routing/features/scheduled_messages/topic.rb +0 -70
  421. data/lib/karafka/pro/routing/features/swarm/contracts/routing.rb +0 -92
  422. data/lib/karafka/pro/routing/features/swarm/contracts/topic.rb +0 -93
  423. data/lib/karafka/pro/routing/features/swarm/topic.rb +0 -103
  424. data/lib/karafka/pro/routing/features/swarm.rb +0 -56
  425. data/lib/karafka/pro/routing/features/virtual_partitions/config.rb +0 -67
  426. data/lib/karafka/pro/routing/features/virtual_partitions/contracts/topic.rb +0 -73
  427. data/lib/karafka/pro/routing/features/virtual_partitions/topic.rb +0 -99
  428. data/lib/karafka/pro/routing/features/virtual_partitions.rb +0 -44
  429. data/lib/karafka/processing/executor.rb +0 -216
  430. data/lib/karafka/processing/executors_buffer.rb +0 -90
  431. data/lib/karafka/processing/expansions_selector.rb +0 -22
  432. data/lib/karafka/processing/inline_insights/consumer.rb +0 -43
  433. data/lib/karafka/processing/inline_insights/listener.rb +0 -19
  434. data/lib/karafka/processing/inline_insights/tracker.rb +0 -129
  435. data/lib/karafka/processing/jobs/consume.rb +0 -47
  436. data/lib/karafka/processing/jobs/eofed.rb +0 -29
  437. data/lib/karafka/processing/jobs/idle.rb +0 -31
  438. data/lib/karafka/processing/jobs/revoked.rb +0 -29
  439. data/lib/karafka/processing/jobs/shutdown.rb +0 -30
  440. data/lib/karafka/processing/jobs_builder.rb +0 -34
  441. data/lib/karafka/processing/strategies/aj_dlq_mom.rb +0 -44
  442. data/lib/karafka/processing/strategies/aj_mom.rb +0 -21
  443. data/lib/karafka/processing/strategies/base.rb +0 -61
  444. data/lib/karafka/processing/strategies/default.rb +0 -214
  445. data/lib/karafka/processing/strategies/dlq.rb +0 -153
  446. data/lib/karafka/processing/strategies/dlq_mom.rb +0 -68
  447. data/lib/karafka/processing/strategies/mom.rb +0 -29
  448. data/lib/karafka/processing/workers_batch.rb +0 -29
  449. data/lib/karafka/routing/features/active_job/builder.rb +0 -33
  450. data/lib/karafka/routing/features/active_job/config.rb +0 -15
  451. data/lib/karafka/routing/features/active_job/contracts/topic.rb +0 -42
  452. data/lib/karafka/routing/features/active_job/proxy.rb +0 -14
  453. data/lib/karafka/routing/features/active_job/topic.rb +0 -48
  454. data/lib/karafka/routing/features/active_job.rb +0 -13
  455. data/lib/karafka/routing/features/dead_letter_queue/config.rb +0 -37
  456. data/lib/karafka/routing/features/dead_letter_queue/contracts/topic.rb +0 -56
  457. data/lib/karafka/routing/features/dead_letter_queue/topic.rb +0 -74
  458. data/lib/karafka/routing/features/dead_letter_queue.rb +0 -16
  459. data/lib/karafka/routing/features/declaratives/config.rb +0 -18
  460. data/lib/karafka/routing/features/eofed/config.rb +0 -15
  461. data/lib/karafka/routing/features/eofed/contracts/topic.rb +0 -37
  462. data/lib/karafka/routing/features/eofed/topic.rb +0 -40
  463. data/lib/karafka/routing/features/eofed.rb +0 -14
  464. data/lib/karafka/routing/features/inline_insights/config.rb +0 -15
  465. data/lib/karafka/routing/features/inline_insights/contracts/topic.rb +0 -25
  466. data/lib/karafka/routing/features/inline_insights/topic.rb +0 -40
  467. data/lib/karafka/routing/features/inline_insights.rb +0 -40
  468. data/lib/karafka/routing/features/manual_offset_management/config.rb +0 -15
  469. data/lib/karafka/routing/features/manual_offset_management/contracts/topic.rb +0 -25
  470. data/lib/karafka/routing/features/manual_offset_management/topic.rb +0 -44
  471. data/lib/karafka/routing/features/manual_offset_management.rb +0 -18
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: 2.5.9
4
+ version: 2.6.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -15,41 +15,41 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 2.5.6
18
+ version: 2.6.0
19
19
  - - "<"
20
20
  - !ruby/object:Gem::Version
21
- version: 2.6.0
21
+ version: 2.7.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: 2.5.6
28
+ version: 2.6.0
29
29
  - - "<"
30
30
  - !ruby/object:Gem::Version
31
- version: 2.6.0
31
+ version: 2.7.0
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: karafka-rdkafka
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ">="
37
37
  - !ruby/object:Gem::Version
38
- version: 0.24.0
38
+ version: 0.27.2
39
39
  type: :runtime
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
42
42
  requirements:
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 0.24.0
45
+ version: 0.27.2
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: waterdrop
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: 2.8.14
52
+ version: 2.10.1
53
53
  - - "<"
54
54
  - !ruby/object:Gem::Version
55
55
  version: 3.0.0
@@ -59,7 +59,7 @@ dependencies:
59
59
  requirements:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: 2.8.14
62
+ version: 2.10.1
63
63
  - - "<"
64
64
  - !ruby/object:Gem::Version
65
65
  version: 3.0.0
@@ -119,6 +119,7 @@ files:
119
119
  - lib/karafka/admin/configs/resource.rb
120
120
  - lib/karafka/admin/consumer_groups.rb
121
121
  - lib/karafka/admin/contracts/replication.rb
122
+ - lib/karafka/admin/isolation_levels.rb
122
123
  - lib/karafka/admin/replication.rb
123
124
  - lib/karafka/admin/topics.rb
124
125
  - lib/karafka/app.rb
@@ -144,6 +145,7 @@ files:
144
145
  - lib/karafka/cli/topics/reset.rb
145
146
  - lib/karafka/connection/client.rb
146
147
  - lib/karafka/connection/conductor.rb
148
+ - lib/karafka/connection/consumer_groups/rebalance_manager.rb
147
149
  - lib/karafka/connection/listener.rb
148
150
  - lib/karafka/connection/listeners_batch.rb
149
151
  - lib/karafka/connection/manager.rb
@@ -152,11 +154,15 @@ files:
152
154
  - lib/karafka/connection/pauses_manager.rb
153
155
  - lib/karafka/connection/proxy.rb
154
156
  - lib/karafka/connection/raw_messages_buffer.rb
155
- - lib/karafka/connection/rebalance_manager.rb
156
157
  - lib/karafka/connection/status.rb
157
158
  - lib/karafka/constraints.rb
158
159
  - lib/karafka/contracts.rb
159
160
  - lib/karafka/contracts/base.rb
161
+ - lib/karafka/declaratives.rb
162
+ - lib/karafka/declaratives/builder.rb
163
+ - lib/karafka/declaratives/contracts/topic.rb
164
+ - lib/karafka/declaratives/repository.rb
165
+ - lib/karafka/declaratives/topic.rb
160
166
  - lib/karafka/deserializers/headers.rb
161
167
  - lib/karafka/deserializers/key.rb
162
168
  - lib/karafka/deserializers/payload.rb
@@ -170,10 +176,10 @@ files:
170
176
  - lib/karafka/helpers/interval_runner.rb
171
177
  - lib/karafka/helpers/multi_delegator.rb
172
178
  - lib/karafka/instrumentation/assignments_tracker.rb
173
- - lib/karafka/instrumentation/callbacks/error.rb
179
+ - lib/karafka/instrumentation/callbacks/consumer_groups/error.rb
180
+ - lib/karafka/instrumentation/callbacks/consumer_groups/rebalance.rb
181
+ - lib/karafka/instrumentation/callbacks/consumer_groups/statistics.rb
174
182
  - lib/karafka/instrumentation/callbacks/oauthbearer_token_refresh.rb
175
- - lib/karafka/instrumentation/callbacks/rebalance.rb
176
- - lib/karafka/instrumentation/callbacks/statistics.rb
177
183
  - lib/karafka/instrumentation/logger.rb
178
184
  - lib/karafka/instrumentation/logger_listener.rb
179
185
  - lib/karafka/instrumentation/monitor.rb
@@ -236,94 +242,95 @@ files:
236
242
  - lib/karafka/pro/iterator/expander.rb
237
243
  - lib/karafka/pro/iterator/tpl_builder.rb
238
244
  - lib/karafka/pro/loader.rb
239
- - lib/karafka/pro/processing/adaptive_iterator/consumer.rb
240
- - lib/karafka/pro/processing/adaptive_iterator/tracker.rb
241
- - lib/karafka/pro/processing/collapser.rb
242
- - lib/karafka/pro/processing/coordinator.rb
243
- - lib/karafka/pro/processing/coordinators/errors_tracker.rb
244
- - lib/karafka/pro/processing/coordinators/filters_applier.rb
245
- - lib/karafka/pro/processing/coordinators/virtual_offset_manager.rb
246
- - lib/karafka/pro/processing/executor.rb
247
- - lib/karafka/pro/processing/expansions_selector.rb
245
+ - lib/karafka/pro/processing/consumer_groups/adaptive_iterator/consumer.rb
246
+ - lib/karafka/pro/processing/consumer_groups/adaptive_iterator/tracker.rb
247
+ - lib/karafka/pro/processing/consumer_groups/collapser.rb
248
+ - lib/karafka/pro/processing/consumer_groups/coordinator.rb
249
+ - lib/karafka/pro/processing/consumer_groups/coordinators/errors_tracker.rb
250
+ - lib/karafka/pro/processing/consumer_groups/coordinators/filters_applier.rb
251
+ - lib/karafka/pro/processing/consumer_groups/coordinators/virtual_offset_manager.rb
252
+ - lib/karafka/pro/processing/consumer_groups/executor.rb
253
+ - lib/karafka/pro/processing/consumer_groups/expansions_selector.rb
254
+ - lib/karafka/pro/processing/consumer_groups/filters/base.rb
255
+ - lib/karafka/pro/processing/consumer_groups/filters/delayer.rb
256
+ - lib/karafka/pro/processing/consumer_groups/filters/expirer.rb
257
+ - lib/karafka/pro/processing/consumer_groups/filters/inline_insights_delayer.rb
258
+ - lib/karafka/pro/processing/consumer_groups/filters/throttler.rb
259
+ - lib/karafka/pro/processing/consumer_groups/filters/virtual_limiter.rb
260
+ - lib/karafka/pro/processing/consumer_groups/jobs/consume_non_blocking.rb
261
+ - lib/karafka/pro/processing/consumer_groups/jobs/eofed_non_blocking.rb
262
+ - lib/karafka/pro/processing/consumer_groups/jobs/periodic.rb
263
+ - lib/karafka/pro/processing/consumer_groups/jobs/periodic_non_blocking.rb
264
+ - lib/karafka/pro/processing/consumer_groups/jobs/revoked_non_blocking.rb
265
+ - lib/karafka/pro/processing/consumer_groups/jobs_builder.rb
266
+ - lib/karafka/pro/processing/consumer_groups/offset_metadata/consumer.rb
267
+ - lib/karafka/pro/processing/consumer_groups/offset_metadata/fetcher.rb
268
+ - lib/karafka/pro/processing/consumer_groups/offset_metadata/listener.rb
269
+ - lib/karafka/pro/processing/consumer_groups/parallel_segments/filters/base.rb
270
+ - lib/karafka/pro/processing/consumer_groups/parallel_segments/filters/default.rb
271
+ - lib/karafka/pro/processing/consumer_groups/parallel_segments/filters/mom.rb
272
+ - lib/karafka/pro/processing/consumer_groups/partitioner.rb
273
+ - lib/karafka/pro/processing/consumer_groups/periodic_job/consumer.rb
274
+ - lib/karafka/pro/processing/consumer_groups/piping/consumer.rb
275
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_ftr_lrj_mom.rb
276
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_ftr_lrj_mom_vp.rb
277
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_ftr_mom.rb
278
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_ftr_mom_vp.rb
279
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_lrj_mom.rb
280
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_lrj_mom_vp.rb
281
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_mom.rb
282
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/dlq_mom_vp.rb
283
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/ftr_lrj_mom.rb
284
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/ftr_lrj_mom_vp.rb
285
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/ftr_mom.rb
286
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/ftr_mom_vp.rb
287
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/lrj_mom.rb
288
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/lrj_mom_vp.rb
289
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/mom.rb
290
+ - lib/karafka/pro/processing/consumer_groups/strategies/aj/mom_vp.rb
291
+ - lib/karafka/pro/processing/consumer_groups/strategies/base.rb
292
+ - lib/karafka/pro/processing/consumer_groups/strategies/default.rb
293
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/default.rb
294
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr.rb
295
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_lrj.rb
296
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_lrj_mom.rb
297
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_lrj_mom_vp.rb
298
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_lrj_vp.rb
299
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_mom.rb
300
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_mom_vp.rb
301
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/ftr_vp.rb
302
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/lrj.rb
303
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/lrj_mom.rb
304
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/lrj_mom_vp.rb
305
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/lrj_vp.rb
306
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/mom.rb
307
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/mom_vp.rb
308
+ - lib/karafka/pro/processing/consumer_groups/strategies/dlq/vp.rb
309
+ - lib/karafka/pro/processing/consumer_groups/strategies/ftr/default.rb
310
+ - lib/karafka/pro/processing/consumer_groups/strategies/ftr/vp.rb
311
+ - lib/karafka/pro/processing/consumer_groups/strategies/lrj/default.rb
312
+ - lib/karafka/pro/processing/consumer_groups/strategies/lrj/ftr.rb
313
+ - lib/karafka/pro/processing/consumer_groups/strategies/lrj/ftr_mom.rb
314
+ - lib/karafka/pro/processing/consumer_groups/strategies/lrj/ftr_mom_vp.rb
315
+ - lib/karafka/pro/processing/consumer_groups/strategies/lrj/ftr_vp.rb
316
+ - lib/karafka/pro/processing/consumer_groups/strategies/lrj/mom.rb
317
+ - lib/karafka/pro/processing/consumer_groups/strategies/lrj/mom_vp.rb
318
+ - lib/karafka/pro/processing/consumer_groups/strategies/lrj/vp.rb
319
+ - lib/karafka/pro/processing/consumer_groups/strategies/mom/default.rb
320
+ - lib/karafka/pro/processing/consumer_groups/strategies/mom/ftr.rb
321
+ - lib/karafka/pro/processing/consumer_groups/strategies/mom/ftr_vp.rb
322
+ - lib/karafka/pro/processing/consumer_groups/strategies/mom/vp.rb
323
+ - lib/karafka/pro/processing/consumer_groups/strategies/vp/default.rb
324
+ - lib/karafka/pro/processing/consumer_groups/strategy_selector.rb
325
+ - lib/karafka/pro/processing/consumer_groups/subscription_groups_coordinator.rb
326
+ - lib/karafka/pro/processing/consumer_groups/virtual_partitions/distributors/balanced.rb
327
+ - lib/karafka/pro/processing/consumer_groups/virtual_partitions/distributors/base.rb
328
+ - lib/karafka/pro/processing/consumer_groups/virtual_partitions/distributors/consistent.rb
248
329
  - lib/karafka/pro/processing/filters/base.rb
249
- - lib/karafka/pro/processing/filters/delayer.rb
250
- - lib/karafka/pro/processing/filters/expirer.rb
251
- - lib/karafka/pro/processing/filters/inline_insights_delayer.rb
252
- - lib/karafka/pro/processing/filters/throttler.rb
253
- - lib/karafka/pro/processing/filters/virtual_limiter.rb
254
- - lib/karafka/pro/processing/jobs/consume_non_blocking.rb
255
- - lib/karafka/pro/processing/jobs/eofed_non_blocking.rb
256
- - lib/karafka/pro/processing/jobs/periodic.rb
257
- - lib/karafka/pro/processing/jobs/periodic_non_blocking.rb
258
- - lib/karafka/pro/processing/jobs/revoked_non_blocking.rb
259
- - lib/karafka/pro/processing/jobs_builder.rb
260
330
  - lib/karafka/pro/processing/jobs_queue.rb
261
- - lib/karafka/pro/processing/offset_metadata/consumer.rb
262
- - lib/karafka/pro/processing/offset_metadata/fetcher.rb
263
- - lib/karafka/pro/processing/offset_metadata/listener.rb
264
- - lib/karafka/pro/processing/parallel_segments/filters/base.rb
265
- - lib/karafka/pro/processing/parallel_segments/filters/default.rb
266
- - lib/karafka/pro/processing/parallel_segments/filters/mom.rb
267
331
  - lib/karafka/pro/processing/partitioner.rb
268
- - lib/karafka/pro/processing/periodic_job/consumer.rb
269
- - lib/karafka/pro/processing/piping/consumer.rb
270
332
  - lib/karafka/pro/processing/schedulers/base.rb
271
333
  - lib/karafka/pro/processing/schedulers/default.rb
272
- - lib/karafka/pro/processing/strategies.rb
273
- - lib/karafka/pro/processing/strategies/aj/dlq_ftr_lrj_mom.rb
274
- - lib/karafka/pro/processing/strategies/aj/dlq_ftr_lrj_mom_vp.rb
275
- - lib/karafka/pro/processing/strategies/aj/dlq_ftr_mom.rb
276
- - lib/karafka/pro/processing/strategies/aj/dlq_ftr_mom_vp.rb
277
- - lib/karafka/pro/processing/strategies/aj/dlq_lrj_mom.rb
278
- - lib/karafka/pro/processing/strategies/aj/dlq_lrj_mom_vp.rb
279
- - lib/karafka/pro/processing/strategies/aj/dlq_mom.rb
280
- - lib/karafka/pro/processing/strategies/aj/dlq_mom_vp.rb
281
- - lib/karafka/pro/processing/strategies/aj/ftr_lrj_mom.rb
282
- - lib/karafka/pro/processing/strategies/aj/ftr_lrj_mom_vp.rb
283
- - lib/karafka/pro/processing/strategies/aj/ftr_mom.rb
284
- - lib/karafka/pro/processing/strategies/aj/ftr_mom_vp.rb
285
- - lib/karafka/pro/processing/strategies/aj/lrj_mom.rb
286
- - lib/karafka/pro/processing/strategies/aj/lrj_mom_vp.rb
287
- - lib/karafka/pro/processing/strategies/aj/mom.rb
288
- - lib/karafka/pro/processing/strategies/aj/mom_vp.rb
289
- - lib/karafka/pro/processing/strategies/base.rb
290
- - lib/karafka/pro/processing/strategies/default.rb
291
- - lib/karafka/pro/processing/strategies/dlq/default.rb
292
- - lib/karafka/pro/processing/strategies/dlq/ftr.rb
293
- - lib/karafka/pro/processing/strategies/dlq/ftr_lrj.rb
294
- - lib/karafka/pro/processing/strategies/dlq/ftr_lrj_mom.rb
295
- - lib/karafka/pro/processing/strategies/dlq/ftr_lrj_mom_vp.rb
296
- - lib/karafka/pro/processing/strategies/dlq/ftr_lrj_vp.rb
297
- - lib/karafka/pro/processing/strategies/dlq/ftr_mom.rb
298
- - lib/karafka/pro/processing/strategies/dlq/ftr_mom_vp.rb
299
- - lib/karafka/pro/processing/strategies/dlq/ftr_vp.rb
300
- - lib/karafka/pro/processing/strategies/dlq/lrj.rb
301
- - lib/karafka/pro/processing/strategies/dlq/lrj_mom.rb
302
- - lib/karafka/pro/processing/strategies/dlq/lrj_mom_vp.rb
303
- - lib/karafka/pro/processing/strategies/dlq/lrj_vp.rb
304
- - lib/karafka/pro/processing/strategies/dlq/mom.rb
305
- - lib/karafka/pro/processing/strategies/dlq/mom_vp.rb
306
- - lib/karafka/pro/processing/strategies/dlq/vp.rb
307
- - lib/karafka/pro/processing/strategies/ftr/default.rb
308
- - lib/karafka/pro/processing/strategies/ftr/vp.rb
309
- - lib/karafka/pro/processing/strategies/lrj/default.rb
310
- - lib/karafka/pro/processing/strategies/lrj/ftr.rb
311
- - lib/karafka/pro/processing/strategies/lrj/ftr_mom.rb
312
- - lib/karafka/pro/processing/strategies/lrj/ftr_mom_vp.rb
313
- - lib/karafka/pro/processing/strategies/lrj/ftr_vp.rb
314
- - lib/karafka/pro/processing/strategies/lrj/mom.rb
315
- - lib/karafka/pro/processing/strategies/lrj/mom_vp.rb
316
- - lib/karafka/pro/processing/strategies/lrj/vp.rb
317
- - lib/karafka/pro/processing/strategies/mom/default.rb
318
- - lib/karafka/pro/processing/strategies/mom/ftr.rb
319
- - lib/karafka/pro/processing/strategies/mom/ftr_vp.rb
320
- - lib/karafka/pro/processing/strategies/mom/vp.rb
321
- - lib/karafka/pro/processing/strategies/vp/default.rb
322
- - lib/karafka/pro/processing/strategy_selector.rb
323
- - lib/karafka/pro/processing/subscription_groups_coordinator.rb
324
- - lib/karafka/pro/processing/virtual_partitions/distributors/balanced.rb
325
- - lib/karafka/pro/processing/virtual_partitions/distributors/base.rb
326
- - lib/karafka/pro/processing/virtual_partitions/distributors/consistent.rb
327
334
  - lib/karafka/pro/recurring_tasks.rb
328
335
  - lib/karafka/pro/recurring_tasks/consumer.rb
329
336
  - lib/karafka/pro/recurring_tasks/contracts/config.rb
@@ -338,26 +345,92 @@ files:
338
345
  - lib/karafka/pro/recurring_tasks/serializer.rb
339
346
  - lib/karafka/pro/recurring_tasks/setup/config.rb
340
347
  - lib/karafka/pro/recurring_tasks/task.rb
341
- - lib/karafka/pro/routing/features/active_job.rb
342
- - lib/karafka/pro/routing/features/active_job/builder.rb
343
- - lib/karafka/pro/routing/features/adaptive_iterator.rb
344
- - lib/karafka/pro/routing/features/adaptive_iterator/config.rb
345
- - lib/karafka/pro/routing/features/adaptive_iterator/contracts/topic.rb
346
- - lib/karafka/pro/routing/features/adaptive_iterator/topic.rb
347
348
  - lib/karafka/pro/routing/features/base.rb
348
- - lib/karafka/pro/routing/features/dead_letter_queue.rb
349
- - lib/karafka/pro/routing/features/dead_letter_queue/contracts/topic.rb
350
- - lib/karafka/pro/routing/features/dead_letter_queue/topic.rb
351
- - lib/karafka/pro/routing/features/delaying.rb
352
- - lib/karafka/pro/routing/features/delaying/config.rb
353
- - lib/karafka/pro/routing/features/delaying/contracts/topic.rb
354
- - lib/karafka/pro/routing/features/delaying/topic.rb
355
- - lib/karafka/pro/routing/features/direct_assignments.rb
356
- - lib/karafka/pro/routing/features/direct_assignments/config.rb
357
- - lib/karafka/pro/routing/features/direct_assignments/contracts/consumer_group.rb
358
- - lib/karafka/pro/routing/features/direct_assignments/contracts/topic.rb
359
- - lib/karafka/pro/routing/features/direct_assignments/subscription_group.rb
360
- - lib/karafka/pro/routing/features/direct_assignments/topic.rb
349
+ - lib/karafka/pro/routing/features/consumer_groups.rb
350
+ - lib/karafka/pro/routing/features/consumer_groups/active_job.rb
351
+ - lib/karafka/pro/routing/features/consumer_groups/active_job/builder.rb
352
+ - lib/karafka/pro/routing/features/consumer_groups/adaptive_iterator.rb
353
+ - lib/karafka/pro/routing/features/consumer_groups/adaptive_iterator/config.rb
354
+ - lib/karafka/pro/routing/features/consumer_groups/adaptive_iterator/contracts/topic.rb
355
+ - lib/karafka/pro/routing/features/consumer_groups/adaptive_iterator/topic.rb
356
+ - lib/karafka/pro/routing/features/consumer_groups/dead_letter_queue.rb
357
+ - lib/karafka/pro/routing/features/consumer_groups/dead_letter_queue/contracts/topic.rb
358
+ - lib/karafka/pro/routing/features/consumer_groups/dead_letter_queue/topic.rb
359
+ - lib/karafka/pro/routing/features/consumer_groups/delaying.rb
360
+ - lib/karafka/pro/routing/features/consumer_groups/delaying/config.rb
361
+ - lib/karafka/pro/routing/features/consumer_groups/delaying/contracts/topic.rb
362
+ - lib/karafka/pro/routing/features/consumer_groups/delaying/topic.rb
363
+ - lib/karafka/pro/routing/features/consumer_groups/direct_assignments.rb
364
+ - lib/karafka/pro/routing/features/consumer_groups/direct_assignments/config.rb
365
+ - lib/karafka/pro/routing/features/consumer_groups/direct_assignments/contracts/consumer_group.rb
366
+ - lib/karafka/pro/routing/features/consumer_groups/direct_assignments/contracts/topic.rb
367
+ - lib/karafka/pro/routing/features/consumer_groups/direct_assignments/subscription_group.rb
368
+ - lib/karafka/pro/routing/features/consumer_groups/direct_assignments/topic.rb
369
+ - lib/karafka/pro/routing/features/consumer_groups/inline_insights.rb
370
+ - lib/karafka/pro/routing/features/consumer_groups/inline_insights/config.rb
371
+ - lib/karafka/pro/routing/features/consumer_groups/inline_insights/contracts/topic.rb
372
+ - lib/karafka/pro/routing/features/consumer_groups/inline_insights/topic.rb
373
+ - lib/karafka/pro/routing/features/consumer_groups/long_running_job.rb
374
+ - lib/karafka/pro/routing/features/consumer_groups/long_running_job/config.rb
375
+ - lib/karafka/pro/routing/features/consumer_groups/long_running_job/contracts/topic.rb
376
+ - lib/karafka/pro/routing/features/consumer_groups/long_running_job/topic.rb
377
+ - lib/karafka/pro/routing/features/consumer_groups/multiplexing.rb
378
+ - lib/karafka/pro/routing/features/consumer_groups/multiplexing/config.rb
379
+ - lib/karafka/pro/routing/features/consumer_groups/multiplexing/contracts/routing.rb
380
+ - lib/karafka/pro/routing/features/consumer_groups/multiplexing/contracts/topic.rb
381
+ - lib/karafka/pro/routing/features/consumer_groups/multiplexing/patches/contracts/consumer_group.rb
382
+ - lib/karafka/pro/routing/features/consumer_groups/multiplexing/proxy.rb
383
+ - lib/karafka/pro/routing/features/consumer_groups/multiplexing/subscription_group.rb
384
+ - lib/karafka/pro/routing/features/consumer_groups/multiplexing/subscription_groups_builder.rb
385
+ - lib/karafka/pro/routing/features/consumer_groups/non_blocking_job.rb
386
+ - lib/karafka/pro/routing/features/consumer_groups/non_blocking_job/topic.rb
387
+ - lib/karafka/pro/routing/features/consumer_groups/offset_metadata.rb
388
+ - lib/karafka/pro/routing/features/consumer_groups/offset_metadata/config.rb
389
+ - lib/karafka/pro/routing/features/consumer_groups/offset_metadata/contracts/topic.rb
390
+ - lib/karafka/pro/routing/features/consumer_groups/offset_metadata/topic.rb
391
+ - lib/karafka/pro/routing/features/consumer_groups/parallel_segments.rb
392
+ - lib/karafka/pro/routing/features/consumer_groups/parallel_segments/builder.rb
393
+ - lib/karafka/pro/routing/features/consumer_groups/parallel_segments/config.rb
394
+ - lib/karafka/pro/routing/features/consumer_groups/parallel_segments/consumer_group.rb
395
+ - lib/karafka/pro/routing/features/consumer_groups/parallel_segments/contracts/consumer_group.rb
396
+ - lib/karafka/pro/routing/features/consumer_groups/parallel_segments/topic.rb
397
+ - lib/karafka/pro/routing/features/consumer_groups/patterns.rb
398
+ - lib/karafka/pro/routing/features/consumer_groups/patterns/builder.rb
399
+ - lib/karafka/pro/routing/features/consumer_groups/patterns/config.rb
400
+ - lib/karafka/pro/routing/features/consumer_groups/patterns/consumer_group.rb
401
+ - lib/karafka/pro/routing/features/consumer_groups/patterns/contracts/consumer_group.rb
402
+ - lib/karafka/pro/routing/features/consumer_groups/patterns/contracts/pattern.rb
403
+ - lib/karafka/pro/routing/features/consumer_groups/patterns/contracts/topic.rb
404
+ - lib/karafka/pro/routing/features/consumer_groups/patterns/detector.rb
405
+ - lib/karafka/pro/routing/features/consumer_groups/patterns/pattern.rb
406
+ - lib/karafka/pro/routing/features/consumer_groups/patterns/patterns.rb
407
+ - lib/karafka/pro/routing/features/consumer_groups/patterns/topic.rb
408
+ - lib/karafka/pro/routing/features/consumer_groups/patterns/topics.rb
409
+ - lib/karafka/pro/routing/features/consumer_groups/periodic_job.rb
410
+ - lib/karafka/pro/routing/features/consumer_groups/periodic_job/config.rb
411
+ - lib/karafka/pro/routing/features/consumer_groups/periodic_job/contracts/topic.rb
412
+ - lib/karafka/pro/routing/features/consumer_groups/periodic_job/topic.rb
413
+ - lib/karafka/pro/routing/features/consumer_groups/recurring_tasks.rb
414
+ - lib/karafka/pro/routing/features/consumer_groups/recurring_tasks/builder.rb
415
+ - lib/karafka/pro/routing/features/consumer_groups/recurring_tasks/config.rb
416
+ - lib/karafka/pro/routing/features/consumer_groups/recurring_tasks/contracts/topic.rb
417
+ - lib/karafka/pro/routing/features/consumer_groups/recurring_tasks/proxy.rb
418
+ - lib/karafka/pro/routing/features/consumer_groups/recurring_tasks/topic.rb
419
+ - lib/karafka/pro/routing/features/consumer_groups/scheduled_messages.rb
420
+ - lib/karafka/pro/routing/features/consumer_groups/scheduled_messages/builder.rb
421
+ - lib/karafka/pro/routing/features/consumer_groups/scheduled_messages/config.rb
422
+ - lib/karafka/pro/routing/features/consumer_groups/scheduled_messages/contracts/topic.rb
423
+ - lib/karafka/pro/routing/features/consumer_groups/scheduled_messages/proxy.rb
424
+ - lib/karafka/pro/routing/features/consumer_groups/scheduled_messages/topic.rb
425
+ - lib/karafka/pro/routing/features/consumer_groups/swarm.rb
426
+ - lib/karafka/pro/routing/features/consumer_groups/swarm/config.rb
427
+ - lib/karafka/pro/routing/features/consumer_groups/swarm/contracts/routing.rb
428
+ - lib/karafka/pro/routing/features/consumer_groups/swarm/contracts/topic.rb
429
+ - lib/karafka/pro/routing/features/consumer_groups/swarm/topic.rb
430
+ - lib/karafka/pro/routing/features/consumer_groups/virtual_partitions.rb
431
+ - lib/karafka/pro/routing/features/consumer_groups/virtual_partitions/config.rb
432
+ - lib/karafka/pro/routing/features/consumer_groups/virtual_partitions/contracts/topic.rb
433
+ - lib/karafka/pro/routing/features/consumer_groups/virtual_partitions/topic.rb
361
434
  - lib/karafka/pro/routing/features/expiring.rb
362
435
  - lib/karafka/pro/routing/features/expiring/config.rb
363
436
  - lib/karafka/pro/routing/features/expiring/contracts/topic.rb
@@ -366,79 +439,14 @@ files:
366
439
  - lib/karafka/pro/routing/features/filtering/config.rb
367
440
  - lib/karafka/pro/routing/features/filtering/contracts/topic.rb
368
441
  - lib/karafka/pro/routing/features/filtering/topic.rb
369
- - lib/karafka/pro/routing/features/inline_insights.rb
370
- - lib/karafka/pro/routing/features/inline_insights/config.rb
371
- - lib/karafka/pro/routing/features/inline_insights/contracts/topic.rb
372
- - lib/karafka/pro/routing/features/inline_insights/topic.rb
373
- - lib/karafka/pro/routing/features/long_running_job.rb
374
- - lib/karafka/pro/routing/features/long_running_job/config.rb
375
- - lib/karafka/pro/routing/features/long_running_job/contracts/topic.rb
376
- - lib/karafka/pro/routing/features/long_running_job/topic.rb
377
- - lib/karafka/pro/routing/features/multiplexing.rb
378
- - lib/karafka/pro/routing/features/multiplexing/config.rb
379
- - lib/karafka/pro/routing/features/multiplexing/contracts/routing.rb
380
- - lib/karafka/pro/routing/features/multiplexing/contracts/topic.rb
381
- - lib/karafka/pro/routing/features/multiplexing/patches/contracts/consumer_group.rb
382
- - lib/karafka/pro/routing/features/multiplexing/proxy.rb
383
- - lib/karafka/pro/routing/features/multiplexing/subscription_group.rb
384
- - lib/karafka/pro/routing/features/multiplexing/subscription_groups_builder.rb
385
- - lib/karafka/pro/routing/features/non_blocking_job.rb
386
- - lib/karafka/pro/routing/features/non_blocking_job/topic.rb
387
- - lib/karafka/pro/routing/features/offset_metadata.rb
388
- - lib/karafka/pro/routing/features/offset_metadata/config.rb
389
- - lib/karafka/pro/routing/features/offset_metadata/contracts/topic.rb
390
- - lib/karafka/pro/routing/features/offset_metadata/topic.rb
391
- - lib/karafka/pro/routing/features/parallel_segments.rb
392
- - lib/karafka/pro/routing/features/parallel_segments/builder.rb
393
- - lib/karafka/pro/routing/features/parallel_segments/config.rb
394
- - lib/karafka/pro/routing/features/parallel_segments/consumer_group.rb
395
- - lib/karafka/pro/routing/features/parallel_segments/contracts/consumer_group.rb
396
- - lib/karafka/pro/routing/features/parallel_segments/topic.rb
397
- - lib/karafka/pro/routing/features/patterns.rb
398
- - lib/karafka/pro/routing/features/patterns/builder.rb
399
- - lib/karafka/pro/routing/features/patterns/config.rb
400
- - lib/karafka/pro/routing/features/patterns/consumer_group.rb
401
- - lib/karafka/pro/routing/features/patterns/contracts/consumer_group.rb
402
- - lib/karafka/pro/routing/features/patterns/contracts/pattern.rb
403
- - lib/karafka/pro/routing/features/patterns/contracts/topic.rb
404
- - lib/karafka/pro/routing/features/patterns/detector.rb
405
- - lib/karafka/pro/routing/features/patterns/pattern.rb
406
- - lib/karafka/pro/routing/features/patterns/patterns.rb
407
- - lib/karafka/pro/routing/features/patterns/topic.rb
408
- - lib/karafka/pro/routing/features/patterns/topics.rb
409
442
  - lib/karafka/pro/routing/features/pausing.rb
410
443
  - lib/karafka/pro/routing/features/pausing/config.rb
411
444
  - lib/karafka/pro/routing/features/pausing/contracts/topic.rb
412
445
  - lib/karafka/pro/routing/features/pausing/topic.rb
413
- - lib/karafka/pro/routing/features/periodic_job.rb
414
- - lib/karafka/pro/routing/features/periodic_job/config.rb
415
- - lib/karafka/pro/routing/features/periodic_job/contracts/topic.rb
416
- - lib/karafka/pro/routing/features/periodic_job/topic.rb
417
- - lib/karafka/pro/routing/features/recurring_tasks.rb
418
- - lib/karafka/pro/routing/features/recurring_tasks/builder.rb
419
- - lib/karafka/pro/routing/features/recurring_tasks/config.rb
420
- - lib/karafka/pro/routing/features/recurring_tasks/contracts/topic.rb
421
- - lib/karafka/pro/routing/features/recurring_tasks/proxy.rb
422
- - lib/karafka/pro/routing/features/recurring_tasks/topic.rb
423
- - lib/karafka/pro/routing/features/scheduled_messages.rb
424
- - lib/karafka/pro/routing/features/scheduled_messages/builder.rb
425
- - lib/karafka/pro/routing/features/scheduled_messages/config.rb
426
- - lib/karafka/pro/routing/features/scheduled_messages/contracts/topic.rb
427
- - lib/karafka/pro/routing/features/scheduled_messages/proxy.rb
428
- - lib/karafka/pro/routing/features/scheduled_messages/topic.rb
429
- - lib/karafka/pro/routing/features/swarm.rb
430
- - lib/karafka/pro/routing/features/swarm/config.rb
431
- - lib/karafka/pro/routing/features/swarm/contracts/routing.rb
432
- - lib/karafka/pro/routing/features/swarm/contracts/topic.rb
433
- - lib/karafka/pro/routing/features/swarm/topic.rb
434
446
  - lib/karafka/pro/routing/features/throttling.rb
435
447
  - lib/karafka/pro/routing/features/throttling/config.rb
436
448
  - lib/karafka/pro/routing/features/throttling/contracts/topic.rb
437
449
  - lib/karafka/pro/routing/features/throttling/topic.rb
438
- - lib/karafka/pro/routing/features/virtual_partitions.rb
439
- - lib/karafka/pro/routing/features/virtual_partitions/config.rb
440
- - lib/karafka/pro/routing/features/virtual_partitions/contracts/topic.rb
441
- - lib/karafka/pro/routing/features/virtual_partitions/topic.rb
442
450
  - lib/karafka/pro/scheduled_messages.rb
443
451
  - lib/karafka/pro/scheduled_messages/consumer.rb
444
452
  - lib/karafka/pro/scheduled_messages/contracts/config.rb
@@ -456,37 +464,42 @@ files:
456
464
  - lib/karafka/pro/scheduled_messages/setup/config.rb
457
465
  - lib/karafka/pro/scheduled_messages/state.rb
458
466
  - lib/karafka/pro/scheduled_messages/tracker.rb
467
+ - lib/karafka/pro/setup/defaults_injector.rb
459
468
  - lib/karafka/pro/swarm/liveness_listener.rb
460
469
  - lib/karafka/process.rb
470
+ - lib/karafka/processing/consumer_groups/coordinator.rb
471
+ - lib/karafka/processing/consumer_groups/coordinators_buffer.rb
472
+ - lib/karafka/processing/consumer_groups/executor.rb
473
+ - lib/karafka/processing/consumer_groups/executors_buffer.rb
474
+ - lib/karafka/processing/consumer_groups/expansions_selector.rb
475
+ - lib/karafka/processing/consumer_groups/inline_insights/consumer.rb
476
+ - lib/karafka/processing/consumer_groups/inline_insights/listener.rb
477
+ - lib/karafka/processing/consumer_groups/inline_insights/tracker.rb
478
+ - lib/karafka/processing/consumer_groups/jobs/consume.rb
479
+ - lib/karafka/processing/consumer_groups/jobs/eofed.rb
480
+ - lib/karafka/processing/consumer_groups/jobs/idle.rb
481
+ - lib/karafka/processing/consumer_groups/jobs/revoked.rb
482
+ - lib/karafka/processing/consumer_groups/jobs/shutdown.rb
483
+ - lib/karafka/processing/consumer_groups/jobs_builder.rb
484
+ - lib/karafka/processing/consumer_groups/partitioner.rb
485
+ - lib/karafka/processing/consumer_groups/strategies/aj_dlq_mom.rb
486
+ - lib/karafka/processing/consumer_groups/strategies/aj_mom.rb
487
+ - lib/karafka/processing/consumer_groups/strategies/base.rb
488
+ - lib/karafka/processing/consumer_groups/strategies/default.rb
489
+ - lib/karafka/processing/consumer_groups/strategies/dlq.rb
490
+ - lib/karafka/processing/consumer_groups/strategies/dlq_mom.rb
491
+ - lib/karafka/processing/consumer_groups/strategies/mom.rb
492
+ - lib/karafka/processing/consumer_groups/strategy_selector.rb
461
493
  - lib/karafka/processing/coordinator.rb
462
494
  - lib/karafka/processing/coordinators_buffer.rb
463
- - lib/karafka/processing/executor.rb
464
- - lib/karafka/processing/executors_buffer.rb
465
- - lib/karafka/processing/expansions_selector.rb
466
- - lib/karafka/processing/inline_insights/consumer.rb
467
- - lib/karafka/processing/inline_insights/listener.rb
468
- - lib/karafka/processing/inline_insights/tracker.rb
469
495
  - lib/karafka/processing/jobs/base.rb
470
- - lib/karafka/processing/jobs/consume.rb
471
- - lib/karafka/processing/jobs/eofed.rb
472
- - lib/karafka/processing/jobs/idle.rb
473
- - lib/karafka/processing/jobs/revoked.rb
474
- - lib/karafka/processing/jobs/shutdown.rb
475
- - lib/karafka/processing/jobs_builder.rb
476
496
  - lib/karafka/processing/jobs_queue.rb
477
497
  - lib/karafka/processing/partitioner.rb
478
498
  - lib/karafka/processing/result.rb
479
499
  - lib/karafka/processing/schedulers/default.rb
480
- - lib/karafka/processing/strategies/aj_dlq_mom.rb
481
- - lib/karafka/processing/strategies/aj_mom.rb
482
- - lib/karafka/processing/strategies/base.rb
483
- - lib/karafka/processing/strategies/default.rb
484
- - lib/karafka/processing/strategies/dlq.rb
485
- - lib/karafka/processing/strategies/dlq_mom.rb
486
- - lib/karafka/processing/strategies/mom.rb
487
500
  - lib/karafka/processing/strategy_selector.rb
488
501
  - lib/karafka/processing/worker.rb
489
- - lib/karafka/processing/workers_batch.rb
502
+ - lib/karafka/processing/workers_pool.rb
490
503
  - lib/karafka/railtie.rb
491
504
  - lib/karafka/routing/activity_manager.rb
492
505
  - lib/karafka/routing/builder.rb
@@ -494,38 +507,38 @@ files:
494
507
  - lib/karafka/routing/contracts/consumer_group.rb
495
508
  - lib/karafka/routing/contracts/routing.rb
496
509
  - lib/karafka/routing/contracts/topic.rb
497
- - lib/karafka/routing/features/active_job.rb
498
- - lib/karafka/routing/features/active_job/builder.rb
499
- - lib/karafka/routing/features/active_job/config.rb
500
- - lib/karafka/routing/features/active_job/contracts/topic.rb
501
- - lib/karafka/routing/features/active_job/proxy.rb
502
- - lib/karafka/routing/features/active_job/topic.rb
503
510
  - lib/karafka/routing/features/base.rb
504
511
  - lib/karafka/routing/features/base/expander.rb
505
- - lib/karafka/routing/features/dead_letter_queue.rb
506
- - lib/karafka/routing/features/dead_letter_queue/config.rb
507
- - lib/karafka/routing/features/dead_letter_queue/contracts/topic.rb
508
- - lib/karafka/routing/features/dead_letter_queue/topic.rb
512
+ - lib/karafka/routing/features/consumer_groups.rb
513
+ - lib/karafka/routing/features/consumer_groups/active_job.rb
514
+ - lib/karafka/routing/features/consumer_groups/active_job/builder.rb
515
+ - lib/karafka/routing/features/consumer_groups/active_job/config.rb
516
+ - lib/karafka/routing/features/consumer_groups/active_job/contracts/topic.rb
517
+ - lib/karafka/routing/features/consumer_groups/active_job/proxy.rb
518
+ - lib/karafka/routing/features/consumer_groups/active_job/topic.rb
519
+ - lib/karafka/routing/features/consumer_groups/dead_letter_queue.rb
520
+ - lib/karafka/routing/features/consumer_groups/dead_letter_queue/config.rb
521
+ - lib/karafka/routing/features/consumer_groups/dead_letter_queue/contracts/topic.rb
522
+ - lib/karafka/routing/features/consumer_groups/dead_letter_queue/topic.rb
523
+ - lib/karafka/routing/features/consumer_groups/eofed.rb
524
+ - lib/karafka/routing/features/consumer_groups/eofed/config.rb
525
+ - lib/karafka/routing/features/consumer_groups/eofed/contracts/topic.rb
526
+ - lib/karafka/routing/features/consumer_groups/eofed/topic.rb
527
+ - lib/karafka/routing/features/consumer_groups/inline_insights.rb
528
+ - lib/karafka/routing/features/consumer_groups/inline_insights/config.rb
529
+ - lib/karafka/routing/features/consumer_groups/inline_insights/contracts/topic.rb
530
+ - lib/karafka/routing/features/consumer_groups/inline_insights/topic.rb
531
+ - lib/karafka/routing/features/consumer_groups/manual_offset_management.rb
532
+ - lib/karafka/routing/features/consumer_groups/manual_offset_management/config.rb
533
+ - lib/karafka/routing/features/consumer_groups/manual_offset_management/contracts/topic.rb
534
+ - lib/karafka/routing/features/consumer_groups/manual_offset_management/topic.rb
509
535
  - lib/karafka/routing/features/declaratives.rb
510
- - lib/karafka/routing/features/declaratives/config.rb
511
536
  - lib/karafka/routing/features/declaratives/contracts/topic.rb
512
537
  - lib/karafka/routing/features/declaratives/topic.rb
513
538
  - lib/karafka/routing/features/deserializers.rb
514
539
  - lib/karafka/routing/features/deserializers/config.rb
515
540
  - lib/karafka/routing/features/deserializers/contracts/topic.rb
516
541
  - lib/karafka/routing/features/deserializers/topic.rb
517
- - lib/karafka/routing/features/eofed.rb
518
- - lib/karafka/routing/features/eofed/config.rb
519
- - lib/karafka/routing/features/eofed/contracts/topic.rb
520
- - lib/karafka/routing/features/eofed/topic.rb
521
- - lib/karafka/routing/features/inline_insights.rb
522
- - lib/karafka/routing/features/inline_insights/config.rb
523
- - lib/karafka/routing/features/inline_insights/contracts/topic.rb
524
- - lib/karafka/routing/features/inline_insights/topic.rb
525
- - lib/karafka/routing/features/manual_offset_management.rb
526
- - lib/karafka/routing/features/manual_offset_management/config.rb
527
- - lib/karafka/routing/features/manual_offset_management/contracts/topic.rb
528
- - lib/karafka/routing/features/manual_offset_management/topic.rb
529
542
  - lib/karafka/routing/proxy.rb
530
543
  - lib/karafka/routing/router.rb
531
544
  - lib/karafka/routing/subscription_group.rb
@@ -580,7 +593,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
580
593
  - !ruby/object:Gem::Version
581
594
  version: '0'
582
595
  requirements: []
583
- rubygems_version: 4.0.6
596
+ rubygems_version: 4.0.10
584
597
  specification_version: 4
585
598
  summary: Karafka is Ruby and Rails efficient Kafka processing framework.
586
599
  test_files: []