ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Bierwirth (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-8772) WebSessionFilter does not work with jetty 9.4 anymore
Date Mon, 11 Jun 2018 08:07:00 GMT
Michael Bierwirth created IGNITE-8772:
-----------------------------------------

             Summary: WebSessionFilter does not work with jetty 9.4 anymore
                 Key: IGNITE-8772
                 URL: https://issues.apache.org/jira/browse/IGNITE-8772
             Project: Ignite
          Issue Type: Bug
          Components: websession
    Affects Versions: 2.5
         Environment: * jetty-distribution-9.4.10.v20180503
 * ignite 2.5.0
            Reporter: Michael Bierwirth


Jetty adds a workername suffix to the session cookie, using . as delimeter:

{{SESSIONID.node0}}

 

In doFilterV2 the requested sessionid is read from cookie, which contains the suffix:

 
{code:java}
private String doFilterV2(HttpServletRequest httpReq, ServletResponse res, FilterChain chain)
throws IOException, ServletException, CacheException {
WebSessionV2 cached = null;String sesId = httpReq.getRequestedSessionId();
{code}
 

This id will never be found in the cache, because the cache key for new sessions is just the
part before the dot.

 

This is/my be fixed, by adding another session id transformer in the init method. For example:

 
{code:java}
if (srvInfo != null && srvInfo.contains("jetty")) {
  sesIdTransformer = s -> {
    int idx = s.indexOf('.');

    if (idx < 0 || idx == s.length() - 1) {
      return s;
    }

   2 return s.substring(0, idx);
  };
}
{code}
 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message