Project

General

Profile

Actions

task #3348

open

should annotations always be returned for cdm instances? [DISCUSS]

Added by Andreas Kohlbecker almost 9 years ago. Updated about 2 months ago.

Status:
New
Priority:
Priority13
Category:
cdmlib-remote
Target version:
Start date:
03/13/2013
Due date:
% Done:

0%

Estimated time:
Severity:
normal
Tags:

Description

getting the annotations separately for each single cdm instance is quite time consuming and thus slows down the page creation of the dataportal.

The dataportal performance could be improved if annotations would always be returned together with the cdm instances.

for Sequences this idea has been realized as a preliminary solution: r17340. See also #3347 (services and REST service controller for molecular classes implemented)


Related issues

Related to Edit - feature request #9897: adapt dataportal methods for transparent usage of Anntoation and AnnotationDTONewAndreas Kohlbecker12/10/2021

Actions
Related to Edit - feature request #9896: Add annotations of the complete derivation branch to DerivedUnitDTO and FieldUnitDTO as AnnotationDTO ClosedAndreas Kohlbecker12/10/2021

Actions
Actions #1

Updated by Andreas Kohlbecker almost 9 years ago

  • Keywords changed from discuss to discuss performance
Actions #2

Updated by Andreas Müller almost 9 years ago

does this also include marker and extensions? We will have extensions for sequences in the next Alga Terra Version.

Actions #3

Updated by Andreas Müller over 8 years ago

  • Priority changed from Priority08 to Priority13
Actions #4

Updated by Andreas Kohlbecker almost 8 years ago

the DescriptionPortalListController always returns the annotations for the requests to @ portal/descriptionElement/byTaxon@ but the portal/description/distributionInfoFor/ still needs to be adapted that way

Actions #5

Updated by Andreas Kohlbecker almost 8 years ago

performance test with and without initialization of annotations:

  1. no annotations, Time per request: 837.971 ms|1. with annotations, Time per request: 1044.011 [ms]

this is a difference of 206,039 ms for 27 elements so 7,63 ms per annotation

total performance improvement for the page loading of http://localhost/d7/euromed/cdm_dataportal/taxon/a8ceb077-cfad-4619-9c47-e8770df41bd7

total page web service fetch time as reported by the debug block for first request after restarting:

  1. annotations loaded with description elements: 9.285s

  2. annotations loaded separately: 13.747s

time to load the html page

  1. annotations loaded with description elements: Time per request (n=10) : 6109.158 ms|1. annotations loaded separately: Time per request (n=10) : 2851.489 [ms]
Actions #6

Updated by Andreas Müller almost 8 years ago

Did you load the full Annotation or only relevant attributes?

Actions #7

Updated by Andreas Kohlbecker almost 8 years ago

loading annotations with distributions committed as r20576

Actions #8

Updated by Andreas Kohlbecker almost 8 years ago

Replying to a.mueller:

Did you load the full Annotation or only relevant attributes?

as the annotations are loaded with the description elements they are loaded as full objects, e.g.

annotations": [

    {
        "annotatedObj": null,
        "annotationType": {
            "class": "AnnotationType",
            "titleCache": "technical",
            "updated": "2013-10-15T00:11:32.000+02:00",
            "uuid": "6a5f9ea4-1bdd-4906-89ad-6e669f982d69",
            "created": "2013-10-15T00:11:32.000+02:00",
            "termType": "AnnotationType",
            "uri": "",
            "protectedTitleCache": false,
            "representation_L10n": "technical"
        },
        "class": "Annotation",
        "commentator": null,
        "created": "2013-10-23T10:34:30.000+02:00",
        "language": {
            "class": "Language",
            "titleCache": "English",
            "updated": "2013-10-15T00:11:26.000+02:00",
            "uuid": "e9f8cdb7-6819-44e8-95d3-e2d0690c3523",
            "created": "2013-10-15T00:11:26.000+02:00",
            "iso639_1": "en",
            "termType": "Language",
            "idInVocabulary": "eng",
            "uri": "",
            "protectedTitleCache": false,
            "representation_L10n": "English",
            "representation_L10n_abbreviatedLabel": "eng"
        },
        "linkbackUri": "",
        "text": "<?xml version='1.0' encoding='UTF-8'?><mapService xmlns=\"http://www.etaxonomy.eu/cdm\" type=\"editMapService\"><area><layer>em_tiny_jan2003</layer><field>EMAREA</field><value>Al</value></area></mapService>",
        "updated": "2013-10-23T10:34:31.000+02:00",
        "uuid": "7e6783a5-8cdc-4937-afb0-b90bfefe4acf"
    }

],

we should of course consider loading the annotations separately for all description elements as DTOs, so that only the relevant data is loaded and also to avoid creating the cdm entities in hibernate. This is ticket is still under discussion and my commit is only a first improvement which could be implemented quickly.

Actions #9

Updated by Andreas Kohlbecker over 5 years ago

  • Tags changed from discuss performance to performance
  • Description updated (diff)
Actions #10

Updated by Andreas Müller 2 months ago

  • Target version changed from cdmlib - Old Next Major Release to Unassigned CDM tickets
Actions #11

Updated by Andreas Kohlbecker about 2 months ago

  • Description updated (diff)
Actions #12

Updated by Andreas Kohlbecker about 2 months ago

  • Private changed from Yes to No
Actions #13

Updated by Andreas Kohlbecker about 2 months ago

  • Related to feature request #9897: adapt dataportal methods for transparent usage of Anntoation and AnnotationDTO added
Actions #14

Updated by Andreas Kohlbecker about 2 months ago

  • Related to feature request #9896: Add annotations of the complete derivation branch to DerivedUnitDTO and FieldUnitDTO as AnnotationDTO added
Actions

Also available in: Atom PDF