You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Siddharth Wagle (JIRA)" <ji...@apache.org> on 2015/11/12 19:45:10 UTC

[jira] [Updated] (AMBARI-13753) Refactor code that caches stale entity references

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

Siddharth Wagle updated AMBARI-13753:
-------------------------------------
    Description: 
Problems:
- Deleted hostcomponent rows re-appear
- Inconsistencies in hostcomponentstate and hostcomponentdesiredstate tables

Analysis:
- Stale entity references cached that point to dettached entites and may get persisted in altogether different transaction
- Cascaded persist annotation mixed with manual bi-directional persist operations. The manual persist was done since there are cached references in the object hierarchy at different levels. The Casade addition seems to have been an after thought added on even though manual bi-directional perist laways existed.

Patch details:
- Make sure cached references are refreshed on getter / setter methods
- Remove Cascaded persist for only those relations that could result in un-intentional persist of the relationship with downstream objects. eg: ServiceComponentHostDesiredStateEntity
- Marked HostRoleCommand and ExecutionCommand as non-Cacheable entites for JPA
- Make sure bi-directional persist is present on non-Cascaded entities
- Removed refresh() calls that were responsible for refreshing cached entity objects

  was:
- Deleted hostcomponent rows re-appear
- Inconsistencies in hostcomponentstate and hostcomponentdesiredstate tables


> Refactor code that caches stale entity references 
> --------------------------------------------------
>
>                 Key: AMBARI-13753
>                 URL: https://issues.apache.org/jira/browse/AMBARI-13753
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 1.5.0
>            Reporter: Siddharth Wagle
>            Assignee: Siddharth Wagle
>             Fix For: 2.1.3
>
>
> Problems:
> - Deleted hostcomponent rows re-appear
> - Inconsistencies in hostcomponentstate and hostcomponentdesiredstate tables
> Analysis:
> - Stale entity references cached that point to dettached entites and may get persisted in altogether different transaction
> - Cascaded persist annotation mixed with manual bi-directional persist operations. The manual persist was done since there are cached references in the object hierarchy at different levels. The Casade addition seems to have been an after thought added on even though manual bi-directional perist laways existed.
> Patch details:
> - Make sure cached references are refreshed on getter / setter methods
> - Remove Cascaded persist for only those relations that could result in un-intentional persist of the relationship with downstream objects. eg: ServiceComponentHostDesiredStateEntity
> - Marked HostRoleCommand and ExecutionCommand as non-Cacheable entites for JPA
> - Make sure bi-directional persist is present on non-Cascaded entities
> - Removed refresh() calls that were responsible for refreshing cached entity objects



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)