Mario,
I have set the following in oracle:
Processes : 1000 (earlier it was 500)
Sessions: 1000
For a load of 250.
The result was bit fine, but still I get some timeout exceptions , any other
tuning parameters I need to look at ..?
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 10:23 PM
To: [email protected]
Subject: Re: Transaction timeout exception ?!
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***
>>>
>