You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geode.apache.org by Hovhannes Antonyan <ha...@vmware.com> on 2015/12/02 13:02:32 UTC

Connection usage

When conserve-sockets is true, how does gemfire share the connections when function calls are made?
When I have a Thread1 that makes a function call to the other node, does it lock the connection until the response has received from the target node or it uses the connection just to transfer function requests and responses?

Why does the "socket-lease-time" parameter documentation say "exclusive access to a scoket"?

Regards,
Hovhannes

Re: Connection usage

Posted by Darrel Schneider <ds...@pivotal.io>.
The sockets governed by "conserve-sockets" are all used to send messages.
If a socket is owned by a thread (i.e. not shared by multiple threads) then
some of the messages sent on it will also have their reply sent back on the
same socket.

But for all the shared sockets (i.e. conserve-sockets=true) the socket is
only used to send messages. Any reply is itself sent back on a different
shared socket in the member that processed the sent message.

For the shared sockets they are only locked as the message bytes are being
written to their socket. As soon as that completes another thread can start
sending his message on that same shared socket.

The "socket-lease-time" property is only used if "conserve-sockets" is
false.
For the non-conservative sockets that are created and are owned by a
particular thread, the lease time will cause that socket to be "released"
if the thread is not actively using it. The current "release"
implementation is to close the socket.


On Wed, Dec 2, 2015 at 4:02 AM, Hovhannes Antonyan <ha...@vmware.com>
wrote:

> When conserve-sockets is true, how does gemfire share the connections when
> function calls are made?
>
> When I have a Thread1 that makes a function call to the other node, does
> it lock the connection until the response has received from the target node
> or it uses the connection just to transfer function requests and responses?
>
>
>
> Why does the "socket-lease-time" parameter documentation say "exclusive
> access to a scoket"?
>
>
>
> Regards,
>
> Hovhannes
>