[
https://issues.apache.org/jira/browse/FINERACT-2583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adam Saghy resolved FINERACT-2583.
----------------------------------
Fix Version/s: 1.15.0
Resolution: Fixed
> Performance issue: per-iteration entity lookups inside loops in holiday
> office selection, provisioning criteria, and collateral assembly
> ----------------------------------------------------------------------------------------------------------------------------------------
>
> Key: FINERACT-2583
> URL: https://issues.apache.org/jira/browse/FINERACT-2583
> Project: Apache Fineract
> Issue Type: Bug
> Reporter: Ashhar Ahmad Khan
> Priority: Major
> Fix For: 1.15.0
>
>
> Three methods execute individual repository queries per loop iteration where
> all IDs are known before the loop begins, causing N redundant DB round-trips
> per invocation.
> HolidayWritePlatformServiceJpaRepositoryImpl.getSelectedOffices() calls
> officeRepositoryWrapper.findOneWithNotFoundDetection(officeId) on every
> iteration.
> ProvisioningCriteriaAssembler.parseLoanProducts() calls
> loanProductRepository.findById(productId) on every iteration.
> CollateralAssembler.fromParsedJson() calls
> codeValueRepository.findOneWithNotFoundDetection(collateralTypeId) on every
> iteration.
> Fix: collect all IDs upfront, bulk fetch via findAllById(), build an
> in-memory map, and replace per-row DB calls with map lookups inside the loop.
> Same class of redundancy as FINERACT-2579.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)