Hi Folks,

I just noticed that the entity relations that have
bidirectional definitions (OneToMany and ManyToOne) between 2 tables cause
recursive object fetching and it is causing a significant performance drop
in database querying. For example [1] and [2]. When we fetch an
experiment output, I can see a stack of experiment -> experiment outputs ->
experiment ....

Same issue was mentioned in [3] but the solution is for spring boot json
parsing. As we don't use spring boot, we might have to figure out some
other way to stop this recursive stack creation.

[1]
https://github.com/apache/airavata/blob/master/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java#L88
[2]
https://github.com/apache/airavata/blob/master/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java#L80
[3]
https://medium.com/@udith.indrakantha/issue-related-with-infinite-recursive-fetching-of-data-from-relationships-between-entity-classes-ffc5fac6c816

Thanks
Dimuthu

Reply via email to