You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Anand Mazumdar (JIRA)" <ji...@apache.org> on 2016/11/22 03:33:58 UTC

[jira] [Commented] (MESOS-6466) Add support for streaming HTTP requests in Mesos

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

Anand Mazumdar commented on MESOS-6466:
---------------------------------------

{noformat}
commit 0ca11623e6deb98dc05ec90b0339960c251cd64e
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:08:44 2016 -0800

    Disabled tests relying on filtering HTTP events.

    Some tests that rely on filtering HTTP events based on type won't
    work now since the request body is not yet known when \`visit()\`
    is invoked. These would be enabled later as part of a separate JIRA
    issue.

    Review: https://reviews.apache.org/r/53491/

commit 5cd134fedf69900523f3088de32daae81f216437
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:08:30 2016 -0800

    Added a test for request streaming and GZIP compression.

    These tests validate that clients can stream requests and send
    compressed GZIP requests using the connection abstraction. This
    also test the implementation of the streaming decoder indirectly.

    Review: https://reviews.apache.org/r/53490/

commit a24cb4985c2333e2d15eeb8f971242f1754f81ab
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:08:18 2016 -0800

    Added support for request streaming to the connection abstraction.

    This required modifications to the `encode()` method to return
    a `Pipe::Reader` instead of the request body. The `send()` then
    reads from this pipe to send the request via the socket.

    Review: https://reviews.apache.org/r/53489/

commit d06d74562740767f0750e10907a327c5b45fef4c
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:08:12 2016 -0800

    Removed `convert()` continuations in favor of using `readAll()`.

    Review: https://reviews.apache.org/r/53488/

commit d30039ded0a434cdf9583e0a12b73e1b3661380e
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:08:01 2016 -0800

    Wired the libprocess code to use the streaming decoder.

    Old libprocess style messages and routes not supporting request
    streaming read the body from the piped reader. Otherwise, the
    request is forwarded to the handler when the route supports
    streaming.

    Review: https://reviews.apache.org/r/53487/

commit c95e86c37dd82130016abf3a240ebfd869dfed2c
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:07:54 2016 -0800

    Parameterized existing decoder tests on the type of decoder.

    This allows us to not duplicate tests for the streaming request
    decoder.

    Review: https://reviews.apache.org/r/53511/

commit dceacc50ce8577b1d0fd5cde0e55dadef1907fdf
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:07:47 2016 -0800

    Removed extraneous socket argument from `DataDecoder` constructor.

    This argument is not used anywhere in the code. This makes it
    consistent with the streaming request decoder.

    Review: https://reviews.apache.org/r/53510/

commit 32e203ea194e3531ea8c5ded4d538bacb7cc2781
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:07:41 2016 -0800

    Introduced a streaming request decoder in libprocess.

    This would become the default de facto decoder used by libprocess
    and replace the existing `DataDecoder`.

    Review: https://reviews.apache.org/r/53486/

commit e8e3fe596f242767fc10ccb95cbdcd36c49a89a5
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:07:29 2016 -0800

    Introduced a `readAll()` helper on `http::Pipe::Reader`.

    The helper reads from the pipe till EOF. This is used later to
    read BODY requests from the streaming request decoder.

    Review: https://reviews.apache.org/r/53485/

commit 5152728e3eeac8d6fac52545d0ebc5df6f2e42cb
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:07:25 2016 -0800

    Introduced `RouteOptions` to support streaming requests.

    This allows routes to specify configuration options. Currently, it
    only has one member `streaming` i.e, if the route supports request
    streaming. This also enables us to add more options in the future
    without polluting overloads.

    Review: https://reviews.apache.org/r/53484/

commit f6286048a5f897ff6859b38a24c3d64aa3b54d01
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:07:20 2016 -0800

    Introduced a reader member to `Request` to support request streaming.

    These new members are needed for supporting request streaming i.e.,
    the caller can use the writer to stream chunks to the server if
    the request body is not known in advance.

    Review: https://reviews.apache.org/r/53483/

commit 1003f3d208f6e06e8bf485e395190f9bd4e5fe24
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:07:11 2016 -0800

    Initialized the POD type in the `Request` struct.

    Previously, the `keepAlive` member was not initialized correctly,
    the behavior is undefined if POD types are not correctly
    initialized.

    Review: https://reviews.apache.org/r/53482/

commit 6a4de74007604862e3c24b022ab565c8a9c6cdc9
Author: Anand Mazumdar <an...@apache.org>
Date:   Mon Nov 21 18:07:06 2016 -0800

    Moved around the `Request` struct in the file.

    This serves two purposes:
    - This brings it near the `Response` struct thereby making it easy
    to switch between them for readability.
    - In the future, `Request` would have a `Pipe::Reader` member
    for supporting request streaming. Otherwise, we would need to
    add another forward declaration and forward declaring nested
    structs is not quite possible.

    Review: https://reviews.apache.org/r/53481/
{noformat}

> Add support for streaming HTTP requests in Mesos
> ------------------------------------------------
>
>                 Key: MESOS-6466
>                 URL: https://issues.apache.org/jira/browse/MESOS-6466
>             Project: Mesos
>          Issue Type: Task
>            Reporter: Kevin Klues
>            Assignee: Anand Mazumdar
>              Labels: debugging, mesosphere
>             Fix For: 1.2.0
>
>
> We already have support for streaming HTTP responses in Mesos. We now also need to add support for streaming HTTP requests.



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