Just FWIW - we cut the 1.14 branch of native *prior to* merging the boost::asio 
change, so we would have some mileage on the change before releasing.  So, all 
other things being equal, this will be in native 1.15, not 1.14.

Thanks,

Blake

-----Original Message-----
From: Jacob Barrett <jabarr...@vmware.com> 
Sent: Wednesday, February 24, 2021 7:38 AM
To: dev@geode.apache.org
Subject: Re: Question about closing of all connections towards an endpoint in 
C++ native client

Oh good! 1.14 is on its way, so problem solved! ;)

> On Feb 24, 2021, at 7:31 AM, Alberto Gomez <alberto.go...@est.tech> wrote:
> 
> Thanks Jake. I totally agree with you.
> 
> Interestingly, that logic has been recently removed from the C++ client when 
> we switched from ACE_SOCK to boost::asio so what I said in my previous e-mail 
> pertained to the C++ client 1.13 version and older.
> 
> Alberto
> ________________________________
> From: Jacob Barrett <jabarr...@vmware.com>
> Sent: Wednesday, February 24, 2021 4:24 PM
> To: dev@geode.apache.org <dev@geode.apache.org>
> Subject: Re: Question about closing of all connections towards an endpoint in 
> C++ native client
> 
> The Java client does the same thing under certain conditions. Neither of the 
> clients should do this though. I think this model is way too overaggressive. 
> I think we should remove that logic entirely. If we think we want something 
> that proactively checks the other connections to that server we could have a 
> background thread go through and send a ping request on one the next in the 
> queue. If it doesn’t respond then terminate that connection. Continue until a 
> pong response is received.
> 
> -Jake
> 
>> On Feb 24, 2021, at 4:36 AM, Alberto Gomez <alberto.go...@est.tech> wrote:
>> 
>> Hi,
>> 
>> Running some tests with the C++ native client and looking at the code, I 
>> have observed that when an error in a connection towards an endpoint 
>> (timeout, IO error) is detected, not only the faulty connection is closed 
>> but the endpoint is set to "not connected" status which eventually provokes 
>> that all other open connections towards that endpoint are closed when used.
>> 
>> I have not seen that behavior in the Java client, i.e., the Java client, 
>> when it detects an error in a connection towards an endpoint, it closes that 
>> connection but does not act on other connections towards that endpoint.
>> 
>> Are my observations correct?
>> 
>> If so, shouldn't the C++ native client be aligned with the Java client?
>> 
>> Thanks,
>> 
>> Alberto G.
> 

Reply via email to