Questions & Answers

mfinsterbusch
New Responder

ERROR: session closed

Hallo Zusammen,

wir haben innerhalb eines schedules lediglich einen Task, welcher aus einem Modul eine executeable aufruft, alรก:

#! executable-class

net...firstspirit...myClass.myExecutable

Auf einem DEV-System funktioniert das auch prima, jedoch bekommen wir auf einer PROD einen Fehler (inkl. Vorangestellter logausabe):

INFO 16.10.2014 01:47:03 {pID=85982} (de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl): finished schedule entry 'mySchedule' (id=97542) - 0 fatal error(s), 1 error(s), 0 warning(s), duration 0:00:00.011

INFO 16.10.2014 01:47:03 {pID=85982} (de.espirit.firstspirit.server.sessionmanagement.SessionManagerImpl): close dummy session (ID=4741264905221997688, user=ScheduleEntry 'mySchedule' (id=97542), project 85982)

INFO 16.10.2014 01:47:03 {pID=85982} (de.espirit.firstspirit.server.sessionmanagement.SessionManagerImpl): Session terminated (ID=436059084532775883, user=SYSTEM(dummy)), number of sessions now 9

INFO 16.10.2014 01:47:03 {pID=85982} (de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl): finished task 'script' - schedule entry 'mySchedule' (id=97542)

INFO 16.10.2014 01:47:03 {pID=85982} (de.espirit.firstspirit.server.sessionmanagement.SessionManagerImpl): close dummy session (ID=6208419734243412313, user=Admin)

INFO 16.10.2014 01:47:03 {pID=85982} (de.espirit.firstspirit.server.sessionmanagement.SessionManagerImpl): Session terminated (ID=5396967500525507428, user=Admin(dummy)), number of sessions now 11

ERROR  16.10.2014 01:47:03 {pID=85982} (net...firstspirit...myClass.myExecutable): myExecutable failed

FSVersion=5.0.425.60000#3215;JDK=1.7.0_15 64bit Oracle Corporation;OS=Linux 2.6.18-371.9.1.el5 amd64;Date=16.10.2014 01:47:03

de.espirit.firstspirit.access.schedule.CancelSchedule: connection is closed

...

Der Tipp des Helpdesk ist wohl, dass die executeable die Session nutzen will, diese aber terminiert wird.

Das sollte eigtl. nicht sein, da wir die session des scriptContexts nutzen.

Weiterer Tipp ist:

"[..] Wenn ja, dann mรผsst ihr entweder in dem Skript auf Rรผckmeldung warten, dass der Sync abgeschlossen ist und erst dann die Aktion beenden [..]"

Klingt gut,... aber wie?

Danke & GrรผรŸe,

maik

0 Kudos
8 Replies
kohlbrecher
Crownpeak employee

Hallo Maik,

sind denn die FS Versionen gleich? Sind die Einstellungen gleich (alle Rechte Haken gesetzt etc.) ?

GrรผรŸe

Jan

0 Kudos

Hi Jan,

die FirstSpirit Versionen sind identisch,

auch die Konfigurationen des schedules / tasks ist gleich...

cheers & danke,

maik

0 Kudos

Hallo Maik,

ich meinte den "Alle Rechte" Haken am Modul. Da es auf dem DEV-System lรคuft, vermute ich, dass da irgendwo noch ein Unterschied ist.

GrรผรŸe

Jan

0 Kudos

Hi Jan,

auch diese Konfiguration war gleich...

Was nun aber Analysen neu ergeben haben:

die class "net...firstspirit...myClass.myExecutable" ruft eine SOAP Schnittstelle auf, welche auf PROD nicht erreichbar ist.

Jedoch wรผrde ich erwarten, dass der schedule auf die Verbindung wartet und dann spรคter den "connection timeout" aus der wsdl-Anfrage liefert...

So wird suggeriert, dass die Session abbricht und man weiรŸ nicht wieso...

Nur eine Vermutung, kann man diesen Prozess irgendwie synchron halten? Kann man das bestรคtigen?

So erscheint auf der console ja nur "The schedule will now be executed on the server"- und man bekommt nie den Dialog, "the schedule has finished, but contains errors..."

cheers,

maik

0 Kudos

Hallo Maik,

das Verhalten hรคngt komplett von eurer Implementierung ab.

In den meisten Projekten ist ein Webservice-Call ja synchron. Damit wartet das Skript/Executable bis etwas zurรผckkommt. Optimalerweise habt ihr entsprechende Timeouts etc. gesetzt und brecht den Call geeignet ab. Das kann man dann mit FirstSpirit-Logging entsprechend als Warning/Fehler/Fatal loggen und in nachfolgenden Skripten entsprechend drauf reagieren. Zum Beispiel keine weiteren Tasks mehr auffรผhren und den Auftrag als fehlerhaft markieren. Vielleicht will man auch eine Mail an irgendjemanden schicken.

Viele GrรผรŸe

Christoph

0 Kudos

Hi Christoph,

Dank auch Dir.

"das Verhalten hรคngt komplett von eurer Implementierung ab."

Willst Du damit sagen, dass ich das Verhalten von FirstSpirit in meiner Java-Executeable steuern kann?

Gibt es dafรผr eine Schnittstelle (mit Doku + evtl. Example im MDEV_examples- gefunden hatte ich leider nichts direkt dazu...)?

Danke & GrรผรŸe,

maik

0 Kudos

Mit eurer Implementierung meine ich Java-Code den ihr in der Executable aufruft. Beim Aufruf der SOAP-Schnittstelle seid ihr fรผr entsprechende Timeouts/Fehlerbehandlung etc. zustรคndig. Ihr bestimmt ob der Aufruf synchron oder asychron ist.

Wenn du konkretere Hilfe brauchst, mรผsstest du mal euren Sourcecode und auch den kompletten Stacktrace posten.

0 Kudos

Hallo Maik,

benรถtigst du noch weitere Hilfe oder haben dir die bisherigen Antworten bereits geholfen?

In diesem Fall wรคre es super, wenn du die "richtige Antwort" entsprechend markierst. Andernfalls wรผrde ich dich bitten, einmal den von Christoph gewรผnschten Sourcecode und Stacktrace zu posten.

Solltest du eine eigene Lรถsung gefunden haben, wรคre es nett, wenn du diese hier bereitstellst.

Viele GrรผรŸe

Michaela

0 Kudos

Type a product name