AthletePro Junior Kinderleichtathletik Community
0 Punkte
Der Löschvorgang von manchen Veranstaltung dauert sehr lange und teilweise stürzt das Programm ab.
Gefragt von
wieder getaggt von

2 Antworten

0 Punkte
Beste Antwort
In Version 22.1 wurde der Algorithmus beim Löschen nochmal auf geringeren Speicherverbrauch und Geschwindigkeit optimiert, das Problem sollte ab da kaum noch auftreten, ansonsten gelten weiterhin die Workarounds von untenstehender Antwort.
Beantwortet von (6,7k Punkte)
0 Punkte

Das Problem liegt einem einem ineffizienten Algorithmus, der aktuell für das Löschen von Veranstaltungen (VA) verwendet wird.

Bei großen Veranstaltungen benötigt dieser überproportional viel Arbeitspeicher, was den Vorgang verzögert oder letztlich zum Absturz führen kann, wenn nicht mehr genug Arbeitsspeicher zur Verfügung steht. Optimierung des Algorithmus ist für kommenden Versionen geplant (in 18.2 RC00 Version ist der Algorithmus bereits leicht optimiert), bis dahin gibt es folgende Möglichkeiten als Workaround:

  • Veranstaltung erst einmal nicht löschen, sondern z.B. nur umbenennen für bessere Übersicht
  • Teile der Veranstaltung manuell Löschen (also z.B. erst alle Teams schirttweise löschen). Danach dann die Veranstaltung selbst erst löschen
  • Datenbank zurücksetzen:
    • Alle Veranaltungen exportieren, die man behalten möchten.
    • Das Programm (inkl. Server) beenden
    • Den Ordner Server\Databases\APJDB (sichern und) löschen (bzw. umbennenen)
    • Das Programm wieder starten (Das Programm legt nun einen neue leere Datenbank beim Start an)
    • Alle gewünschten Veranstaltungen wieder importieren
  • Speicher für den Server vorrbergehend erhöhen (für Fortgeschrittene)
    • Achtung: Dies funktioniert durch technische Rahmenbingungen nur in engen Grenzen
    • Server/bin/setenv.bat anpassen
      • Max Heap von 768m auf z.B. 1280m erhöhen:
        • set CATALINA_OPTS="-Xmx1280m"
      • Achtung, das kann dazu führen, dass das Programm nicht mehr startet (Technischer Hintergrund: 32bit JVM muss einen Zusammenhängenden Speicherblock mit dieser Größe vom OS allokieren können) Hier muss man ggf. mit dem Wert spielen: So niedrigt, dass der Server noch startet, so hoch, dass es zum Löschen der VA genügt (dies gelingt ggf. nicht immer).
      • Dann Server neu starten und VA löschen
      • Änderungen ansetenv.bat wieder Rückgängig machen
  • Temporär 64 bit JVM für den Löschvorgang nutzen (für Experten, Keine Garantie)
    • In o.g. setenv.bat kann auch die Java Runtime umgestellt (JRE_HOME) werden. Hier kann man den Pfad zu einer selbst installieren 64bit JVM angeben und dann die Schritte aus dem Punkt zum Speicher erhöhen nutzen, ohne dass die Größenbeschränkung der Heapsize durch die 32bit-Speichergrenze vorhanden ist.
    • Im Anschluss (nach Löschen der VA) wird dringend empfohlen die JVM wieder auf den Originalwert zurückzustellen, da das Programm nur mit der mitgelieferten Version getestet ist und ggf. unvorhersehbare Nebeneffekte auftreten.
Beantwortet von (6,7k Punkte)
Bearbeitet von
Mit Version 22.1 wurde der Algorithmus beim Löschen nochmal etwas auf geringeren Speicherverbrauch und Geschwindigkeit optimiert.
Willkommen auf der Support-Seite von AthletePro Junior, hier können Sie Fragen stellen die durch Mitglieder der Community beantwortet werden..