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

James Peach commented on MESOS-8368:
------------------------------------

Probably we should implement [SSL_CTX_set_next_protos_advertised_cb 
|https://www.openssl.org/docs/man1.1.0/ssl/SSL_set_alpn_protos.html] and only 
advertise {{http/1.1}}. This ought to prevent HTTP/2 negotiation, though it 
seems pretty aggressing of curl to try HTTP/2 without an explicit negotiation.

> Improve HTTP parser to support HTTP/2 messages.
> -----------------------------------------------
>
>                 Key: MESOS-8368
>                 URL: https://issues.apache.org/jira/browse/MESOS-8368
>             Project: Mesos
>          Issue Type: Improvement
>            Reporter: Armand Grillet
>
> We currently use [http-parser|https://github.com/nodejs/http-parser] to parse 
> HTTP messages. This parser does not work with HTTP/2 requests and responses 
> which as an issue as curl enables HTTP/2 by default for HTTPS connections 
> since its version 7.47.
> The issue has been discovered in some of our tests (e.g. 
> ProvisionerDockerTest) where it crashes with the message {{Failed to decode 
> HTTP responses: Decoding failed}}. See 
> [MESOS-8335|https://issues.apache.org/jira/browse/MESOS-8335] for more 
> details.
> Possible long-term solutions:
> * Upgrade the parser to be compatible with HTTP/2 messages. 
> [http-parser|https://github.com/nodejs/http-parser] has not been updated 
> regularly this past year in favor of 
> [nghttp2|https://github.com/nghttp2/nghttp2] which has a much broader scope. 
> [There is no equivalent of http-parser for HTTP/2 
> yet|https://users.rust-lang.org/t/is-there-anything-similar-to-http-parser-but-for-http2/10721].
> * Test which version of curl is used at startup and report an error if the 
> version is >= 7.47 and the flag {{--http1.0}} is not used in curl (more 
> details regarding this flag are available 
> [here|https://curl.haxx.se/docs/manpage.html].
> In the meantime, we are upgrading our testing machines using a recent version 
> of curl to run with the flag {{--http1.0}} 
> ([MESOS-8335|https://issues.apache.org/jira/browse/MESOS-8335]).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to