[ 
https://issues.apache.org/jira/browse/OFBIZ-4282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13037650#comment-13037650
 ] 

Jacques Le Roux commented on OFBIZ-4282:
----------------------------------------

First thanks to both of you, for explaining the problem in details and clearly 
give your POVs

*About debugResources (debug stack)*
We could easily create a properties for that. But I know David is a bit against 
adding more and more external paramaters. I must say OFBiz already "offers" a 
lot of them, and it's often the "easy"' solution. I see 2 contradictory aspects 
in this.
# If the parameters is well documented (API + Wiki: Technical Setup), it adds 
some value because it opens a door out of code.
# Tons of parameters kills parameters, even well documented. But then this does 
not mean that things should not change. It could be that among current 
parameters some are of little value (or even deprecated), when some could be 
added with more value (hence replacing/removing some of little value when the 
number begins to be a problem, but then legacy/history caught us)

So as ever, we would need to find a consensus in the community. I'm know I'm an 
hopelessly optimist, but I hope so...

*For internalBegin,* I guess David was suggesting to rather investigate screens 
in customized applications to set use-transaction="false" when no transactions 
are really needed. David, from your comment I wonder then if we should not have 
use-transaction="false" by default? Why the contrary was chosen?

My 2 cts

> TransactionUtil performance optimisations
> -----------------------------------------
>
>                 Key: OFBIZ-4282
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-4282
>             Project: OFBiz
>          Issue Type: Improvement
>          Components: framework
>    Affects Versions: SVN trunk
>            Reporter: Philippe Mouawad
>              Labels: PERFORMANCE
>         Attachments: patch-OFBIZ-4282.patch
>
>
> Hello,
> Reviewing TransactionUtil code, I have seen 2 problems:
> - internalBegin is uselessly synchronized , since it is a static method it is 
> a very big useless Contention Point since not unthread safe instance variable 
> is used 
> - debugResources is true which creates a DebugXAResource (that creates an 
> Exception) , it should be false and made an option for debuging
> These 2 modifications have been in our production for a while and we noticed 
> CPU reduction and no more contention on TransactionUtil#begin
> Regards
> Philippe Mouawad
> http://www.ubik-ingenierie.com

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to