deimos-ruby 1.20.1 → 1.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +23 -16
- data/docs/CONFIGURATION.md +2 -0
- data/lib/deimos/active_record_consume/batch_consumption.rb +78 -152
- data/lib/deimos/active_record_consume/batch_record.rb +78 -0
- data/lib/deimos/active_record_consume/batch_record_list.rb +78 -0
- data/lib/deimos/active_record_consume/mass_updater.rb +92 -0
- data/lib/deimos/active_record_consumer.rb +3 -12
- data/lib/deimos/config/configuration.rb +17 -1
- data/lib/deimos/config/phobos_config.rb +2 -1
- data/lib/deimos/version.rb +1 -1
- data/spec/active_record_batch_consumer_association_spec.rb +288 -0
- data/spec/active_record_batch_consumer_spec.rb +3 -19
- data/spec/active_record_consume/mass_updater_spec.rb +75 -0
- metadata +9 -5
- data/CHANGELOG.md.orig +0 -517
- data/spec/active_record_batch_consumer_mysql_spec.rb +0 -244
data/CHANGELOG.md.orig
DELETED
@@ -1,517 +0,0 @@
|
|
1
|
-
# Changelog
|
2
|
-
|
3
|
-
All notable changes to this project will be documented in this file.
|
4
|
-
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
|
-
|
8
|
-
## UNRELEASED
|
9
|
-
|
10
|
-
<<<<<<< HEAD
|
11
|
-
- Feature: Limit amount of transactions in a single database call with `max_db_batch_size`
|
12
|
-
=======
|
13
|
-
# 1.19.3 - 2023-03-22
|
14
|
-
|
15
|
-
- Fix: Allow `have_sent` matcher to work with schema classes.
|
16
|
-
>>>>>>> have-sent-fix
|
17
|
-
|
18
|
-
# 1.19.2 - 2023-03-20
|
19
|
-
|
20
|
-
- Fix for saving associations where the primary key is not `id`.
|
21
|
-
|
22
|
-
# 1.19.1 - 2023-03-17
|
23
|
-
|
24
|
-
- Fix for `rails g deimos:bulk_import_id` generator.
|
25
|
-
|
26
|
-
# 1.19.0 - 2023-02-21
|
27
|
-
|
28
|
-
- Feature: When consuming data in batch mode, this adds ability to save data to multiple tables with `association_list`.
|
29
|
-
- Fix bug with the `disable_producers` method where producers may remain disabled after the block
|
30
|
-
is done processing if an error occurs inside it.
|
31
|
-
|
32
|
-
# 1.18.2 - 2022-11-14
|
33
|
-
|
34
|
-
- Fixes bug related to wait between runs when no records are fetched by updating poll_info
|
35
|
-
|
36
|
-
# 1.18.1 - 2022-11-01
|
37
|
-
|
38
|
-
- Fix the primary_key detection way in `state_based` mode
|
39
|
-
|
40
|
-
# 1.18.0 - 2022-11-01
|
41
|
-
|
42
|
-
### Features :star:
|
43
|
-
|
44
|
-
- Add the `state_based` mode for DB pollers.
|
45
|
-
|
46
|
-
### Fixes :wrench:
|
47
|
-
- Fix the mock schema backend's `encode_key` method so it doesn't crash when used in application code.
|
48
|
-
|
49
|
-
# 1.17.1 - 2022-10-20
|
50
|
-
|
51
|
-
- Fix the log message for publishing messages so it uses the topic of the actual message instead of
|
52
|
-
the default for the producer.
|
53
|
-
- Use public sord gem instead of private fork.
|
54
|
-
|
55
|
-
# 1.17.0 - 2022-10-19
|
56
|
-
- Fix the linting step in the CI
|
57
|
-
- CHANGE: Add retries to DB poller and bypass "bad batches".
|
58
|
-
- Add tracing spans to DB poller production.
|
59
|
-
|
60
|
-
# 1.16.4 - 2022-09-09
|
61
|
-
|
62
|
-
- Now generates RBS types.
|
63
|
-
- Use `allocate` instead of `new` in `tombstone` to avoid issues with required fields in `initialize`.
|
64
|
-
|
65
|
-
# 1.16.3 - 2022-09-08
|
66
|
-
|
67
|
-
- Add the `tombstone` method to schema classes.
|
68
|
-
|
69
|
-
# 1.16.2 - 2022-09-07
|
70
|
-
|
71
|
-
- Added support of post_process method in ActiveRecordProducer
|
72
|
-
|
73
|
-
# 1.16.1 - 2022-08-03
|
74
|
-
|
75
|
-
- Fix issues with `enum` schema classes (e.g. equality not working, `to_s` not working)
|
76
|
-
- Changed assumption in the base schema class that it was a record (e.g. defining `to_h` instead of `as_json`). Moved record functionality to the record base class.
|
77
|
-
- Added the `active_span` and `set_tag` methods to the tracing classes.
|
78
|
-
- Added span tags for fields in SchemaControllerMixin.
|
79
|
-
- Updated SchemaControllerMixin so it works with generated schema classes.
|
80
|
-
- Fixed bug with previous release where the filename and constant names for `generate_namespace_folders` did not always match.
|
81
|
-
|
82
|
-
# 1.15.0 - 2022-07-20
|
83
|
-
|
84
|
-
- Update to `sigurd` 0.1.0 - DB producer should now exit when receiving a `SIGTERM` instead of throwing a `SignalException`
|
85
|
-
|
86
|
-
# 1.14.6 - 2022-06-21
|
87
|
-
|
88
|
-
- Add `generate_namespace_folders` to configuration; this will automatically generate subfolders to the `schemas` folder so that you can have different schemas with the same name but different namespaces generate separate classes.
|
89
|
-
|
90
|
-
# 1.14.5 - 2022-06-21
|
91
|
-
|
92
|
-
- Fix crash with the tracer when error happens in decoding a message during batch consuming
|
93
|
-
- Generate schema classes for all schemas, even without a consumer/producer set
|
94
|
-
|
95
|
-
# 1.14.4 - 2022-06-18
|
96
|
-
|
97
|
-
- Fix import in ActiveRecordConsumer on mysql
|
98
|
-
|
99
|
-
# 1.14.3 - 2022-06-17
|
100
|
-
|
101
|
-
- Fix issue with ActiveRecordConsumer double-decoding keys in batch mode.
|
102
|
-
|
103
|
-
# 1.14.2 - 2022-05-26
|
104
|
-
|
105
|
-
- Fix crash with `test_consume_message` when passing in an instance of a schema class instead of a hash.
|
106
|
-
|
107
|
-
# 1.14.1 - 2022-05-25
|
108
|
-
|
109
|
-
- Fix: When using key schemas, ActiveRecordConsumers were not finding the record by default.
|
110
|
-
|
111
|
-
# 1.14.0 - 2022-05-16
|
112
|
-
|
113
|
-
- **Breaking Change**: Nest sub-schemas by default into their parent schemas when generating classes.
|
114
|
-
- Add the `nest_child_schemas` option to essentially bring back the previous behavior in terms of code use (the actual classes will be separated out into different files).
|
115
|
-
|
116
|
-
# 1.13.3 - 2022-05-10
|
117
|
-
|
118
|
-
- Some cleanup on the active_record generator
|
119
|
-
- Fix crash with `test_consume_message` when using schema classes
|
120
|
-
- Add `[]=` and `merge` methods on the base schema class
|
121
|
-
|
122
|
-
# 1.13.2 - 2022-04-07
|
123
|
-
|
124
|
-
- Fix an issue with generating schema classes for schemas containing an enum with default value
|
125
|
-
|
126
|
-
# 1.13.1 - 2022-04-06
|
127
|
-
|
128
|
-
- Fix circular reference schema generation
|
129
|
-
|
130
|
-
# 1.13.0 - 2022-03-30
|
131
|
-
|
132
|
-
- Pass the Deimos logger to `AvroTurf::Messaging` for consistent logging
|
133
|
-
- Fix an issue with nullable enums not being included in the auto-generated schema class
|
134
|
-
|
135
|
-
# 1.12.6 - 2022-03-14
|
136
|
-
|
137
|
-
- Fix NameError when using Datadog Metrics
|
138
|
-
- Fix unwanted STDOUT output when loading the main `Deimos` module
|
139
|
-
|
140
|
-
# 1.12.5 - 2022-03-09
|
141
|
-
|
142
|
-
- Allow use of new avro_turf versions where child schemas are not listed with the top level schemas
|
143
|
-
- Add support for SASL authentication with brokers
|
144
|
-
- Add support for Basic auth with Schema Registry
|
145
|
-
|
146
|
-
# 1.12.4 - 2022-01-13
|
147
|
-
|
148
|
-
- Fix bug where schema controller mixin was using the schema name to register and not the namespaced schema name
|
149
|
-
|
150
|
-
# 1.12.3 - 2021-12-13
|
151
|
-
|
152
|
-
- Fix bug with previous release
|
153
|
-
|
154
|
-
# 1.12.2 - 2021-12-10
|
155
|
-
|
156
|
-
### Features :star:
|
157
|
-
|
158
|
-
- Added `Deimos.encode` and `Deimos.decode` for non-topic-related encoding and decoding.
|
159
|
-
|
160
|
-
# 1.12.1 - 2021-11-02
|
161
|
-
|
162
|
-
- ### Fixes :wrench:
|
163
|
-
- Fixed issue where Schema Class Consumer/Producer are using `Deimos::` instead of `Schema::` for instances of classes.
|
164
|
-
|
165
|
-
# 1.12.0 - 2021-11-01
|
166
|
-
|
167
|
-
### Features :star:
|
168
|
-
|
169
|
-
- Generate Schema classes from Avro Schemas
|
170
|
-
- Use Schema Classes in your consumer and producer
|
171
|
-
|
172
|
-
## 1.11.0 - 2021-08-27
|
173
|
-
|
174
|
-
- ### Fixes :wrench:
|
175
|
-
- Fixed issue where ActiveRecord batch consumption could fail when decoding keys.
|
176
|
-
|
177
|
-
- ### Roadmap :car:
|
178
|
-
- TestHelper does not automatically reset Deimos config before each test. [#120](https://github.com/flipp-oss/deimos/pull/120).
|
179
|
-
**Please note that this is a breaking change**
|
180
|
-
|
181
|
-
|
182
|
-
## 1.10.2 - 2021-07-20
|
183
|
-
|
184
|
-
- ### Fixes :wrench:
|
185
|
-
|
186
|
-
- Fixed issue where producers would stay in an error state after e.g. authorization failures for one topic that wouldn't apply to other topics.
|
187
|
-
|
188
|
-
## 1.10.1 - 2021-06-21
|
189
|
-
|
190
|
-
- ### Fixes :wrench:
|
191
|
-
|
192
|
-
- Fixed crash when trying to decode a nil payload (e.g. during instrumentation of `send_produce_error`.)
|
193
|
-
|
194
|
-
## 1.10.0 - 2021-03-22
|
195
|
-
|
196
|
-
- ### Roadmap :car:
|
197
|
-
|
198
|
-
- Extracted the configuration piece into a separate gem, [fig_tree](https://www.github.com/flipp-oss/fig_tree).
|
199
|
-
- Added a `save_record` method to ActiveRecordConsumer in case calling code wants to work with the record before saving.
|
200
|
-
|
201
|
-
- ### Fixes :wrench:
|
202
|
-
|
203
|
-
- Fixed a regression where the default values for consumer / Phobos listener configs were not correct (they were all nil). This is technically a breaking change, but it puts the configs back the way they were at version 1.4 and matches the documentation.
|
204
|
-
|
205
|
-
## 1.9.2 - 2021-01-29
|
206
|
-
|
207
|
-
- ### Fixes :wrench:
|
208
|
-
|
209
|
-
- Fix for `uninitialized constant ActiveSupport::Autoload` in certain circumstances
|
210
|
-
- Removed unnecessary monkey patch which was crashing on newer versions of ruby-kafka
|
211
|
-
|
212
|
-
## 1.9.0 - 2021-01-28
|
213
|
-
|
214
|
-
- ### Roadmap :car:
|
215
|
-
|
216
|
-
- Bumped the version of ruby-kafka to latest
|
217
|
-
|
218
|
-
- ### Fixes :wrench:
|
219
|
-
|
220
|
-
- Prevents DB Poller from reconnecting to DB if there is an open transaction
|
221
|
-
- Replaces `before` by `prepend_before` for more consistent test setups.
|
222
|
-
- Adds validation in the `kafka_producers` method (fixes [#90](https://github.com/flipp-oss/deimos/issues/90))
|
223
|
-
|
224
|
-
## 1.8.7 - 2021-01-14
|
225
|
-
|
226
|
-
- ### Roadmap :car:
|
227
|
-
- Update Phobos version to allow version 1.9 or 2.x.
|
228
|
-
|
229
|
-
## 1.8.6 - 2021-01-14
|
230
|
-
|
231
|
-
- ### Fixes :wrench:
|
232
|
-
- Fix for configuration bug with Ruby 3.0 (** instead of passing hash)
|
233
|
-
|
234
|
-
## 1.8.5 - 2021-01-13
|
235
|
-
|
236
|
-
- ### Fixes :wrench:
|
237
|
-
- Fixes for Rails 6.1 (remove usage of `update_attributes!`)
|
238
|
-
|
239
|
-
## 1.8.4 - 2020-12-02
|
240
|
-
|
241
|
-
### Features :star:
|
242
|
-
- Add overridable "process_message?" method to ActiveRecordConsumer to allow for skipping of saving/updating records
|
243
|
-
|
244
|
-
### Fixes :wrench:
|
245
|
-
|
246
|
-
- Do not apply type coercion to `timestamp-millis` and `timestamp-micros` logical types (fixes [#97](https://github.com/flipp-oss/deimos/issues/97))
|
247
|
-
|
248
|
-
## 1.8.3 - 2020-11-18
|
249
|
-
|
250
|
-
### Fixes :wrench:
|
251
|
-
- Do not resend already sent messages when splitting up batches
|
252
|
-
(fixes [#24](https://github.com/flipp-oss/deimos/issues/24))
|
253
|
-
- KafkaSource crashing on bulk-imports if import hooks are disabled
|
254
|
-
(fixes [#73](https://github.com/flipp-oss/deimos/issues/73))
|
255
|
-
- #96 Use string-safe encoding for partition keys
|
256
|
-
- Retry on offset seek failures in inline consumer
|
257
|
-
(fixes [#5](Inline consumer should use retries when seeking))
|
258
|
-
|
259
|
-
## 1.8.2 - 2020-09-25
|
260
|
-
|
261
|
-
### Features :star:
|
262
|
-
- Add "disabled" config field to consumers to allow disabling
|
263
|
-
individual consumers without having to comment out their
|
264
|
-
entries and possibly affecting unit tests.
|
265
|
-
|
266
|
-
### Fixes :wrench:
|
267
|
-
- Prepend topic_prefix while encoding messages
|
268
|
-
(fixes [#37](https://github.com/flipp-oss/deimos/issues/37))
|
269
|
-
- Raise error if producing without a topic
|
270
|
-
(fixes [#50](https://github.com/flipp-oss/deimos/issues/50))
|
271
|
-
- Don't try to load producers/consumers when running rake tasks involving webpacker or assets
|
272
|
-
|
273
|
-
## 1.8.2-beta2 - 2020-09-15
|
274
|
-
|
275
|
-
### Features :star:
|
276
|
-
|
277
|
-
- Add details on using schema backend directly in README.
|
278
|
-
- Default to the provided schema if topic is not provided when
|
279
|
-
encoding to `AvroSchemaRegistry`.
|
280
|
-
- Add mapping syntax for the `schema` call in `SchemaControllerMixin`.
|
281
|
-
|
282
|
-
## 1.8.2-beta1 - 2020-09-09
|
283
|
-
|
284
|
-
### Features :star:
|
285
|
-
|
286
|
-
- Added the ability to specify the topic for `publish`
|
287
|
-
and `publish_list` in a producer
|
288
|
-
|
289
|
-
## 1.8.1-beta9 - 2020-08-27
|
290
|
-
|
291
|
-
### Fixes :wrench:
|
292
|
-
- Moved the TestHelpers hook to `before(:suite)` to allow for
|
293
|
-
overriding e.g. in integration tests.
|
294
|
-
|
295
|
-
## 1.8.1-beta7 - 2020-08-25
|
296
|
-
|
297
|
-
### Fixes :wrench:
|
298
|
-
- Fix for crash when sending pending metrics with DB producer.
|
299
|
-
- Fix for compacting messages if all the keys are already unique
|
300
|
-
(fixes [#75](https://github.com/flipp-oss/deimos/issues/75))
|
301
|
-
|
302
|
-
## 1.8.1-beta6 - 2020-08-13
|
303
|
-
|
304
|
-
### Fixes :wrench:
|
305
|
-
|
306
|
-
- Fix for consuming nil payloads with Ruby 2.3.
|
307
|
-
|
308
|
-
## 1.8.1-beta5 - 2020-08-13
|
309
|
-
|
310
|
-
### Fixes :wrench:
|
311
|
-
- Fix regression bug which introduces backwards incompatibility
|
312
|
-
with ActiveRecordProducer's `record_attributes` method.
|
313
|
-
|
314
|
-
## 1.8.1-beta4 - 2020-08-12
|
315
|
-
|
316
|
-
### Fixes :wrench:
|
317
|
-
- Fix regression bug where arrays were not being encoded
|
318
|
-
|
319
|
-
## 1.8.1-beta3 - 2020-08-05
|
320
|
-
|
321
|
-
### Fixes :wrench:
|
322
|
-
- Simplify decoding messages and handle producer not found
|
323
|
-
- Consolidate types in sub-records recursively
|
324
|
-
(fixes [#72](https://github.com/flipp-oss/deimos/issues/72))
|
325
|
-
|
326
|
-
## 1.8.1-beta2 - 2020-07-28
|
327
|
-
|
328
|
-
### Features :star:
|
329
|
-
- Add `SchemaControllerMixin` to encode and decode schema-encoded
|
330
|
-
payloads in Rails controllers.
|
331
|
-
|
332
|
-
## 1.8.1-beta1 - 2020-07-22
|
333
|
-
|
334
|
-
### Fixes :wrench:
|
335
|
-
- Retry deleting messages without resending the batch if the
|
336
|
-
delete fails (fixes [#34](https://github.com/flipp-oss/deimos/issues/34))
|
337
|
-
- Delete messages in batches rather than all at once to
|
338
|
-
cut down on the chance of a deadlock.
|
339
|
-
|
340
|
-
### Features :star:
|
341
|
-
- Add `last_processed_at` to `kafka_topic_info` to ensure
|
342
|
-
that wait metrics are accurate in cases where records
|
343
|
-
get created with an old `created_at` time (e.g. for
|
344
|
-
long-running transactions).
|
345
|
-
- Add generator for ActiveRecord models and migrations (fixes [#6](https://github.com/flipp-oss/deimos/issues/6))
|
346
|
-
|
347
|
-
## 1.8.0-beta2 - 2020-07-08
|
348
|
-
|
349
|
-
### Fixes :wrench:
|
350
|
-
- Fix crash with batch consumption due to not having ActiveSupport::Concern
|
351
|
-
|
352
|
-
### Features :star:
|
353
|
-
- Add `first_offset` to the metadata sent via the batch
|
354
|
-
|
355
|
-
## 1.8.0-beta1 - 2020-07-06
|
356
|
-
### Features :star:
|
357
|
-
- Added `ActiveRecordConsumer` batch mode
|
358
|
-
|
359
|
-
### Fixes :wrench:
|
360
|
-
- Fixes `send_produce_error` to decode `failed_messages` with built-in decoder.
|
361
|
-
- Lag calculation can be incorrect if no messages are being consumed.
|
362
|
-
- Fixed bug where printing messages on a MessageSizeTooLarge
|
363
|
-
error didn't work.
|
364
|
-
|
365
|
-
### Roadmap
|
366
|
-
- Moved SignalHandler and Executor to the `sigurd` gem.
|
367
|
-
|
368
|
-
## 1.7.0-beta1 - 2020-05-12
|
369
|
-
### Features :star:
|
370
|
-
- Added the DB Poller feature / process.
|
371
|
-
|
372
|
-
## 1.6.4 - 2020-05-11
|
373
|
-
- Fixed the payload logging fix for errored messages as well.
|
374
|
-
|
375
|
-
## 1.6.3 - 2020-05-04
|
376
|
-
### Fixes :wrench:
|
377
|
-
- Fixed the payload logging fix.
|
378
|
-
|
379
|
-
## 1.6.2 - 2020-05-04
|
380
|
-
### Fixes :wrench:
|
381
|
-
- When saving records via `ActiveRecordConsumer`, update `updated_at` to today's time
|
382
|
-
even if nothing else was saved.
|
383
|
-
- When logging payloads and metadata, decode them first.
|
384
|
-
- Fixes bug in `KafkaSource` that crashes when importing a mix of existing and new records with the `:on_duplicate_key_update` option.
|
385
|
-
|
386
|
-
## [1.6.1] - 2020-04-20
|
387
|
-
### Fixes :wrench:
|
388
|
-
- Re-consuming a message after crashing would try to re-decode message keys.
|
389
|
-
|
390
|
-
# [1.6.0] - 2020-03-05
|
391
|
-
### Roadmap :car:
|
392
|
-
- Removed `was_message_sent?` method from `TestHelpers`.
|
393
|
-
|
394
|
-
# [1.6.0-beta1] - 2020-02-05
|
395
|
-
### Roadmap :car:
|
396
|
-
- Updated dependency for Phobos to 1.9.0-beta3. This ensures compatibility with
|
397
|
-
Phobos 2.0.
|
398
|
-
### Fixes :wrench:
|
399
|
-
- Fixed RSpec warning when using `test_consume_invalid_message`.
|
400
|
-
|
401
|
-
# [1.5.0-beta2] - 2020-01-17
|
402
|
-
### Roadmap :car:
|
403
|
-
- Added schema backends, which should simplify Avro encoding and make it
|
404
|
-
more flexible for unit tests and local development.
|
405
|
-
### Features :star:
|
406
|
-
- Add `:test` producer backend which replaces the existing TestHelpers
|
407
|
-
functionality of writing messages to an in-memory hash.
|
408
|
-
|
409
|
-
# [1.4.0-beta7] - 2019-12-16
|
410
|
-
### Fixes :wrench:
|
411
|
-
- Clone loggers when assigning to multiple levels.
|
412
|
-
|
413
|
-
# [1.4.0-beta6] - 2019-12-16
|
414
|
-
### Features :star:
|
415
|
-
- Added default for max_bytes_per_partition.
|
416
|
-
|
417
|
-
# [1.4.0-beta4] - 2019-11-26
|
418
|
-
### Features :star:
|
419
|
-
- Added `define_settings` to define settings without invoking callbacks.
|
420
|
-
|
421
|
-
# [1.4.0-beta2] - 2019-11-22
|
422
|
-
### Fixes :wrench:
|
423
|
-
- Settings with default_proc were being called immediately
|
424
|
-
instead of being lazy-evaluated.
|
425
|
-
|
426
|
-
# [1.4.0-beta1] - 2019-11-22
|
427
|
-
### Roadmap :car:
|
428
|
-
- Complete revamp of configuration method.
|
429
|
-
|
430
|
-
# [1.3.0-beta5] - 2020-01-14
|
431
|
-
### Features :star:
|
432
|
-
- Added `db_producer.insert` and `db_producer.process` metrics.
|
433
|
-
|
434
|
-
# [1.3.0-beta4] - 2019-12-02
|
435
|
-
### Fixes :wrench:
|
436
|
-
- Fixed bug where by running `rake deimos:start` without
|
437
|
-
specifying a producer backend would crash.
|
438
|
-
|
439
|
-
# [1.3.0-beta3] - 2019-11-26
|
440
|
-
### Fixes :wrench:
|
441
|
-
- Fixed bug in TestHelpers where key_decoder was not stubbed out.
|
442
|
-
|
443
|
-
# [1.3.0-beta2] - 2019-11-22
|
444
|
-
### Fixes :wrench:
|
445
|
-
- Fixed bug where consumers would require a key config in all cases
|
446
|
-
even though it's optional if they don't use keys.
|
447
|
-
|
448
|
-
# [1.3.0-beta1] - 2019-11-21
|
449
|
-
### Features :star:
|
450
|
-
- Added `fetch_record` and `assign_key` methods to ActiveRecordConsumer.
|
451
|
-
|
452
|
-
# [1.2.0-beta1] - 2019-09-12
|
453
|
-
### Features :star:
|
454
|
-
- Added `fatal_error` to both global config and consumer classes.
|
455
|
-
- Changed `pending_db_messages_max_wait` metric to send per topic.
|
456
|
-
- Added config to compact messages in the DB producer.
|
457
|
-
- Added config to log messages in the DB producer.
|
458
|
-
- Added config to provide a separate logger to the DB producer.
|
459
|
-
|
460
|
-
# [1.1.0-beta2] - 2019-09-11
|
461
|
-
### Fixes :wrench:
|
462
|
-
- Fixed bug where ActiveRecordConsumer was not using `unscoped` to update
|
463
|
-
via primary key and causing duplicate record errors.
|
464
|
-
|
465
|
-
# [1.1.0-beta1] - 2019-09-10
|
466
|
-
### Features :star:
|
467
|
-
- Added BatchConsumer.
|
468
|
-
|
469
|
-
## [1.0.0] - 2019-09-03
|
470
|
-
### Roadmap :car:
|
471
|
-
- Official release of Deimos 1.0!
|
472
|
-
|
473
|
-
## [1.0.0-beta26] - 2019-08-29
|
474
|
-
- Recover from Kafka::MessageSizeTooLarge in the DB producer.
|
475
|
-
- Shut down sync producers correctly when persistent_connections is true.
|
476
|
-
- Notify when messages fail to produce in the DB producer.
|
477
|
-
- Delete messages on failure and rely on notification.
|
478
|
-
|
479
|
-
## [1.0.0-beta25] - 2019-08-28
|
480
|
-
- Fix bug where crashing would cause producers to stay disabled
|
481
|
-
|
482
|
-
## [1.0.0-beta24] - 2019-08-26
|
483
|
-
- Reconnect DB backend if database goes away.
|
484
|
-
- Sleep only 5 seconds between attempts instead of using exponential backoff.
|
485
|
-
- Fix for null payload being Avro-encoded.
|
486
|
-
|
487
|
-
## [1.0.0-beta23] - 2019-08-22
|
488
|
-
- Fix bug where nil payloads were not being saved to the DB.
|
489
|
-
- Fix DB producer rake task looking at THREADS env var instead of THREAD_COUNT.
|
490
|
-
- Debug messages in the DB producer if debug logs are turned on.
|
491
|
-
- Changed logger in specs to info.
|
492
|
-
|
493
|
-
## [1.0.0-beta22] - 2019-08-09
|
494
|
-
- Add `pending_db_messages_max_wait` metric for the DB producer.
|
495
|
-
- Fix mock metrics to allow optional option hashes.
|
496
|
-
|
497
|
-
## [1.0.0-beta21] - 2019-08-08
|
498
|
-
- Handle Phobos `persistent_connections` setting in handling buffer overflows
|
499
|
-
|
500
|
-
## [1.0.0-beta20] - 2019-08-07
|
501
|
-
- Catch buffer overflows when producing via the DB producer and split the
|
502
|
-
batch up.
|
503
|
-
|
504
|
-
## [1.0.0-beta19] - 2019-08-06
|
505
|
-
- Fix for DB producer crashing on error in Rails 3.
|
506
|
-
|
507
|
-
## [1.0.0-beta18] - 2019-08-02
|
508
|
-
- Fixed crash when sending metrics in a couple of places.
|
509
|
-
|
510
|
-
## [1.0.0-beta17] - 2019-07-31
|
511
|
-
- Added `rails deimos:db_producer` rake task.
|
512
|
-
- Fixed the DB producer so it runs inline instead of on a separate thread.
|
513
|
-
Calling code should run it on a thread manually if that is the desired
|
514
|
-
behavior.
|
515
|
-
|
516
|
-
## [1.0.0-beta15] - 2019-07-08
|
517
|
-
- Initial release.
|