I think Vasily was refering to the max allowed/configured connections
to Derby. The same DB setting we talked before. Did you checked the
Oracle settings?

-Mario

Santosh Koti wrote:

Vasily,

DB max setting depends on the load u want to test on the application
Say , if u r load is 100, then the DB max (connection pool) setting should be 
atleast 100 or more. The same no of processs/sessions (or whatever is 
equivalent in derby) should be set.

PS1: Geronimo default starts with 50 threads. Atleast have 50.



Thanks,
Santosh.
"Don't talk about yourself; it will be done when you leave. "
-----Original Message-----
From: Zakharov, Vasily M [mailto:[EMAIL PROTECTED] Sent: Thursday, June 01, 2006 8:44 PM
To: [email protected]
Subject: RE: Transaction timeout exception ?!


By the way, what is the DB max setting for Derby?

 Vasily


-----Original Message-----
From: Mario Rubsam [mailto:[EMAIL PROTECTED] Sent: Thursday, June 01, 2006 7:06 PM
To: [email protected]
Subject: Re: Transaction timeout exception ?!

Santosh,

I can tell you the situation with MaxDB.

If max Geronimo is set to 51 and 50 is the setting for MAXUSERTASKS
in MaxDB then you got a lock when 50 is reached until someone will
free a connection/session on the server. The reaction depends on the
db server. For MaxDB you have to wait for a timeout ;-) So my suggestion
is always DB max settings > Geronimo settings +5 sessions for the
admin tools.

-Mario


Santosh Koti wrote:
Mario,

It is Oracle DB.
U mean if 'x' no of connection pools are set on the Geronimo server, similar no 
of sessions have to be there on the DB server side ?

U got it resolved ?

PS: This happens under load conditions.


Thanks,
Santosh.
"Don't talk about yourself; it will be done when you leave. "
-----Original Message-----
From: Mario Rübsam [mailto:[EMAIL PROTECTED] Sent: Thursday, June 01, 2006 8:03 PM
To: [email protected]
Subject: Re: Transaction timeout exception ?!

Santosh,

first of all my question is now: which database?
I had this under load conditions when not enough database
connections/sessions available on the db server. Or when
the max connections on Geronimo set higher than max connections
on the server.

-Mario

Santosh Koti wrote:
Hi all,

I am getting transaction timeout exception , may I know the reasons/workaround for it?

I guess this the container is try ing to commit, but is waiting for the DB to accept the request ?

Here is the following code snippet from Geronimo TransactionImpl.java(commit ()) :

-------------Begin-----------------

                                    |   //Transaction method, does 2pc|
|221 ||*public*|| *void* commit() *throws* HeuristicMixedException <http://www.kickjava.com/3071.htm>, HeuristicRollbackException <http://www.kickjava.com/3072.htm>, RollbackException <http://www.kickjava.com/3072.htm>, SecurityException <http://www.kickjava.com/1840.htm>, SystemException <http://www.kickjava.com/2975.htm> {|
|222         beforePrepare();|
|223 |
|224         *try* {|
|225                       *boolean* timedout = *false*;|
|226 *if* (TransactionTimer.getCurrentTime() > timeout)|
|227                       {|
|228                           status = Status.STATUS_MARKED_ROLLBACK;|
|229                           timedout = *true*;|
|230                       }|
|231 |
|232             *if* (status == Status.STATUS_MARKED_ROLLBACK) {|
|233                 rollbackResources(resourceManagers);|
|234                               *if*(timedout)|
|235                               {|
|236 *throw* *new* RollbackException <http://www.kickjava.com/3072.htm>("Transaction timout");|
|237                               }|
|238                               *else*|
|239                               {|
|240 *throw* *new* RollbackException <http://www.kickjava.com/3072.htm>("Unable to commit");|
|241                               }|
|242             }|
|243             *synchronized* (*this*) {|
|244                 *if* (status == Status.STATUS_ACTIVE) {|
|245                     *if* (*this*.resourceManagers.size() == 0) {|
|246                         // nothing to commit|
|247 status = Status.STATUS_COMMITTED;|
|248 } *else* *if* (*this*.resourceManagers.size() == 1) {|
|249                         // one-phase commit decision|
|250 status = Status.STATUS_COMMITTING;|
|251                     } *else* {|
|252                         // start prepare part of two-phase|

-------------End--------------------

Thanks,

Santosh.

"Don't talk about yourself; it will be done when you leave. "

**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Further, you are not to copy, disclose, or distribute this e-mail or its contents to any other person and any such actions are unlawful. This e-mail may contain viruses. Infosys has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Infosys reserves the right to monitor and review the content of all messages sent to or from this e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***


Reply via email to