You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by Diego Cattelan <ca...@gmail.com> on 2014/06/27 18:12:38 UTC

Transaction manager time out

Hi, I'm playing with TransactionManager,s on TomEE 1.6.0.2, java 7

<TransactionManager id="Default Transaction Manager"
type="TransactionManager">
defaultTransactionTimeout = 1 minutes

I expect an exception after a minute of work and so this is the result :

Caused by: java.lang.Exception: Transaction has timed out
	at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:266)

but in and @Asynchronous method I never see the time out exception. The
asynchronous method completes succesfully without any exception but at the
end it sends a transaction rollback to the database.

What I'm doing wrong ? Thank you.



--
View this message in context: http://tomee-openejb.979440.n4.nabble.com/Transaction-manager-time-out-tp4670223.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Re: Transaction manager time out

Posted by Diego Cattelan <ca...@gmail.com>.
Yes, Future.get() on the client gives the exception, but no timeout 
exception is logged. When the method is synchronous the timeout 
exception is logged. I'll try to build a sample...


Il 28/06/2014 12:02, Romain Manni-Bucau ha scritto:
> you call get on client side?
>
> maybe share a sample project cause depending what you do you (client) can
> have the responsability to log it
>
>
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
> 2014-06-28 7:28 GMT+02:00 Diego Cattelan <ca...@gmail.com>:
>
>> Done, in case of asynchronous method the Future returns
>> TransactionRolledbackException to the client but I can't see any logged
>> exception.
>>
>>   Hmm
>>> can you put log in debug to check that's not just a log level issue?
>>>
>>>
>>>
>>> Romain Manni-Bucau
>>> Twitter: @rmannibucau
>>> Blog: http://rmannibucau.wordpress.com/
>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>>> Github: https://github.com/rmannibucau
>>>
>>>
>>> 2014-06-27 19:05 GMT+02:00 Diego Cattelan <ca...@gmail.com>:
>>>
>>>   I understand. What's the means of a timeout exception if she happens
>>>> after
>>>> the work is complete ?
>>>>
>>>> Il 27/06/2014 18:43, Jean-Louis Monteiro ha scritto:
>>>>
>>>>    Yep, in container managed transaction, the transaction is
>>>>
>>>>> committed/rollbacked by the container at the end of the method flow
>>>>> processing including any interceptor for your information.
>>>>> For your information as well, the timeout does not apply as soon as the
>>>>> commit is sent to the RDBMS. It's only a timer between the begin and the
>>>>> commit/rollback instructions.
>>>>>
>>>>> But it's only checked by Geronimo Transaction Manager during commit /
>>>>> rollback instructions.
>>>>> There is no daemon threads responsible for sending the timeout exception
>>>>> as
>>>>> soon as the time exceeds
>>>>>
>>>>>
>>>>> --
>>>>> Jean-Louis Monteiro
>>>>> http://twitter.com/jlouismonteiro
>>>>> http://www.tomitribe.com
>>>>>
>>>>>
>>>>> On Fri, Jun 27, 2014 at 6:12 PM, Diego Cattelan <
>>>>> cattelan.diego@gmail.com
>>>>> wrote:
>>>>>
>>>>>    Hi, I'm playing with TransactionManager,s on TomEE 1.6.0.2, java 7
>>>>>
>>>>>> <TransactionManager id="Default Transaction Manager"
>>>>>> type="TransactionManager">
>>>>>> defaultTransactionTimeout = 1 minutes
>>>>>>
>>>>>> I expect an exception after a minute of work and so this is the result
>>>>>> :
>>>>>>
>>>>>> Caused by: java.lang.Exception: Transaction has timed out
>>>>>>            at
>>>>>>
>>>>>> org.apache.geronimo.transaction.manager.TransactionImpl.commit(
>>>>>> TransactionImpl.java:266)
>>>>>>
>>>>>> but in and @Asynchronous method I never see the time out exception. The
>>>>>> asynchronous method completes succesfully without any exception but at
>>>>>> the
>>>>>> end it sends a transaction rollback to the database.
>>>>>>
>>>>>> What I'm doing wrong ? Thank you.
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://tomee-openejb.979440.n4.nabble.com/Transaction-
>>>>>> manager-time-out-tp4670223.html
>>>>>> Sent from the TomEE Users mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>>


Re: Transaction manager time out

Posted by Romain Manni-Bucau <rm...@gmail.com>.
you call get on client side?

maybe share a sample project cause depending what you do you (client) can
have the responsability to log it



Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-06-28 7:28 GMT+02:00 Diego Cattelan <ca...@gmail.com>:

> Done, in case of asynchronous method the Future returns
> TransactionRolledbackException to the client but I can't see any logged
> exception.
>
>  Hmm
>>
>> can you put log in debug to check that's not just a log level issue?
>>
>>
>>
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>> 2014-06-27 19:05 GMT+02:00 Diego Cattelan <ca...@gmail.com>:
>>
>>  I understand. What's the means of a timeout exception if she happens
>>> after
>>> the work is complete ?
>>>
>>> Il 27/06/2014 18:43, Jean-Louis Monteiro ha scritto:
>>>
>>>   Yep, in container managed transaction, the transaction is
>>>
>>>> committed/rollbacked by the container at the end of the method flow
>>>> processing including any interceptor for your information.
>>>> For your information as well, the timeout does not apply as soon as the
>>>> commit is sent to the RDBMS. It's only a timer between the begin and the
>>>> commit/rollback instructions.
>>>>
>>>> But it's only checked by Geronimo Transaction Manager during commit /
>>>> rollback instructions.
>>>> There is no daemon threads responsible for sending the timeout exception
>>>> as
>>>> soon as the time exceeds
>>>>
>>>>
>>>> --
>>>> Jean-Louis Monteiro
>>>> http://twitter.com/jlouismonteiro
>>>> http://www.tomitribe.com
>>>>
>>>>
>>>> On Fri, Jun 27, 2014 at 6:12 PM, Diego Cattelan <
>>>> cattelan.diego@gmail.com
>>>> wrote:
>>>>
>>>>   Hi, I'm playing with TransactionManager,s on TomEE 1.6.0.2, java 7
>>>>
>>>>> <TransactionManager id="Default Transaction Manager"
>>>>> type="TransactionManager">
>>>>> defaultTransactionTimeout = 1 minutes
>>>>>
>>>>> I expect an exception after a minute of work and so this is the result
>>>>> :
>>>>>
>>>>> Caused by: java.lang.Exception: Transaction has timed out
>>>>>           at
>>>>>
>>>>> org.apache.geronimo.transaction.manager.TransactionImpl.commit(
>>>>> TransactionImpl.java:266)
>>>>>
>>>>> but in and @Asynchronous method I never see the time out exception. The
>>>>> asynchronous method completes succesfully without any exception but at
>>>>> the
>>>>> end it sends a transaction rollback to the database.
>>>>>
>>>>> What I'm doing wrong ? Thank you.
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://tomee-openejb.979440.n4.nabble.com/Transaction-
>>>>> manager-time-out-tp4670223.html
>>>>> Sent from the TomEE Users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>>
>

Re: Transaction manager time out

Posted by Diego Cattelan <ca...@gmail.com>.
Done, in case of asynchronous method the Future returns 
TransactionRolledbackException to the client but I can't see any logged 
exception.
> Hmm
>
> can you put log in debug to check that's not just a log level issue?
>
>
>
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
> 2014-06-27 19:05 GMT+02:00 Diego Cattelan <ca...@gmail.com>:
>
>> I understand. What's the means of a timeout exception if she happens after
>> the work is complete ?
>>
>> Il 27/06/2014 18:43, Jean-Louis Monteiro ha scritto:
>>
>>   Yep, in container managed transaction, the transaction is
>>> committed/rollbacked by the container at the end of the method flow
>>> processing including any interceptor for your information.
>>> For your information as well, the timeout does not apply as soon as the
>>> commit is sent to the RDBMS. It's only a timer between the begin and the
>>> commit/rollback instructions.
>>>
>>> But it's only checked by Geronimo Transaction Manager during commit /
>>> rollback instructions.
>>> There is no daemon threads responsible for sending the timeout exception
>>> as
>>> soon as the time exceeds
>>>
>>>
>>> --
>>> Jean-Louis Monteiro
>>> http://twitter.com/jlouismonteiro
>>> http://www.tomitribe.com
>>>
>>>
>>> On Fri, Jun 27, 2014 at 6:12 PM, Diego Cattelan <cattelan.diego@gmail.com
>>> wrote:
>>>
>>>   Hi, I'm playing with TransactionManager,s on TomEE 1.6.0.2, java 7
>>>> <TransactionManager id="Default Transaction Manager"
>>>> type="TransactionManager">
>>>> defaultTransactionTimeout = 1 minutes
>>>>
>>>> I expect an exception after a minute of work and so this is the result :
>>>>
>>>> Caused by: java.lang.Exception: Transaction has timed out
>>>>           at
>>>>
>>>> org.apache.geronimo.transaction.manager.TransactionImpl.commit(
>>>> TransactionImpl.java:266)
>>>>
>>>> but in and @Asynchronous method I never see the time out exception. The
>>>> asynchronous method completes succesfully without any exception but at
>>>> the
>>>> end it sends a transaction rollback to the database.
>>>>
>>>> What I'm doing wrong ? Thank you.
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://tomee-openejb.979440.n4.nabble.com/Transaction-
>>>> manager-time-out-tp4670223.html
>>>> Sent from the TomEE Users mailing list archive at Nabble.com.
>>>>
>>>>


Re: Transaction manager time out

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hmm

can you put log in debug to check that's not just a log level issue?



Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-06-27 19:05 GMT+02:00 Diego Cattelan <ca...@gmail.com>:

> I understand. What's the means of a timeout exception if she happens after
> the work is complete ?
>
> Il 27/06/2014 18:43, Jean-Louis Monteiro ha scritto:
>
>  Yep, in container managed transaction, the transaction is
>> committed/rollbacked by the container at the end of the method flow
>> processing including any interceptor for your information.
>> For your information as well, the timeout does not apply as soon as the
>> commit is sent to the RDBMS. It's only a timer between the begin and the
>> commit/rollback instructions.
>>
>> But it's only checked by Geronimo Transaction Manager during commit /
>> rollback instructions.
>> There is no daemon threads responsible for sending the timeout exception
>> as
>> soon as the time exceeds
>>
>>
>> --
>> Jean-Louis Monteiro
>> http://twitter.com/jlouismonteiro
>> http://www.tomitribe.com
>>
>>
>> On Fri, Jun 27, 2014 at 6:12 PM, Diego Cattelan <cattelan.diego@gmail.com
>> >
>> wrote:
>>
>>  Hi, I'm playing with TransactionManager,s on TomEE 1.6.0.2, java 7
>>>
>>> <TransactionManager id="Default Transaction Manager"
>>> type="TransactionManager">
>>> defaultTransactionTimeout = 1 minutes
>>>
>>> I expect an exception after a minute of work and so this is the result :
>>>
>>> Caused by: java.lang.Exception: Transaction has timed out
>>>          at
>>>
>>> org.apache.geronimo.transaction.manager.TransactionImpl.commit(
>>> TransactionImpl.java:266)
>>>
>>> but in and @Asynchronous method I never see the time out exception. The
>>> asynchronous method completes succesfully without any exception but at
>>> the
>>> end it sends a transaction rollback to the database.
>>>
>>> What I'm doing wrong ? Thank you.
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://tomee-openejb.979440.n4.nabble.com/Transaction-
>>> manager-time-out-tp4670223.html
>>> Sent from the TomEE Users mailing list archive at Nabble.com.
>>>
>>>
>

Re: Transaction manager time out

Posted by Diego Cattelan <ca...@gmail.com>.
I understand. What's the means of a timeout exception if she happens 
after the work is complete ?

Il 27/06/2014 18:43, Jean-Louis Monteiro ha scritto:
> Yep, in container managed transaction, the transaction is
> committed/rollbacked by the container at the end of the method flow
> processing including any interceptor for your information.
> For your information as well, the timeout does not apply as soon as the
> commit is sent to the RDBMS. It's only a timer between the begin and the
> commit/rollback instructions.
>
> But it's only checked by Geronimo Transaction Manager during commit /
> rollback instructions.
> There is no daemon threads responsible for sending the timeout exception as
> soon as the time exceeds
>
>
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
>
>
> On Fri, Jun 27, 2014 at 6:12 PM, Diego Cattelan <ca...@gmail.com>
> wrote:
>
>> Hi, I'm playing with TransactionManager,s on TomEE 1.6.0.2, java 7
>>
>> <TransactionManager id="Default Transaction Manager"
>> type="TransactionManager">
>> defaultTransactionTimeout = 1 minutes
>>
>> I expect an exception after a minute of work and so this is the result :
>>
>> Caused by: java.lang.Exception: Transaction has timed out
>>          at
>>
>> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:266)
>>
>> but in and @Asynchronous method I never see the time out exception. The
>> asynchronous method completes succesfully without any exception but at the
>> end it sends a transaction rollback to the database.
>>
>> What I'm doing wrong ? Thank you.
>>
>>
>>
>> --
>> View this message in context:
>> http://tomee-openejb.979440.n4.nabble.com/Transaction-manager-time-out-tp4670223.html
>> Sent from the TomEE Users mailing list archive at Nabble.com.
>>


Re: Transaction manager time out

Posted by Jean-Louis Monteiro <jl...@tomitribe.com>.
Yep, in container managed transaction, the transaction is
committed/rollbacked by the container at the end of the method flow
processing including any interceptor for your information.
For your information as well, the timeout does not apply as soon as the
commit is sent to the RDBMS. It's only a timer between the begin and the
commit/rollback instructions.

But it's only checked by Geronimo Transaction Manager during commit /
rollback instructions.
There is no daemon threads responsible for sending the timeout exception as
soon as the time exceeds


--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com


On Fri, Jun 27, 2014 at 6:12 PM, Diego Cattelan <ca...@gmail.com>
wrote:

> Hi, I'm playing with TransactionManager,s on TomEE 1.6.0.2, java 7
>
> <TransactionManager id="Default Transaction Manager"
> type="TransactionManager">
> defaultTransactionTimeout = 1 minutes
>
> I expect an exception after a minute of work and so this is the result :
>
> Caused by: java.lang.Exception: Transaction has timed out
>         at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:266)
>
> but in and @Asynchronous method I never see the time out exception. The
> asynchronous method completes succesfully without any exception but at the
> end it sends a transaction rollback to the database.
>
> What I'm doing wrong ? Thank you.
>
>
>
> --
> View this message in context:
> http://tomee-openejb.979440.n4.nabble.com/Transaction-manager-time-out-tp4670223.html
> Sent from the TomEE Users mailing list archive at Nabble.com.
>