You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Joakim Erdfelt (JIRA)" <ji...@apache.org> on 2015/12/02 18:25:11 UTC

[jira] [Comment Edited] (SOLR-7339) Upgrade Jetty from 9.2 to 9.3

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

Joakim Erdfelt edited comment on SOLR-7339 at 12/2/15 5:25 PM:
---------------------------------------------------------------

The Jetty Project developers took a look at this and ...

If you turn on DEBUG logging for Jetty, you'll see that the test does not send correct data to the server.
The request that fails sends data using chunked encoding, but sends one chunk of length 0x59, but does not send the terminal chunk.
The logs show Jetty reporting that the processing is complete but with unconsumed input, and therefore closes the connection.
Could this be a Solr client bug in disguise?

Look at the attached SolrExampleStreamingBinaryTest.testUpdateField-jetty93.pcapng

Filter: tcp.stream eq 4

{code}
POST /solr/collection1/update?wt=javabin&version=2 HTTP/1.1
User-Agent: Solr[org.apache.solr.client.solrj.impl.HttpSolrClient] 1.0
Content-Type: application/javabin
Transfer-Encoding: chunked
Host: 127.0.0.1:52488
Connection: Keep-Alive

59
...&params..&delByQ..'docsMap.....?...."id&unique.)_version_....4.....'price_f
..#setT...
HTTP/1.1 409 Conflict
Date: Tue, 01 Dec 2015 19:44:38 GMT
Content-Type: application/octet-stream
Content-Length: 144
Server: Jetty(9.3.6.v20151106)

....responseHeader..&statusY..%QTimeP..%error..#msg?4version conflict for unique expected=1519385657324077057 actual=1519385657324077056.$codeY.
{code}


was (Author: joakime):
The Jetty Project developers took a look at this and ...

If you turn on DEBUG logging for Jetty, you'll see that the test does not send correct data to the server.
The request that fails sends data using chunked encoding, but sends one chunk of length 0x59, but does not send the terminal chunk.
The logs show Jetty reporting that the processing is complete but with unconsumed input, and therefore closes the connection.
Could this be a Solr client bug in disguise?

Look at the attached SolrExampleStreamingBinaryTest.testUpdateField-jetty93.pcapng

Filter: tcp.stream eq 4

POST /solr/collection1/update?wt=javabin&version=2 HTTP/1.1
User-Agent: Solr[org.apache.solr.client.solrj.impl.HttpSolrClient] 1.0
Content-Type: application/javabin
Transfer-Encoding: chunked
Host: 127.0.0.1:52488
Connection: Keep-Alive

59
...&params..&delByQ..'docsMap.....?...."id&unique.)_version_....4.....'price_f
..#setT...
HTTP/1.1 409 Conflict
Date: Tue, 01 Dec 2015 19:44:38 GMT
Content-Type: application/octet-stream
Content-Length: 144
Server: Jetty(9.3.6.v20151106)

....responseHeader..&statusY..%QTimeP..%error..#msg?4version conflict for unique expected=1519385657324077057 actual=1519385657324077056.$codeY.

> Upgrade Jetty from 9.2 to 9.3
> -----------------------------
>
>                 Key: SOLR-7339
>                 URL: https://issues.apache.org/jira/browse/SOLR-7339
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Gregg Donovan
>            Assignee: Shalin Shekhar Mangar
>             Fix For: Trunk, 6.0
>
>         Attachments: SOLR-7339.patch, SOLR-7339.patch, SolrExampleStreamingBinaryTest.testUpdateField-jetty92.pcapng, SolrExampleStreamingBinaryTest.testUpdateField-jetty93.pcapng
>
>
> Jetty 9.3 offers support for HTTP/2. Interest in HTTP/2 or its predecessor SPDY was shown in [SOLR-6699|https://issues.apache.org/jira/browse/SOLR-6699] and [on the mailing list|http://markmail.org/message/jyhcmwexn65gbdsx].
> Among the HTTP/2 benefits over HTTP/1.1 relevant to Solr are:
> * multiplexing requests over a single TCP connection ("streams")
> * canceling a single request without closing the TCP connection
> * removing [head-of-line blocking|https://http2.github.io/faq/#why-is-http2-multiplexed]
> * header compression
> Caveats:
> * Jetty 9.3 is at M2, not released.
> * Full Solr support for HTTP/2 would require more work than just upgrading Jetty. The server configuration would need to change and a new HTTP client ([Jetty's own client|https://github.com/eclipse/jetty.project/tree/master/jetty-http2], [Square's OkHttp|http://square.github.io/okhttp/], [etc.|https://github.com/http2/http2-spec/wiki/Implementations]) would need to be selected and wired up. Perhaps this is worthy of a branch?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org