[ 
https://issues.apache.org/jira/browse/FINERACT-2453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18054706#comment-18054706
 ] 

Edward Kang edited comment on FINERACT-2453 at 1/28/26 10:05 PM:
-----------------------------------------------------------------

[~adamsaghy] Sorry about my last comment. I realized that some of my 
communication was misleading. I'll try to provide details and summarize the 
best I can here.

I see what you mean now in regards to missing transaction types. Most of the 
transaction types either belong (impact the loan schedule), or are filtered out 
in the LoanTransactionRepository and the LoanTransactionService.  

I did find, however, a transaction type that slips through. After analyzing the 
code and running some tests, I believe the ACCRUAL_ACTIVITY transactions are 
still producing warnings. I found this in two ways.

1) I traced the code and found that ACCRUAL_ACTIVITY is specifically allowed in 
both the repo and services, and is used for reprocessing logic in the 
reprocessProgressiveLoanTransactions() in 
AdvancedPaymentScheduleTransactionProcessor. However, these transactions still 
remain in the list of transactions, meaning they get processed by 
processLatestTransaction() later on. 

2) To confirm, I found the E2E test that is responsible for this entire flow 
(@TestRailId:C3187), and ran that test locally. In the server, I found the 
message: "Unhandled transaction processing for transaction type: 
ACCRUAL_ACTIVITY". Below is a copy of my logs.

2026-01-27 15:36:29.051 - INFO 42855  [        default] — [duler1_Worker-2] 
o.s.b.c.l.s.TaskExecutorJobLauncher      : Job: [SimpleJob: 
[name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [

{'[run.id|http://run.id/]':'

{value=15, type=class java.lang.Long, identifying=true}

'}] and the following status: [COMPLETED] in 28ms
2026-01-27 15:36:29.337 - WARN 42855  [        default] — [nio-8443-exec-8] 
ancedPaymentScheduleTransactionProcessor : Unhandled transaction processing for 
transaction type: ACCRUAL_ACTIVITY
2026-01-27 15:36:29.533 - INFO 42855  [        default] — [io-8443-exec-10] 
o.s.b.c.l.s.TaskExecutorJobLauncher      : Job: [SimpleJob: 
[name=INLINE_LOAN_COB]] launched with the following parameters: 
[{'BusinessDate':'

{value=4, type=class java.lang.Long, identifying=true}

','CUSTOM_JOB_PARAMETER_ID':'\{value=3, type=class java.lang.Long, 
identifying=true}','[run.id|http://run.id/]':'\{value=2, type=class 
java.lang.Long, identifying=true}'}]

Does all of this sound okay, or do you think there is anything I missed here? 


was (Author: JIRAUSER312056):
[~adamsaghy] Sorry about my last comment. I realized that some of my 
communication was misleading. I'll try to provide details the best I can here.

I see what you mean now in regards to missing transaction types. Most of the 
transaction types either belong (impact the loan schedule), or are filtered out 
in the LoanTransactionRepository and the LoanTransactionService.  

However, after analyzing the code and running some tests, I believe the 
ACCRUAL_ACTIVITY transactions are still producing warnings. I found this in two 
ways.

1) I traced the code and found that ACCRUAL_ACTIVITY is specifically allowed in 
both the repo and services, and is used for reprocessing logic in the 
reprocessProgressiveLoanTransactions() in 
AdvancedPaymentScheduleTransactionProcessor. However, these transactions still 
remain in the list of transactions, meaning they get processed by 
processLatestTransaction() later on. 

2) To confirm, I found the E2E test that is responsible for this entire flow 
(@TestRailId:C3187), and ran that test locally. In the server, I found the 
message: "Unhandled transaction processing for transaction type: 
ACCRUAL_ACTIVITY". Below is a copy of my logs.

2026-01-27 15:36:29.051 - INFO 42855  [        default] — [duler1_Worker-2] 
o.s.b.c.l.s.TaskExecutorJobLauncher      : Job: [SimpleJob: 
[name=SEND_ASYNCHRONOUS_EVENTS]] completed with the following parameters: [

{'[run.id|http://run.id/]':'\\{value=15, type=class java.lang.Long, 
identifying=true}

'}] and the following status: [COMPLETED] in 28ms
2026-01-27 15:36:29.337 - WARN 42855  [        default] — [nio-8443-exec-8] 
ancedPaymentScheduleTransactionProcessor : Unhandled transaction processing for 
transaction type: ACCRUAL_ACTIVITY
2026-01-27 15:36:29.533 - INFO 42855  [        default] — [io-8443-exec-10] 
o.s.b.c.l.s.TaskExecutorJobLauncher      : Job: [SimpleJob: 
[name=INLINE_LOAN_COB]] launched with the following parameters: 
[{'BusinessDate':'

{value=4, type=class java.lang.Long, identifying=true}

','CUSTOM_JOB_PARAMETER_ID':'\{value=3, type=class java.lang.Long, 
identifying=true}','[run.id|http://run.id/]':'\{value=2, type=class 
java.lang.Long, identifying=true}'}]

I think handling this should be very simple. I just need a separate log.debug() 
here so we don't log a warning for expected behavior. Does this sound okay, or 
do you think there is anything I missed here? 

> Improve logging of transaction processor to account for remaining transaction 
> types
> -----------------------------------------------------------------------------------
>
>                 Key: FINERACT-2453
>                 URL: https://issues.apache.org/jira/browse/FINERACT-2453
>             Project: Apache Fineract
>          Issue Type: Improvement
>            Reporter: Edward Kang
>            Assignee: Edward Kang
>            Priority: Minor
>
> This works on the TODO item listed in processLatestTransaction() in the 
> AdvancedPaymentScheduleTransactionProcessor. "TODO: Cover rest of the 
> transaction types."
> Existing code creates a log.warn() for many acceptable transaction types, 
> which is undesirable. 
> The plan is:
>  * Remove the log.warn() for transaction types that don't impact the loan 
> scheduling process.
>  * Group the remaining 19 transaction types based on their function and 
> log.debug() their functionality and why they are excluded from being handled.
>  * Only use log.warn() when the transaction type is INVALID.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to