Opened 11 years ago
Closed 11 years ago
#1759 closed enhancement (fixed)
Improve performance of loading bioplate view
Reported by: | Nicklas Nordborg | Owned by: | Nicklas Nordborg |
---|---|---|---|
Priority: | minor | Milestone: | BASE 3.3 |
Component: | web | Version: | |
Keywords: | Cc: |
Description
Going into the single-item view of a bioplate can take a long time. The prime suspect is that it take some time to load the biomaterial information that is laid out on the grid the right.
Change History (4)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
(In [6279]) References #1759: Improve performance of loading bioplate view
Make all BioMaterial
items and BioMaterialEvent
lazy-loading. This improved the load time of the page dramatically.
Before closing this ticket we must check that we don't break other things which rely on parent items always being loaded and a note about this in the incompatibility section in the appendix.
comment:3 by , 11 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:4 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
(In [6281]) Fixes #1759: Improve performance of loading bioplate view
Fixed issues with proxy subclasses and equals() method. Main problem is that Hibernate will create a proxy subclass from BioMaterialData
which causes problems since it is not compatibile with either SampleData
or ExtractData
. We need to work around that in some places to find the real data class.
After some investigations it seems like the main reason that this takes a long time is that the
MeasuredBioMaterial.parent
associatin is not lazy. This means that after loading all biomaterial on the plate itself, Hibernate will navigate up the parent chain of each item on the plate. This can be time-consuming since everything may not be in the cache.