Details
Description
Since the Sockaddr class has been updated to handle various address families, an issue with uninitialized memory in the storage_.in.sin_zero started affecting the behavior of the Sockaddr::HashCode() method.
As the result, ReactorThread::FindOrStartConnection() would create a new connection to the specified remote even if a connection with the required credentials policy had already been established. In a very busy Kudu cluster that could lead to running out of connections, where an attempt to establish a new connection would fail with EADDRNOTAVAIL error (Cannot assign requested address).
Credit goes to wzhou for detecting and troubleshooting the issue.