geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sajida Abdul Salam (JIRA)" <...@geronimo.apache.org>
Subject [jira] Commented: (GERONIMO-555) Write a thread-safe timer/interrupt based transaction timout implementation
Date Wed, 30 Nov 2005 13:21:31 GMT
    [ http://issues.apache.org/jira/browse/GERONIMO-555?page=comments#action_12358904 ] 

Sajida Abdul Salam commented on GERONIMO-555:
---------------------------------------------


1> Fixed the thread safety issue in the code present prior to revision 128441.

2> Investigated different drivers to find out what they do when an interrupt happens during
an IO operation. Only those drivers which use the java.nio.channels package supports interruptible
IO. 

3> Implemented a hybrid transaction code which supports both timer based transaction timeout
and the present time based transaction timeout depending on the driver being used. The set
of drivers that support NIO is currently hard coded in the file TransactionManagerImpl.java.
    Reason: Using a timer based timeout makes sense only if the driver used is interruptible.
In case of non-interruptible drivers the passive (present time based) timeout implementation
is reused.

4> Added test cases for testing the thread safety fix. 

Attachment 1:  Patch.txt  (Contains the fixes in TransactionManagerImpl.java and TransactionImpl.java)
Attachment 2:  ThreadSafety Test.java  (testcases for testing the thread safety fix)
Attachemnt 3:  geronimo_interrupts_POST  (Documentation regarding the fix)
Attachment 4:  TransactionManagerImpl.java (Changed file)
Attachment 5:  TransactionImpl.java   (Changed file)


> Write a thread-safe timer/interrupt based transaction timout implementation
> ---------------------------------------------------------------------------
>
>          Key: GERONIMO-555
>          URL: http://issues.apache.org/jira/browse/GERONIMO-555
>      Project: Geronimo
>         Type: New Feature
>   Components: transaction manager
>     Reporter: David Jencks
>      Fix For: Wish List

>
> This is a long term research project that will probably take a month of concentrated
effort.
> We should investigate whether it is practical to have a thread safe timer/interrupt based
transaction timeout implementation.  A non-thread safe implementation was present prior to
revision 128441.
> Among the issues that need to be investigated are the extent to which IO is actually
interruptable and what existing drivers do when they are interrupted.  For this to work, managed
connections that get interrupted during io must be reliably destroyed.
> We should also investigate to what extent this provides a solution for deadlock resolution.
> If we decide that this is impractical, we should change the internal time unit for timeouts
from milliseconds to seconds as proposed in GERONIMO-550

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message