I have recently created a jetty issue as I thought it's a jetty issue. When I invalidate the session it still resides in the sessionCache of AbstractSessionManager (jetty). And due to that the cookie JSESSIONID is never regenerated. We are reusing session id that was previously invalidated.
Please check issue:
jetty/jetty.project#13662
However I did test it and it looks as it is not enough and old session id is still kept.