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 mehr als 1 Jahr hinzugefügt. Vor 2 Tagen aktualisiert.

Status:
Erledigt
Priorität:
Hoch
Zugewiesen an:
Gregor Scharf
Beginn:
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

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 mehr als 1 Jahr aktualisiert

  • Dokument tspdfs wurde hinzugefügt

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

  • Beschreibung aktualisiert (diff)

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

  • Beschreibung aktualisiert (diff)

#4 Person Von Janis Blank vor mehr als 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 mehr als 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 mehr als 1 Jahr aktualisiert

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

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

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

#9 Avatar?id=734&size=24x24 Von Gregor Scharf vor mehr als 1 Jahr 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 mehr als 1 Jahr 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 etwa 1 Jahr aktualisiert

Sehr geehrte Damen und Herren,

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

Vielen Dank.

#12 Person Von Christian Seip vor etwa 1 Jahr 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 etwa 1 Jahr 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 etwa 1 Jahr 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 etwa 1 Jahr 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 12 Monaten aktualisiert

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

#17 Avatar?id=734&size=24x24 Von Gregor Scharf vor 11 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 11 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

#19 Person Von Gerd Weber vor 2 Tagen aktualisiert

  • Zielversion GDI-DE Testsuite Release 2.1.31 wurde gelöscht
  • Kategorie API wurde gelöscht
  • Projekt wurde von GDI-DE Testsuite zu Testsuite 2.1.30 Dokumentation geändert

Auch abrufbar als: Atom PDF