[ https://issues.apache.org/jira/browse/GEODE-2539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15903962#comment-15903962 ]
Kevin Duling commented on GEODE-2539: ------------------------------------- Jetty 9.4's API has changed significantly around Session management, which causes incompatibilities with our current usage of the library. Details are covered in http://www.eclipse.org/jetty/documentation/9.4.x/upgrading-jetty.html where this document talks about the replacement of the SessionManager with a SessionHandler object. A simple swap of the library won't work. Testing, a significant break occurs somewhere around Jetty 9.3.12. Looking at the headers, an additional cookie is added. {code} HTTP/1.1 200 OK Date: Thu, 09 Mar 2017 21:26:53 GMT Set-Cookie: JSESSIONID=1p5komz4v6jd8ig7hdf7mzl55;Path=/test Expires: Thu, 01 Jan 1970 00:00:00 GMT Set-Cookie: JSESSIONID=79B1D9A6-62CF-411E-B07A-E0915ABD8DEA-GF;Path=/test Content-Length: 3 Server: Jetty(9.3.12.v20160915) {code} While in 9.3.11, only one cookie shows up in the header. {code} HTTP/1.1 200 OK Date: Thu, 09 Mar 2017 21:30:07 GMT Expires: Thu, 01 Jan 1970 00:00:00 GMT Set-Cookie: JSESSIONID=3F4F1039-E713-4A63-954F-7803B6D80319-GF;Path=/test Content-Length: 3 Server: Jetty(9.3.11.v20160721) {code} Testing with multiple versions of Jetty finds that these versions are compatible: {code} jetty.version = 9.3.11.v20160721 jetty.version = 9.3.10.v20160621 jetty.version = 9.3.9.v20160517 jetty.version = 9.3.8.v20160314 jetty.version = 9.3.6.v20151106 {code} > Upgrading Jetty causes RestSecurityIntegrationTest to fail > ---------------------------------------------------------- > > Key: GEODE-2539 > URL: https://issues.apache.org/jira/browse/GEODE-2539 > Project: Geode > Issue Type: Bug > Components: rest (admin), security, tests > Reporter: Kirk Lund > Assignee: Kevin Duling > Fix For: 1.2.0 > > > Upgrading our jetty dependency in gradle/dependency-versions.properties: > -jetty.version = 9.3.6.v20151106 > +jetty.version = 9.4.0.v20161208 > Causes these RestSecurityIntegrationTest tests to fail (possibly > intermittently): > {noformat} > :geode-assembly:integrationTest > org.apache.geode.rest.internal.web.RestSecurityIntegrationTest > headRegion > FAILED > org.apache.http.NoHttpResponseException: localhost:21423 failed to respond > at > org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:143) > at > org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) > at > org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) > at > org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) > at > org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167) > at > org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) > at > org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271) > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) > at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71) > at > org.apache.geode.rest.internal.web.GeodeRestClient.doRequest(GeodeRestClient.java:161) > at > org.apache.geode.rest.internal.web.GeodeRestClient.doHEAD(GeodeRestClient.java:104) > at > org.apache.geode.rest.internal.web.RestSecurityIntegrationTest.headRegion(RestSecurityIntegrationTest.java:246) > org.apache.geode.rest.internal.web.RestSecurityIntegrationTest > testServers > FAILED > org.apache.http.client.ClientProtocolException > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186) > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71) > at > org.apache.geode.rest.internal.web.GeodeRestClient.doRequest(GeodeRestClient.java:161) > at > org.apache.geode.rest.internal.web.GeodeRestClient.doGet(GeodeRestClient.java:125) > at > org.apache.geode.rest.internal.web.RestSecurityIntegrationTest.testServers(RestSecurityIntegrationTest.java:165) > Caused by: > org.apache.http.ProtocolException: The server failed to respond with > a valid HTTP response > at > org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:151) > at > org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) > at > org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) > at > org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) > at > org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167) > at > org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) > at > org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271) > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > ... 4 more > 38 tests completed, 2 failed > :geode-assembly:integrationTest FAILED > {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)