https://issues.apache.org/bugzilla/show_bug.cgi?id=49924
Summary: When non-primary node changes into a primary node,
isPrimarySession is not changed to true.
Product: Tomcat 7
Version: 7.0.2
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Cluster
AssignedTo: [email protected]
ReportedBy: [email protected]
If BackupManager is used,
when a primary node is switched,
DeltaSession#isPrimarySession is not changed to true.
Non-primary node changes into a primary node
when a primary node is stopped or we get a non-primary session.
If a primary node is stopped, a primary node is switched.
In AbstractReplicatedMap, when a primary node is switched,
MapOwner(BackupManager)#objectMadePrimay is called.
However, isPrimarySession does not change to true in this method.
=====BackupManager#objectMadePrimay=====
public void objectMadePrimay(Object key, Object value) {
if (value!=null && value instanceof DeltaSession) {
DeltaSession session = (DeltaSession)value;
synchronized (session) {
session.access();
session.endAccess();
}
}
}
=====
If we get a non-primary session, a primary node is switched.
However, isPrimarySession does not change to true.
It is only a change of primary node.
I made a patch.
It contains the following.
isPrimarySession is set to true in BackupManager#objectMadePrimay.
When get() is called in non-primary node, MapOwner#objectMadePrimay is called.
Best regards.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]