Bug 63441

Summary: Changes made to newly created session not replicated
Product: Tomcat 9 Reporter: Mark Thomas <markt>
Component: ClusterAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: 9.0.x   
Target Milestone: -----   
Hardware: All   
OS: All   

Description Mark Thomas 2019-05-15 15:27:02 UTC
Reviewing the DeltaSession code I noticed that, for a newly created DeltaSession, that a DeltaRequest is not created until the request is completed.

That means any changes made to a newly created session in the request where the session is created cannot be replicated as there is no DeltaRequest to record the changes. I have confirmed this behaviour on my local test cluster.

The fix should not be too tricky and should tie in with the changes planned to address bug 62841.
Comment 1 Mark Thomas 2019-05-15 18:37:32 UTC
Just a note that the problem statement is correct but the analysis is not. I'm still digging into what is going wrong.
Comment 2 Mark Thomas 2019-05-16 09:09:24 UTC
I've been able to identify the root cause. The session update message is being processed before the session create message.

The chances of this issue were reduced in a previous fix:
https://github.com/apache/tomcat/commit/ddfb17efe0a05618195c1182c9d8d7c75b175209#diff-5d32282a96cace5f4cc1c9aa0d3cd03d

I plan to look to see if there is more that can be done.
Comment 3 Mark Thomas 2019-05-16 14:28:18 UTC
Fixed in:
- master for 9.0.21 onwards
- 8.5.x for 8.5.42 onwards
- 7.0.x for 7.0.95 onwards