symious commented on pull request #3579:
URL: https://github.com/apache/hadoop/pull/3579#issuecomment-961627153
@fapifta Thanks for the comment.
For the trade off, I think it's mainly on the reuse of the Connection, that
is the ConnectionId. The current comparison of ConnectionId is as follows:
```
if (obj instanceof ConnectionId) {
ConnectionId that = (ConnectionId) obj;
return isEqual(this.address, that.address)
&& this.doPing == that.doPing
&& this.maxIdleTime == that.maxIdleTime
&& isEqual(this.connectionRetryPolicy,
that.connectionRetryPolicy)
&& this.pingInterval == that.pingInterval
&& isEqual(this.protocol, that.protocol)
&& this.rpcTimeout == that.rpcTimeout
&& this.tcpNoDelay == that.tcpNoDelay
&& isEqual(this.ticket, that.ticket);
```
From the comparison, two clients on the same server having "rpcTimeout" or
"pingInterval" set differently would cause a different connection, so I think
the overhead is not that heavy, since there are already many situations clients
not reusing the same connection.
IMHO, the connections seems like bridges, Client A like a bridge with 5
meters wide, Client B like a bridge with 10 meters wide, it seems more
succinct to use different connections for different usage.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]