You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Yuan Gao (JIRA)" <de...@myfaces.apache.org> on 2010/10/12 01:15:32 UTC

[jira] Created: (TRINIDAD-1939) SessionChangeManager should restore attribute lock after session failover

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


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.


[jira] Resolved: (TRINIDAD-1939) SessionChangeManager should restore attribute lock after session failover

Posted by "Andrew Robinson (JIRA)" <de...@myfaces.apache.org>.
     [ 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.