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.