[
https://issues.apache.org/jira/browse/FINERACT-1439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Dailey updated FINERACT-1439:
-----------------------------------
Description:
Putting this in JIRA now to emphasize a pattern we need to avoid and to call
for some PRs to correct some issues recently introduced into dev branch. We
should use Eager load in SQL very very infrequently. Use lazy loading to avoid
the hit to performance. Get only what you need, when you need it.
Eager loading retrieves the full model and relational data. In a complex data
model like fineract, that means loading dozens of tables data that you won't
use in your operation. That is a pattern we must avoid to keep the platform
scalable.
We need to not only tune (see
https://issues.apache.org/jira/browse/FINERACT-912) but to set up tests to
avoid creating new problems as features are added. I think the tests need to
exercise each API and get a response back within a predetermined timeframe.
Doing the right SQL statements is harder, but more rewarding!!
was:
Putting this in JIRA now to emphasize a pattern we need to avoid and to call
for some PRs to correct some issues recently introduced into dev branch. We
should use Eager very very infrequently. Use lazy loading to avoid the hit to
performance.
Eager loading retrieves the full model and relational data. In a complex data
model like finer act, that means loading dozens of tables data that you won't
use in your operation. That is a pattern we must avoid to keep the platform
scalable.
> Performance hammered by too many EAGER Load
> -------------------------------------------
>
> Key: FINERACT-1439
> URL: https://issues.apache.org/jira/browse/FINERACT-1439
> Project: Apache Fineract
> Issue Type: Bug
> Reporter: James Dailey
> Assignee: Ed Cable
> Priority: Major
>
> Putting this in JIRA now to emphasize a pattern we need to avoid and to call
> for some PRs to correct some issues recently introduced into dev branch. We
> should use Eager load in SQL very very infrequently. Use lazy loading to
> avoid the hit to performance. Get only what you need, when you need it.
> Eager loading retrieves the full model and relational data. In a complex
> data model like fineract, that means loading dozens of tables data that you
> won't use in your operation. That is a pattern we must avoid to keep the
> platform scalable.
> We need to not only tune (see
> https://issues.apache.org/jira/browse/FINERACT-912) but to set up tests to
> avoid creating new problems as features are added. I think the tests need to
> exercise each API and get a response back within a predetermined timeframe.
> Doing the right SQL statements is harder, but more rewarding!!
--
This message was sent by Atlassian Jira
(v8.20.1#820001)