Projekt

Allgemein

Profil

Fehler #2059

Avatar?id=734&size=50x50 Avatar?id=734&size=22x22

Parallele API-Nutzung führt zu Fehlern (die Testsuite ist nicht thread-safe)

Von Gregor Scharf vor etwa 1 Jahr hinzugefügt. Vor 4 Monaten aktualisiert.

Status:
Erledigt
Priorität:
Hoch
Zugewiesen an:
Gregor Scharf
Kategorie:
API

Beschreibung

Die Registry testet (via der Testsuite-API) die INSPIRE-gemeldeten Metadaten etc. Dabei kommt es zu inkonsistenten Ergebnissen, weil die Testsuite angeblich nicht thread-safe ist! Wir möchten das Problem gerne lösen, bevor das INSPIRE-Monitoring bald wieder losgeht.

Via Andreas von Dömming -- Registry -- #1370:

Ich habe nochmal intensiv getested und komme wieder zu dem gleichen Ergebnis: Der Fehler liegt in der GDI-DE Testsuite.

Diesmal habe ich zusätzlich die Testreports als PDF abgerufen und gespeichert, siehe Anhang tspdfs.

Die Testreports betreffen alle den gleichen Metadatensatz, liefern aber 4 unterschiedliche Ergebnisse:
ein Reports ist Fehlerfrei, die anderen 3 Reports weisen sogar unterschiedliche Fehler auf.

Darunter ist im Report acf-180928-2248_testsuite_00000051_getTestReportPDF.pdf die Meldung "FWK005 parse may not be called while parsing."
Diese Meldung war schonmal in den logs zu sehen.
Eine WebRecherche liefert folgenden Hinweis: http://www.javaroots.com/2014/08/jaxb-error-fwk005-parse-may-not-be.html

Die Meldung deutet darauf hin, dass die Testsuite zur Prüfung JAX-Binding verwendet und die JAXB-Instanzen in parallelen Threads verwendet werden, obwohl JAXB nicht Thread-save ist.
Abhilfe dürfte hier eine Korrektur (in der GDI-DE Testsuite) schaffen, in der jeder Thread eigene Instanzen verwendet.

Vermutlich ist der Fehler beim Test mit Tsunami nicht aufgetreten, weil Tsunami die Massentests sequenziell und nicht parallel abarbeitet.

teamengine-core-4.0.jar (224 KB) teamengine-core-4.0.jar Janis Blank, 24.10.2018 09:50

Historie

#1 Avatar?id=734&size=24x24 Von Gregor Scharf vor etwa 1 Jahr aktualisiert

  • Dokument tspdfs wurde hinzugefügt

#2 Avatar?id=734&size=24x24 Von Gregor Scharf vor etwa 1 Jahr aktualisiert

  • Beschreibung aktualisiert (diff)

#3 Avatar?id=734&size=24x24 Von Gregor Scharf vor etwa 1 Jahr aktualisiert

  • Beschreibung aktualisiert (diff)

#4 Person Von Janis Blank vor etwa 1 Jahr aktualisiert

Ich konnte den Fehler lokal nicht nachstellen, habe aber in der TEAMEngine eine Komponente gefunden, die höchstwarscheinlich dafür verantwortlich ist. Ich habe Sie jetzt überarbeitet und in den Anhang gepackt.

Da es nur um die TEAMEngine geht, reicht der Austausch der Bibliothek "teamengine-core-4.0.jar" in <Tomcat>/webapps/gdi/WEB-INF/lib.

Bitte damit nochmal testen.

Beste Grüße
Janis Blank

#5 Person Von Christian Seip vor etwa 1 Jahr aktualisiert

  • Zugewiesen an wurde von Janis Blank zu Gregor Scharf geändert

Gregor, spiel das bitte mal überall ein, dann sag ich der Kst. Bescheid, dass sie testen sollen.

#6 Person Von Christian Seip vor etwa 1 Jahr aktualisiert

erstmal bitte auf reg4ts1 (also der, der an reg hängt).

#8 Avatar?id=734&size=24x24 Von Gregor Scharf vor etwa 1 Jahr aktualisiert

  • Zugewiesen an wurde von Gregor Scharf zu Christian Seip geändert

#9 Avatar?id=734&size=24x24 Von Gregor Scharf vor 12 Monaten aktualisiert

Im Moment ist die JAR-Datei von Janis nur in testsuite4registry-stage eingespielt!

Notiz an mich: Wenn die Tests erfolgreich verlaufen, bitte Janis informieren, dass er die geänderte JAR-Datei in die WAR-Datei einbaut und hochläd, damit Externe davon profitieren können (Nachfrage auf Ansprechpartner-Workshop).

#10 Person Von Christian Seip vor 9 Monaten aktualisiert

  • Zugewiesen an wurde von Christian Seip zu Gregor Scharf geändert
  • Status wurde von In Bearbeitung zu Abnahmephase geändert

Das ist doch eigentlich abgeschlossen, oder?
Damit ist doch auch neue Version der TS im Git, oder? Muss dafür noch extra ein Release gemacht werden?
Ansonsten sollte das Ticket geschlossen werden.

#11 Person Von Dejan Deordic vor 8 Monaten aktualisiert

Sehr geehrte Damen und Herren,

könnten Sie mir schon den Stand der Umsetzung sagen?

Vielen Dank.

#12 Person Von Christian Seip vor 8 Monaten aktualisiert

Wie gesagt, dass Problem wurde vor einiger Zeit (paar Monate dürften es schon sein) gelöst. Ich hoffe, Gregor sagt noch was dazu (s. meine Frage vor ca. 3 Wochen), dann wird's hier geschlossen.

#13 Avatar?id=734&size=24x24 Von Gregor Scharf vor 8 Monaten aktualisiert

  • Zugewiesen an wurde von Gregor Scharf zu Janis Blank geändert

@Janis: Kannst Du bitte ein neues Release machen, in dem die oben verlinkte jar-Datei integriert ist? Habt ihr einen neuen FTP?

@Alle: Ich habe die genannte jar-Datei auf allen vier unserer Testsuite-Instanzen eingespielt. Die Parallelisierung funktioniert damit besser. (Das wahrscheinlich damit zusammenhängende Problem, dass die WFS-Tests nach einer zufälligen Zeit nicht mehr funktionieren und ein Neustart nötig wird, ist eher schlimmer geworden, aber das ist hinnehmbar, da das andere Problem schwerer wiegt.)

#14 Person Von Janis Blank vor 8 Monaten aktualisiert

@Gregor Ich habe eine neue Version auf dem FTP abgelegt.
Die Verbindung sollte gleich geblieben sein, das Zertifikat hat sich jedoch geändert.

#15 Avatar?id=734&size=24x24 Von Gregor Scharf vor 6 Monaten aktualisiert

@Janis: Ich komme gar nicht auf den FTP drauf. Kannst Du mir noch einmal die Zugangsdaten senden (Redmine, Skype oder Mail)?

#16 Avatar?id=734&size=24x24 Von Gregor Scharf vor 5 Monaten aktualisiert

  • Zugewiesen an wurde von Janis Blank zu Gregor Scharf geändert

#17 Avatar?id=734&size=24x24 Von Gregor Scharf vor 5 Monaten aktualisiert

Hallo Herr Deordic,

es gibt eine winzige Neuigkeit. Ich komme einfach nicht auf den FTP drauf und stehe mit dem Entwickler per E-Mail in Kontakt. Vielen Dank für ihre Geduld.

Gruß, Gregor

#18 Avatar?id=734&size=24x24 Von Gregor Scharf vor 4 Monaten aktualisiert

  • Status wurde von Abnahmephase zu Erledigt geändert

Hallo Herr Deordic,

der Entwickler ist noch bis Mitte August im Urlaub. Trotzdem habe ich es über Umwege geschafft, die aktuelle war-Datei von der Firma CPA zu erhalten.

https://redmine.gdi-de.org/projects/gdi-de-testsuite/dmsf

Ich schließe das Ticket schon einmal, weiter geht es in #2481.

Gruß, Gregor

Auch abrufbar als: Atom PDF