findBys and Transactions

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

findBys and Transactions

Ritesh Trivedi
Hi,

Note:I tried searching for an explanation of why are transactions created by GenericDelegator even for purely read only operations - but couldnt find any relevant thread. If its already answered will appreciate if someone can provide the link.

I ran a profiler on my application and found significant amount of time getting spent

e.g. (GenericDelegator.findCountByCondition() - is spending 90% of the time in transaction.begin and transaction.commit())

There are several (if not most) other calls that are similar which is adding up to the slowness in the response time.

Is there a reason why GenericDelegator is creating transaction for read only operations - such as findBys and counts? Also there is a flag alwaysUseTransaction - but that really "always" - not really very useful if you think about it (besides its declared final). Is there a way to turn off the transactions on as needed basis?

Reply | Threaded
Open this post in threaded view
|

Re: findBys and Transactions

Scott Gray
Hi Ritesh

There are plenty of threads around, here's a couple:
http://www.nabble.com/-Fwd%3A-Re%3A--Fwd%3A-Re%3A-Transaction-related-error-in-log-when-the---to14299071.html#a14300249
http://www.nabble.com/order-shipped-email-to16101007.html#a16136542

Regards
Scott

2008/9/30 Ritesh Trivedi <[hidden email]>:

>
> Hi,
>
> Note:I tried searching for an explanation of why are transactions created by
> GenericDelegator even for purely read only operations - but couldnt find any
> relevant thread. If its already answered will appreciate if someone can
> provide the link.
>
> I ran a profiler on my application and found significant amount of time
> getting spent
>
> e.g. (GenericDelegator.findCountByCondition() - is spending 90% of the time
> in transaction.begin and transaction.commit())
>
> There are several (if not most) other calls that are similar which is adding
> up to the slowness in the response time.
>
> Is there a reason why GenericDelegator is creating transaction for read only
> operations - such as findBys and counts? Also there is a flag
> alwaysUseTransaction - but that really "always" - not really very useful if
> you think about it (besides its declared final). Is there a way to turn off
> the transactions on as needed basis?
>
>
> --
> View this message in context: http://www.nabble.com/findBys-and-Transactions-tp19734296p19734296.html
> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|

Re: findBys and Transactions

Ritesh Trivedi
Thanks Scott for the pointers. I missed those as the titles didnt look relevant.

I think GenericDelegator is being refactored currently - what about adding additional parameter to the findBys or other suitable way which allows callers to specify whether to create a transaction or not? Seems like number of ppl need this for performance reasons.

Scott Gray wrote
Hi Ritesh

There are plenty of threads around, here's a couple:
http://www.nabble.com/-Fwd%3A-Re%3A--Fwd%3A-Re%3A-Transaction-related-error-in-log-when-the---to14299071.html#a14300249
http://www.nabble.com/order-shipped-email-to16101007.html#a16136542

Regards
Scott

2008/9/30 Ritesh Trivedi <ritesh.trivedi@gmail.com>:
>
> Hi,
>
> Note:I tried searching for an explanation of why are transactions created by
> GenericDelegator even for purely read only operations - but couldnt find any
> relevant thread. If its already answered will appreciate if someone can
> provide the link.
>
> I ran a profiler on my application and found significant amount of time
> getting spent
>
> e.g. (GenericDelegator.findCountByCondition() - is spending 90% of the time
> in transaction.begin and transaction.commit())
>
> There are several (if not most) other calls that are similar which is adding
> up to the slowness in the response time.
>
> Is there a reason why GenericDelegator is creating transaction for read only
> operations - such as findBys and counts? Also there is a flag
> alwaysUseTransaction - but that really "always" - not really very useful if
> you think about it (besides its declared final). Is there a way to turn off
> the transactions on as needed basis?
>
>
> --
> View this message in context: http://www.nabble.com/findBys-and-Transactions-tp19734296p19734296.html
> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>
>