[ https://issues.apache.org/jira/browse/WW-4409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lukasz Lenart updated WW-4409: ------------------------------ Fix Version/s: 7.1.0 (was: 7.0.0) > Modify the TokenInterceptor not to lock the session object while handling and > invalid token > ------------------------------------------------------------------------------------------- > > Key: WW-4409 > URL: https://issues.apache.org/jira/browse/WW-4409 > Project: Struts 2 > Issue Type: Improvement > Components: Core Interceptors > Affects Versions: 2.3.20 > Reporter: Rob Baily > Priority: Minor > Fix For: 7.1.0 > > Attachments: tokeninterceptor.patch > > > Similar to WW-3582. Currently in the TokenInterceptor class in the > handleToken method there is a lock on the session object and the > handleInvalidToken method is called within that block. In our environment we > overrode the handleInvalidToken and it turned out that when this method ran > long that any other requests for the user were immediately blocked and the > threads were locked up and unable process any further requests. > I would like to see if we can change the handleToken method not to lock the > session when calling the method to handle an invalid token. I realize that > ours may not be an ideal implementation and the base implementation should be > fast but it does seem like the time an object is locked should be minimized. > I don't know if there is a reason that the invalid method would need to be in > that block. > I am including a patch for the change on this. It does not affect the tests > and I do not know if there is a good way to add a test that would check the > locking. -- This message was sent by Atlassian Jira (v8.20.10#820010)