Conversation
rhopman
marked this pull request as draft
September 17, 2026 06:47
rhopman
force-pushed
the
FINERACT-2836-isolate-due-savings-charge-failures
branch
from
September 17, 2026 07:38
edcb278 to
c409580
Compare
rhopman
marked this pull request as ready for review
September 17, 2026 07:41
rhopman
marked this pull request as draft
September 19, 2026 10:18
rhopman
force-pushed
the
FINERACT-2836-isolate-due-savings-charge-failures
branch
from
September 19, 2026 11:06
c409580 to
bac1e2b
Compare
rhopman
marked this pull request as ready for review
September 19, 2026 11:08
rhopman
force-pushed
the
FINERACT-2836-isolate-due-savings-charge-failures
branch
from
September 21, 2026 13:56
bac1e2b to
6b07f79
Compare
Contributor
Author
|
@adamsaghy could you please kick off the build again? I think it should be fixed now. Thanks! |
rhopman
force-pushed
the
FINERACT-2836-isolate-due-savings-charge-failures
branch
from
September 22, 2026 07:45
6b07f79 to
4b4dd23
Compare
rhopman
force-pushed
the
FINERACT-2836-isolate-due-savings-charge-failures
branch
from
September 22, 2026 10:15
4b4dd23 to
c23158f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Pay Due Savings Charges job processes each due savings-charge installment in an independent transaction. Recurring installments are collected in chronological order, with each successful payment committed before the next installment is attempted. This preserves affordable payments even when the account cannot fund every overdue installment.
Insufficient balance is treated as an expected unpaid outcome rather than a job failure. The job stops processing further installments for that recurring charge, logs a warning with charge, account, and installment context, records the unpaid installment in the persisted Spring Batch write-skip count, and continues processing other eligible charges. If insufficient balance is the only issue, the job completes successfully.
Validation, persistence, configuration, and unexpected exceptions remain fatal. They are collected with charge, account, installment due-date, and failure context before the job reports the execution as failed.
Tests cover installment-level transaction isolation, partial collection of recurring charges, mixed funded and insufficiently funded accounts, continued processing of unrelated charges, durable unpaid-installment counting, successful balance and charge updates, fatal error handling, all-success behavior, and prevention of duplicate collection on rerun.
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!
Your assigned reviewer(s) will follow our guidelines for code reviews.