[ 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)