Skip to content

Commit a033e1d

Browse files
committed
[DEX-2851] feat: user replica for deletion
1 parent 05be2f4 commit a033e1d

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
1313

1414
### Fixed
1515

16+
## [6.19.0] - 2025-02-11
17+
18+
### Added
19+
20+
- Querying minimum `created_at` for deletion now uses a replica database to reduce primary database load
21+
1622
## [6.18.0] - 2025-02-04
1723

1824
### Added

app/jobs/sbmt/outbox/base_delete_stale_items_job.rb

+6-2
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,9 @@ def delete_items_in_batches_with_between(waterline, statuses)
117117
table = item_class.arel_table
118118
batch_size = item_class.config.deletion_batch_size
119119
time_window = item_class.config.deletion_time_window
120-
min_date = item_class.where(table[:status].in(statuses)).minimum(:created_at)
120+
min_date = Outbox.database_switcher.use_slave do
121+
item_class.where(table[:status].in(statuses)).minimum(:created_at)
122+
end
121123
deleted_count = nil
122124

123125
while min_date && min_date < waterline
@@ -174,7 +176,9 @@ def mysql_delete_in_batches(waterline_failed, waterline_delivered)
174176
def delete_items_in_batches_with_between_mysql(waterline, statuses)
175177
batch_size = item_class.config.deletion_batch_size
176178
time_window = item_class.config.deletion_time_window
177-
min_date = item_class.where(status: statuses).minimum(:created_at)
179+
min_date = Outbox.database_switcher.use_slave do
180+
item_class.where(status: statuses).minimum(:created_at)
181+
end
178182
deleted_count = nil
179183

180184
while min_date && min_date < waterline

lib/sbmt/outbox/version.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
module Sbmt
44
module Outbox
5-
VERSION = "6.18.0"
5+
VERSION = "6.19.0"
66
end
77
end

0 commit comments

Comments
 (0)