Eric Shu created GEODE-7478: ------------------------------- Summary: Geode session management fails to replicate if enableLocalCache is set to true in Tomcat module for client-sever setting Key: GEODE-7478 URL: https://issues.apache.org/jira/browse/GEODE-7478 Project: Geode Issue Type: Bug Components: http session Reporter: Eric Shu
Currently geode default setting on enableLocalCache is set to false due to GEODE-7477. If enableLocalCache is set to true, the session replication would fail in client-server case. This is caused by the following code: {code} if (sessionRegion.getAttributes().getDataPolicy() == DataPolicy.EMPTY) { sessionRegion.registerInterest("ALL_KEYS", InterestResultPolicy.KEYS); } {code} And {code} /* * If we're using an empty client region, we register interest so that expired sessions are * destroyed correctly. */ if (!getSessionManager().getEnableLocalCache()) { region.registerInterest("ALL_KEYS", InterestResultPolicy.KEYS); } {code} The implementation would cause only one Tomcat local client cache has the correct data for the session. If a user tries on to any other Tomcat instance, it would be a cache miss as the session data is not sent to other client caches. This would trigger a get from the server, and bring in the session data to the new client cache (in the new Tomcat instance). So far we do not have data replication problem. However, if there is an update on the session (adding a new attribute or update an existing attribute), these update of the session would not be replicated to the other Tomcat instance. If user failed over/land on different Tomcat, the session data are different. -- This message was sent by Atlassian Jira (v8.3.4#803005)