Project

General

Profile

bug #8638

Session behavior not deterministic

Added by Andreas Müller 9 months ago. Updated 9 months ago.

Status:
New
Priority:
Highest
Assignee:
Category:
taxeditor
Target version:
Start date:
10/31/2019
Due date:
% Done:

0%

Severity:
critical
Found in Version:

Description

It seems that the behavior of the session cache handling is not deterministic. I did exchange a name for a taxon by another name. This sometimes resulted in a multiple representation exception for the author of the nomenclatural reference (of both names, old and new name had the same nom.ref.) which was at the same time the combination author of the new name (the old name had another combination author record attached).

I did this 3x always waiting some longer time between actions to make sure it is not a problem of unfinished (asynchronous) actions. Afterwards I inspected the session via session view. The result: I did not always get the same number of objects in the session (sometimes 36, sometimes 38) but more important doing it 3x I got 3 different Debug Informations when using "Inspect Active Session". See the 3 versions below.

With the last version, having line

- ?authorship[Person#4132].nomenclaturalReference[Reference#33035].name[TaxonName#132501].taxon[Taxon#165205].[TaxonNode#62455]"

the multiple representations exception occurred for Person#4132.

To me it seems that this indeterministic behavior might be the main reason for the unsolved multiple-representation exceptions and needs urgently be examined and fixed.

36:

<<< Root Entity TaxonNode with id 62455 >>>
Duplicate CDM Entities,
 - language:Language/273     in entity eu.etaxonomy.cdm.model.term.Representation with id : 808
  -- entity belongs to cache(s) : {DC}
 - language:Language/273      in entity eu.etaxonomy.cdm.model.term.Representation with id : 274
  -- entity belongs to cache(s) : 
-----------
 - language:Language/273     in entity eu.etaxonomy.cdm.model.term.Representation with id : 2470
  -- entity belongs to cache(s) : 
 - language:Language/273      in entity eu.etaxonomy.cdm.model.common.LanguageString with id : 4311
  -- entity belongs to cache(s) : {DC}
-----------
 - language:Language/273     in entity eu.etaxonomy.cdm.model.term.Representation with id : 274
  -- entity belongs to cache(s) : 
 - language:Language/273      in entity eu.etaxonomy.cdm.model.common.LanguageString with id : 4311
  -- entity belongs to cache(s) : {DC}
-----------
 - language:Language/273     in entity eu.etaxonomy.cdm.model.term.Representation with id : 2174
  -- entity belongs to cache(s) : 
 - language:Language/273      in entity eu.etaxonomy.cdm.model.common.LanguageString with id : 4311
  -- entity belongs to cache(s) : {DC}
-----------
 - language:Language/273     in entity eu.etaxonomy.cdm.model.term.Representation with id : 2381
  -- entity belongs to cache(s) : 
 - language:Language/273      in entity eu.etaxonomy.cdm.model.common.LanguageString with id : 4311
  -- entity belongs to cache(s) : {DC}
-----------
 - language:Language/273     in entity eu.etaxonomy.cdm.model.term.Representation with id : 2379
  -- entity belongs to cache(s) : 
 - language:Language/273      in entity eu.etaxonomy.cdm.model.common.LanguageString with id : 4311
  -- entity belongs to cache(s) : {DC}
-----------
 - language:Language/273     in entity eu.etaxonomy.cdm.model.term.Representation with id : 1079
  -- entity belongs to cache(s) : 
 - language:Language/273      in entity eu.etaxonomy.cdm.model.common.LanguageString with id : 4311
  -- entity belongs to cache(s) : {DC}
-----------
 - language:Language/273     in entity eu.etaxonomy.cdm.model.term.Representation with id : 2378
  -- entity belongs to cache(s) : 
 - language:Language/273      in entity eu.etaxonomy.cdm.model.common.LanguageString with id : 4311
  -- entity belongs to cache(s) : {DC}
-----------
 - language:Language/273     in entity eu.etaxonomy.cdm.model.term.Representation with id : 2172
  -- entity belongs to cache(s) : 
 - language:Language/273      in entity eu.etaxonomy.cdm.model.common.LanguageString with id : 4311
  -- entity belongs to cache(s) : {DC}
-----------
 - language:Language/273     in entity eu.etaxonomy.cdm.model.term.Representation with id : 810
  -- entity belongs to cache(s) : 
 - language:Language/273      in entity eu.etaxonomy.cdm.model.common.LanguageString with id : 4311
  -- entity belongs to cache(s) : {DC}
-----------

Not In Cache Entities (*: NOT_FOUND, ?: COPY_ENTITY)
 - ?[Representation#274].representations[java.util.HashSet].language[Language#273].name[LanguageString#4311].classification[Classification#10].[TaxonNode#62455]
 - ?language[Language#273].[Representation#274].representations[java.util.HashSet].language[Language#273].name[LanguageString#4311].classification[Classification#10].[TaxonNode#62455]
 - *rank[Rank#802].name[TaxonName#33796].taxon[Taxon#152246].parent[TaxonNode#48294].[TaxonNode#62455]
 - ?[Representation#810].representations[java.util.HashSet].rank[Rank#802].name[TaxonName#33796].taxon[Taxon#152246].parent[TaxonNode#48294].[TaxonNode#62455]
 - *area[NamedArea#2358].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - *level[NamedAreaLevel#2267].area[NamedArea#2358].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - *[Representation#2379].representations[java.util.HashSet].level[NamedAreaLevel#2267].area[NamedArea#2358].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - ?[Representation#2470].representations[java.util.HashSet].area[NamedArea#2358].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - *partOf[NamedArea#2269].area[NamedArea#2358].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - *level[NamedAreaLevel#2266].partOf[NamedArea#2269].area[NamedArea#2358].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - *[Representation#2378].representations[java.util.HashSet].level[NamedAreaLevel#2266].partOf[NamedArea#2269].area[NamedArea#2358].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - ?[Representation#2381].representations[java.util.HashSet].partOf[NamedArea#2269].area[NamedArea#2358].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - *status[PresenceAbsenceTerm#2089].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - ?[Representation#2172].representations[java.util.HashSet].status[PresenceAbsenceTerm#2089].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - *feature[Feature#999].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - ?[Representation#1079].representations[java.util.HashSet].feature[Feature#999].[Distribution#605595].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - *status[PresenceAbsenceTerm#2091].[Distribution#605596].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - ?[Representation#2174].representations[java.util.HashSet].status[PresenceAbsenceTerm#2091].[Distribution#605596].descriptionElements[java.util.HashSet].[TaxonDescription#59260].descriptions[java.util.HashSet].taxon[Taxon#165205].[TaxonNode#62455]
 - ?[Representation#808].representations[java.util.HashSet].rank[Rank#800].name[TaxonName#132501].taxon[Taxon#165205].[TaxonNode#62455]

38:

<<< Root Entity TaxonNode with id 62455 >>>
No Duplicate CDM Entities.

Not In Cache Entities (*: NOT_FOUND, ?: COPY_ENTITY)
 - ?[Representation#274].representations[java.util.HashSet].language[Language#273].name[LanguageString#4311].classification[Classification#10].[TaxonNode#62455]
 - ?[Representation#808].representations[java.util.HashSet].rank[Rank#800].name[TaxonName#132501].taxon[Taxon#165205].[TaxonNode#62455]

38:

<<< Root Entity TaxonNode with id 62455 >>>
Duplicate CDM Entities,
 - authorship:Person/4132     in entity eu.etaxonomy.cdm.model.reference.Reference with id : 33035
  -- entity belongs to cache(s) : 
 - combinationAuthorship:Person/4132      in entity eu.etaxonomy.cdm.model.name.TaxonName with id : 132501
  -- entity belongs to cache(s) : {TC}
-----------

Not In Cache Entities (*: NOT_FOUND, ?: COPY_ENTITY)
 - ?[Representation#274].representations[java.util.HashSet].language[Language#273].name[LanguageString#4311].classification[Classification#10].[TaxonNode#62455]
 - ?authorship[Person#4132].nomenclaturalReference[Reference#33035].name[TaxonName#132501].taxon[Taxon#165205].[TaxonNode#62455]
 - ?[Representation#808].representations[java.util.HashSet].rank[Rank#800].name[TaxonName#132501].taxon[Taxon#165205].[TaxonNode#62455]

What I did in E+M (version 2019-10-31):

Open Session View
Search for "Salvia spinosa subsp. maroccana" => 2 results
Open "... sec Euro+Med Plantbase ..." in NameEditor
Wait
Exchange taxon name for the opened taxon by searching in dialog for Salvia spinosa subsp. maroccana
Wait
In Session View open "Inspect Active Session"


Related issues

Related to Edit - bug #8806: Multiple representations problem on saving Desriptive Data Set Worksforme 01/15/2020

History

#1 Updated by Andreas Müller 9 months ago

  • Description updated (diff)

#2 Updated by Andreas Müller 6 months ago

  • Related to bug #8806: Multiple representations problem on saving Desriptive Data Set added

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)