[
https://issues.apache.org/jira/browse/FINERACT-2190?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adam Saghy updated FINERACT-2190:
---------------------------------
Description:
There are operations where all of the existing loan repayment schedule periods
are discarded (List.clear()) and recreated (added to the Loan entity loan
repayment schedule periods one by one).
It often causes performance and / or failed removal of orphan entries by
Eclipselink.
We should identify these places and review them whether removal is absolutely
necessary!
*We should rather focus on updating the existing ones instead of removing and
adding new ones!*
*Acceptance criteria*
* Review places where we discard all existing loan repayment schedule periods
and rework them to rather update the existing ones than removing and recreating
them from scratch!
*DEV notes*
* The easiest way to identify these issues by looking for List.clear()
operations on the repayment periods list of the loan or creating a new unique
constraint on the m_loan_repayment_schedule table on the loan_id +
installmentcolumns and run the tests.
* We can use the installment number (period number) to identify matching
installments and
** update the existing ones (if installment number matches)
** Remove the orphan ones (if installment number does not exist on the source
list)
** Create the non existing ones (if installment number does not exist on the
target list)
was:
There are operations where all of the existing loan repayment schedule periods
are discarded (List.clear()) and recreated (added to the Loan entity loan
repayment schedule periods one by one).
It often causes performance and / or failed removal of orphan entries by
Eclipselink.
We should identify these places and review them whether removal is absolutely
necessary!
*We should rather focus on updating the existing ones instead of removing and
adding new ones!*
> Avoid recreation of loan repayment schedule periods
> ---------------------------------------------------
>
> Key: FINERACT-2190
> URL: https://issues.apache.org/jira/browse/FINERACT-2190
> Project: Apache Fineract
> Issue Type: Improvement
> Reporter: Adam Saghy
> Priority: Minor
> Fix For: 1.12
>
>
> There are operations where all of the existing loan repayment schedule
> periods are discarded (List.clear()) and recreated (added to the Loan entity
> loan repayment schedule periods one by one).
> It often causes performance and / or failed removal of orphan entries by
> Eclipselink.
> We should identify these places and review them whether removal is absolutely
> necessary!
> *We should rather focus on updating the existing ones instead of removing
> and adding new ones!*
>
> *Acceptance criteria*
> * Review places where we discard all existing loan repayment schedule
> periods and rework them to rather update the existing ones than removing and
> recreating them from scratch!
> *DEV notes*
> * The easiest way to identify these issues by looking for List.clear()
> operations on the repayment periods list of the loan or creating a new unique
> constraint on the m_loan_repayment_schedule table on the loan_id +
> installmentcolumns and run the tests.
> * We can use the installment number (period number) to identify matching
> installments and
> ** update the existing ones (if installment number matches)
> ** Remove the orphan ones (if installment number does not exist on the
> source list)
> ** Create the non existing ones (if installment number does not exist on the
> target list)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)