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: dev@tomcat.apache.org ReportedBy: kfuj...@apache.org 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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org