Commit dbf0395
authored
fix: surface reconciliation errors for assertion persistence and finalizer ordering (#2034)
* fix: surface reconciliation errors for assertion persistence and finalizer ordering
- handlePKFailure now captures assertionRepo.Update errors and returns a combined
error wrapping both the PK failure and the persistence failure instead of silently
discarding with _ =
- markFinalized reorders operations so snapshots are marked FINAL before the run is
persisted as FINALIZED, preventing a state where the run is FINALIZED but its
snapshots are not yet FINAL
* fix: resolve business run_id to surrogate PK in MarkRunSnapshotsFinal
settlement_snapshot.run_id is a FK to settlement_run.id (the surrogate PK),
not settlement_run.run_id (the business identifier). The previous implementation
passed the UUID directly to the SQL query without resolving the FK-correct
surrogate ID, resulting in a silent 0-row update when called with a business UUID.
MarkRunSnapshotsFinal now resolves settlement_run.run_id -> settlement_run.id
internally before updating, consistent with the integration test repo's approach.
Updated the persistence integration test to create snapshots with the surrogate ID
(FK correct) and call MarkRunSnapshotsFinal with the business UUID.
---------
Co-authored-by: Ben Coombs <bjcoombs@users.noreply.github.com>1 parent 430e828 commit dbf0395
6 files changed
Lines changed: 82 additions & 24 deletions
File tree
- services/reconciliation
- adapters/persistence
- service
Lines changed: 8 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| |||
138 | 139 | | |
139 | 140 | | |
140 | 141 | | |
| 142 | + | |
| 143 | + | |
141 | 144 | | |
142 | 145 | | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
143 | 150 | | |
144 | 151 | | |
145 | 152 | | |
146 | 153 | | |
147 | 154 | | |
148 | | - | |
| 155 | + | |
149 | 156 | | |
150 | 157 | | |
151 | 158 | | |
| |||
Lines changed: 29 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
20 | 29 | | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
21 | 36 | | |
22 | 37 | | |
23 | 38 | | |
| |||
30 | 45 | | |
31 | 46 | | |
32 | 47 | | |
33 | | - | |
| 48 | + | |
34 | 49 | | |
35 | 50 | | |
36 | 51 | | |
| |||
234 | 249 | | |
235 | 250 | | |
236 | 251 | | |
237 | | - | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
238 | 256 | | |
239 | | - | |
240 | | - | |
| 257 | + | |
| 258 | + | |
241 | 259 | | |
242 | 260 | | |
243 | 261 | | |
244 | | - | |
| 262 | + | |
245 | 263 | | |
246 | 264 | | |
247 | 265 | | |
248 | 266 | | |
249 | | - | |
| 267 | + | |
250 | 268 | | |
251 | 269 | | |
252 | 270 | | |
253 | 271 | | |
254 | | - | |
255 | | - | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
256 | 275 | | |
257 | 276 | | |
258 | 277 | | |
259 | | - | |
| 278 | + | |
260 | 279 | | |
261 | 280 | | |
262 | 281 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
169 | | - | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
170 | 173 | | |
171 | | - | |
| 174 | + | |
172 | 175 | | |
173 | 176 | | |
174 | 177 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
360 | 360 | | |
361 | 361 | | |
362 | 362 | | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
363 | 390 | | |
364 | 391 | | |
365 | 392 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
| 217 | + | |
| 218 | + | |
217 | 219 | | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
218 | 224 | | |
219 | 225 | | |
220 | 226 | | |
221 | 227 | | |
222 | 228 | | |
223 | 229 | | |
224 | 230 | | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | 231 | | |
231 | 232 | | |
232 | 233 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
395 | 395 | | |
396 | 396 | | |
397 | 397 | | |
398 | | - | |
| 398 | + | |
399 | 399 | | |
400 | 400 | | |
401 | 401 | | |
| |||
405 | 405 | | |
406 | 406 | | |
407 | 407 | | |
408 | | - | |
409 | | - | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
410 | 411 | | |
411 | | - | |
412 | | - | |
413 | | - | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
414 | 415 | | |
415 | 416 | | |
416 | 417 | | |
| |||
0 commit comments