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

Andrew Robinson resolved TRINIDAD-1939.
---------------------------------------

       Resolution: Fixed
    Fix Version/s:  1.2.15-core 
                   2.0.0.3-core

> SessionChangeManager should restore attribute lock after session failover
> -------------------------------------------------------------------------
>
>                 Key: TRINIDAD-1939
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1939
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>          Components: Components
>    Affects Versions:  1.2.12-core
>            Reporter: Yuan Gao
>             Fix For: 2.0.0.3-core,  1.2.15-core 
>
>         Attachments: cm-serialproxy.patch.1.2.12.3, 
> cm-serialproxy.patch.1.2.x, cm-serialproxy.patch.trunk
>
>
> The issue is in SessionChangeManager, we have an attribute lock, as this: 
> private transient final Object _attrRebuildLock = new Object(); 
> And we synchronize on this object when we want to modify the changes arrays. 
> When failover happens, this field becomes null. And future synchronization 
> will fail since it's null. The fix is to implement the readObject() method, 
> and re-initialize the _attrRebuildLock field to be new Object(); 
>     private void readObject(java.io.ObjectInputStream in) 
>       throws IOException, ClassNotFoundException 
>     {
>       in.defaultReadObject();
>       _attrRebuildLock = new Object();
>     }

-- 
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