You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ignite TC Bot (JIRA)" <ji...@apache.org> on 2019/06/26 17:12:00 UTC

[jira] [Commented] (IGNITE-8772) WebSessionFilter does not work with jetty 9.4 anymore

    [ https://issues.apache.org/jira/browse/IGNITE-8772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16873527#comment-16873527 ] 

Ignite TC Bot commented on IGNITE-8772:
---------------------------------------

{panel:title=--&gt; Run :: All: Possible Blockers|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Platform .NET (Core Linux){color} [[tests 3 TIMEOUT |https://ci.ignite.apache.org/viewLog.html?buildId=4205913]]

{color:#d04437}Platform .NET{color} [[tests 1 TIMEOUT |https://ci.ignite.apache.org/viewLog.html?buildId=4205912]]

{panel}
[TeamCity *--&gt; Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=4205941&amp;buildTypeId=IgniteTests24Java8_RunAll]

> 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
>            Assignee: Saikat Maitra
>            Priority: Blocker
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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/may 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)