Re: Review Request 54627: Forced variant of 'http::connect()' to use POLL even when SSL enabled.

2016-12-10 Thread Jie Yu


> On Dec. 11, 2016, 12:06 a.m., Jie Yu wrote:
> > 3rdparty/libprocess/src/http.cpp, lines 1323-1326
> > 
> >
> > Instead of hard coding it, we can add a second parameter 'kind' and let 
> > the caller decide what to use.
> 
> Kevin Klues wrote:
> I was hoping to avoid this for now and just actually implement the 
> semantics mentioned in the comment for this call:
> 
> ```
> // TODO(benh): Currently we don't support SSL for this version of 
> 
> // connect. We should support this, perhaps with an enum or a bool and
> 
> // then update the `connect(URL)` variant to just call this function  
> 
> // instead.
> ```
> 
> The reason being that it's not as simple as just reusing `kind`. We 
> should introduce a new `enum` type called `scheme` with values of `HTTP` and 
> `HTTPS` and pass that into `connect()` instead.
> 
> I can make this change if you want, but I thought just fixing things up 
> to work with the documented semantics should be OK for now.

OK, I don't realize that TODO was in the header? Can you add a TODO here as 
well?


- Jie


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/54627/#review158778
---


On Dec. 10, 2016, 6:29 p.m., Kevin Klues wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/54627/
> ---
> 
> (Updated Dec. 10, 2016, 6:29 p.m.)
> 
> 
> Review request for mesos, Anand Mazumdar, Benjamin Hindman, Jie Yu, and 
> Joseph Wu.
> 
> 
> Bugs: MESOS-6775
> https://issues.apache.org/jira/browse/MESOS-6775
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> The 'http::connect(address)' variant of 'http::connect()' doesn't
> currently support SSL. However, when SSL is enabled, the default for
> all 'Socket::create()' calls is to use the 'DEFAULT_KIND()' of socket
> which is set to SSL. This causes problems with 'connect()' because it
> will create a socket of 'kind' SSL without a way to override it.
> 
> This commit forces all calls to this variant of 'connect()' to
> explicitly set 'kind' to 'POLL' in the 'Socket::create()' call.
> 
> 
> Diffs
> -
> 
>   3rdparty/libprocess/src/http.cpp c0eaeff28ea5005d4dfae32118cb8e0f5e650a67 
> 
> Diff: https://reviews.apache.org/r/54627/diff/
> 
> 
> Testing
> ---
> 
> ../configure --enable-ssl --enable-libevent
> GTEST_FILTER="" make -j check
> src/mesos-tests
> 
> 
> Thanks,
> 
> Kevin Klues
> 
>



Re: Review Request 54627: Forced variant of 'http::connect()' to use POLL even when SSL enabled.

2016-12-10 Thread Kevin Klues


> On Dec. 11, 2016, 12:06 a.m., Jie Yu wrote:
> > 3rdparty/libprocess/src/http.cpp, lines 1323-1326
> > 
> >
> > Instead of hard coding it, we can add a second parameter 'kind' and let 
> > the caller decide what to use.

I was hoping to avoid this for now and just actually implement the semantics 
mentioned in the comment for this call:

```
// TODO(benh): Currently we don't support SSL for this version of 
// connect. We should support this, perhaps with an enum or a bool and
// then update the `connect(URL)` variant to just call this function  
// instead.
```

The reason being that it's not as simple as just reusing `kind`. We should 
introduce a new `enum` type called `scheme` with values of `HTTP` and `HTTPS` 
and pass that into `connect()` instead.

I can make this change if you want, but I thought just fixing things up to work 
with the documented semantics should be OK for now.


- Kevin


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/54627/#review158778
---


On Dec. 10, 2016, 6:29 p.m., Kevin Klues wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/54627/
> ---
> 
> (Updated Dec. 10, 2016, 6:29 p.m.)
> 
> 
> Review request for mesos, Anand Mazumdar, Benjamin Hindman, Jie Yu, and 
> Joseph Wu.
> 
> 
> Bugs: MESOS-6775
> https://issues.apache.org/jira/browse/MESOS-6775
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> The 'http::connect(address)' variant of 'http::connect()' doesn't
> currently support SSL. However, when SSL is enabled, the default for
> all 'Socket::create()' calls is to use the 'DEFAULT_KIND()' of socket
> which is set to SSL. This causes problems with 'connect()' because it
> will create a socket of 'kind' SSL without a way to override it.
> 
> This commit forces all calls to this variant of 'connect()' to
> explicitly set 'kind' to 'POLL' in the 'Socket::create()' call.
> 
> 
> Diffs
> -
> 
>   3rdparty/libprocess/src/http.cpp c0eaeff28ea5005d4dfae32118cb8e0f5e650a67 
> 
> Diff: https://reviews.apache.org/r/54627/diff/
> 
> 
> Testing
> ---
> 
> ../configure --enable-ssl --enable-libevent
> GTEST_FILTER="" make -j check
> src/mesos-tests
> 
> 
> Thanks,
> 
> Kevin Klues
> 
>



Re: Review Request 54627: Forced variant of 'http::connect()' to use POLL even when SSL enabled.

2016-12-10 Thread Jie Yu

---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/54627/#review158778
---




3rdparty/libprocess/src/http.cpp (lines 1323 - 1326)


Instead of hard coding it, we can add a second parameter 'kind' and let the 
caller decide what to use.


- Jie Yu


On Dec. 10, 2016, 6:29 p.m., Kevin Klues wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/54627/
> ---
> 
> (Updated Dec. 10, 2016, 6:29 p.m.)
> 
> 
> Review request for mesos, Anand Mazumdar, Benjamin Hindman, Jie Yu, and 
> Joseph Wu.
> 
> 
> Bugs: MESOS-6775
> https://issues.apache.org/jira/browse/MESOS-6775
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> The 'http::connect(address)' variant of 'http::connect()' doesn't
> currently support SSL. However, when SSL is enabled, the default for
> all 'Socket::create()' calls is to use the 'DEFAULT_KIND()' of socket
> which is set to SSL. This causes problems with 'connect()' because it
> will create a socket of 'kind' SSL without a way to override it.
> 
> This commit forces all calls to this variant of 'connect()' to
> explicitly set 'kind' to 'POLL' in the 'Socket::create()' call.
> 
> 
> Diffs
> -
> 
>   3rdparty/libprocess/src/http.cpp c0eaeff28ea5005d4dfae32118cb8e0f5e650a67 
> 
> Diff: https://reviews.apache.org/r/54627/diff/
> 
> 
> Testing
> ---
> 
> ../configure --enable-ssl --enable-libevent
> GTEST_FILTER="" make -j check
> src/mesos-tests
> 
> 
> Thanks,
> 
> Kevin Klues
> 
>