Opened 8 years ago

Closed 8 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 Changed 8 years ago by Nicklas Nordborg

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.

comment:2 Changed 8 years ago by Nicklas Nordborg

(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 Changed 8 years ago by Nicklas Nordborg

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:4 Changed 8 years ago by Nicklas Nordborg

Resolution: fixed
Status: assignedclosed

(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.

Note: See TracTickets for help on using tickets.