Ticket #29 (closed defect: invalid)

Opened 21 months ago

Last modified 21 months ago

Rollback bei Transaction Timeout -> System.exit

Reported by: M.Zehender Owned by: T.Doenz
Priority: critical Milestone:
Component: CAPI3-Native Version: 2.0
Keywords: rollback bei Transaction Timeout Cc: michael.zehender@…

Description

Wenn man bei einem Transaction Timeout ein rollback auf die transaction macht wird von MozartSpaces System.exit aufgerufen.

Attachments

mzs-rollback-transaction-timeout.txt Download (23.9 KB) - added by M.Zehender 21 months ago.
log file rolling back a timed out transaction
TestTicketNo29.java Download (3.5 KB) - added by M.Zehender 21 months ago.
JUnit TestCase to reproduce Problem
JUnit-Output-Ticket-29.txt Download (14.2 KB) - added by M.Zehender 21 months ago.
JUnit output for Ticket 29

Change History

Changed 21 months ago by M.Zehender

log file rolling back a timed out transaction

comment:1 Changed 21 months ago by T.Doenz

  • Owner changed from M.Barisits to T.Doenz

System.exit wird im MozartSpaces-Code nie aufgerufen. Kommt die Ausgabe "exit called!" aus deinem Code? Wird dieser in einem JUnit-Testfall ausgeführt?

Grundsätzlich wird ein Rollback automatisch bei einem Timeout der Transaktion durchgeführt, nicht jedoch bei einem Timeout eines Requests in dieser Transaktion.

comment:2 Changed 21 months ago by M.Zehender

  • Cc michael.zehender@… added

Ja die Ausgabe war aus meinem Code - der Capi Aufruf ist nie in den JUnit Test code zurückgekehrt und die JVM ist terminiert. Da habe ich ein ShutdownHook hizugefügt (und hätte ihn am Ende des Testfalls wieder entfernt).

Ich weis nicht ob System.exit aufgerufen wird - allerdings terminiert die JVM - warum auch immer.

Changed 21 months ago by M.Zehender

JUnit TestCase to reproduce Problem

Changed 21 months ago by M.Zehender

JUnit output for Ticket 29

comment:3 Changed 21 months ago by M.Zehender

  • Status changed from new to closed
  • Resolution set to invalid

Problem lag im Testfall (Habe ich jetzt attached).

comment:4 Changed 21 months ago by T.Doenz

OK, während ich geschrieben habe, hat sich das wohl erledigt. Hier trotzdem noch mein Kommentar: Ich kann den Fehler nicht nachvollziehen. Die Meldung "Process finished with exit code 255" deutet auf den JUnit-Starter von IntelliJ hin. Wenn ich den Testfall bei mir in Eclipse ausführe, bekomme ich nur die TransactionException. Das ist auch korrekt, weil beim Timeout automatisch ein Rollback durchgeführt wird. Wenn ich die TransactionException beim Testfall als expected bei der Annotation hinzufüge, läuft der Testfall mit grün durch.

Note: See TracTickets for help on using tickets.