https://bz.apache.org/bugzilla/show_bug.cgi?id=66513
--- Comment #7 from Remy Maucherat <r...@apache.org> --- First, I'd like to add that this issue is in the javadoc of PersistentValve: it requires a persistent manager, *and* "to work correctly it assumes only one request exists per session at any one time". So no big surprise then. Actually, someone already talked about this problem (= the session object can change so sync on that object may fail to do what is expected): http://illegalargumentexception.blogspot.com/2008/04/java-synchronizing-on-transient-id.html Unfortunately, it seems the solution proposed is not good since it syncs too much. Similarly, String.intern should not be used for sync (explanations are available online). Instead, I think we should use the original suggestion from Vincent: the ParsistentManager (or most likely, the StoreBase) should use a concurrent map to deduplicate the session ids. But there's still a problem: all the session ids that are in a store would now be in memory. Maybe that's not a problem these days but it was certainly something that was avoided before. So I cannot find a solution yet that fixes this while keeping everything as it was. -- 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