geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sandip Ghayal (JIRA)" <...@geronimo.apache.org>
Subject [jira] Updated: (GERONIMO-550) Functioning of Transaction Time out was not properly handled
Date Tue, 25 Jan 2005 17:24:17 GMT
     [ http://issues.apache.org/jira/browse/GERONIMO-550?page=history ]

Sandip Ghayal updated GERONIMO-550:
-----------------------------------

    Attachment: TransactionTimer.java
                patches.out

1> Removal of timer event for Transaction Timeout,
Instead use current time before doing commit of
transaction to figure out if rollback is needed
Reason for change: Handling of timer event would be
very complicated and would require synchronization on
other methods like commit and rollback for proper
functionality

2> Changing time out value from milliseconds to
seconds: I have made the unit of time measurement for
time out to seconds instead of previous practice of
milliseconds. Added the class for getting the current
time in seconds.
Reason for change: Transaction time out does not need
to be so accurate. All the locations of input always
gave time in seoconds. New class was added for
efficiency.

3> Using standard begin interface, instead of modified
one: I have modified code to use standard interface
for begin
Reason for Change: Ease of use by staying with
standards ??

4> Timeout logic modification: Added the facility to
reset the transaction timeout back to default value
after the transaction is started.
Reason for change: This is a debatable issue. And
specifications don't specify anything on this. My
stand on this is once the timeout value is set then
next transaction starting on this thread would use
this timeout value and subsequent transactions should
start using the default values. If we don't do this
then there are cases where user could get unexpected
transaction timeout values. E.g. (a) EJB1 supplied
by Vendor 1 sets Transaction Timeout and Calls EJB2
supplied by Vendor 2. EJB 2 requires to be executed
under default timeout but EJB 2 does not know that 
EJB1 has changed transaction timeout. E.g. (b)
Extending e.g. (a), EJB 2 sets transaction timeout
executes transaction, and then control returns back
to EJB1. EJB 1 is not aware that EJB2 has changed
transaction timeout. so next transaction started by
EJB1 will be under transaction timeout of EJB2.

5> Added test cases for testing timeout: Added a
single test case to test two conditions. One the
timeout condition and other to test the recovery from
timeout.

> Functioning of Transaction Time out was not properly handled
> ------------------------------------------------------------
>
>          Key: GERONIMO-550
>          URL: http://issues.apache.org/jira/browse/GERONIMO-550
>      Project: Apache Geronimo
>         Type: Bug
>   Components: transaction manager
>     Versions: 1.0-M4
>  Environment: All platforms and All JDK Version
>     Reporter: Sandip Ghayal
>  Attachments: TransactionTimer.java, patches.out
>
> Currently operation for timeout for transaction is not thread safe

-- 
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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Mime
View raw message