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 <[email protected]>
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
>

Reply via email to