[ 
https://issues.apache.org/jira/browse/OPENJPA-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dianne Richards updated OPENJPA-1414:
-------------------------------------

    Attachment: DM_2.0_patch.txt
                DM_1.2.x_patch.txt

Attaching patches for 1.2.x and 2.0, both containing the new reloadOnDetach 
Compatibility property. The 1.2.x patch has the default value set to true. The 
default value in the 2.0 patch is false.

> Performance improvements for detach
> -----------------------------------
>
>                 Key: OPENJPA-1414
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1414
>             Project: OpenJPA
>          Issue Type: Improvement
>          Components: kernel
>    Affects Versions: 1.2.1
>            Reporter: Dianne Richards
>            Assignee: Dianne Richards
>             Fix For: 1.2.2, 2.0.0
>
>         Attachments: DM_1.2.x_patch.txt, DM_2.0_patch.txt
>
>
> In performance runs, a lot of the time is spent on detach processing. This is 
> partially because a detach all is always done after an EntityManager clear() 
> or close(). Therefore, we nee to make the detach processing as efficient as 
> possible. There are 2 areas that we've found where this can be done:
> 1 -  DetachManager always attempts to load fields when detaching all. This 
> does not appear to be necessary when the default DetachState option of 
> "loaded" is used.
> 2 - Detach goes through a bunch of processing to "detach version", which 
> essentially copies the version to the entity that is to be returned. But, 
> when detach all internal is, no copy is being made of the original entity. 
> And, it appears that the original entity always has the version. So, this 
> processing is not necessary in this scenario.
> To be cautious, a new Compatibility property option is being created - 
> reloadOnDetach - to control both of these behavior. In 1.2.x, it will be true 
> by default, so behavior will not be changed for current users. The user will 
> have to set this property to false in order to get the performance benefit.
> If all goes well, the property will be set to false by default in 2.0.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to