myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Robinson (JIRA)" <...@myfaces.apache.org>
Subject [jira] Resolved: (TRINIDAD-1939) SessionChangeManager should restore attribute lock after session failover
Date Fri, 15 Oct 2010 23:14:33 GMT

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


Mime
View raw message