You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
TCP connections to Milvus grow without bound when TLS is on #1034
Against a Milvus with TLS enabled, Attu's TCP connections to the Milvus proxy grow steadily and are never closed.
In our deployment, with a cluster page left open in a browser tab, the proxies held about 590 established connections from the single Attu pod. The count grew by about one per minute, matching the new Connect / GetVersion / CheckHealth sequence the proxy received from Attu each minute. With TLS off, the count stays flat.
The cause is in @zilliz/milvus2-sdk-node, which Attu v3.0.1 ships (3.0.6, with @grpc/grpc-js 1.14.4). When the SDK's channel pool destroys a client, it calls client.close() and then client.getChannel().getConnectivityState(true). On the closed channel, grpc-js then dials a new connection that nothing closes. With TLS each of these is a separate socket. Without TLS grpc-js reuses one socket, which hides the leak.
It would help if Attu bumped the SDK once that fix is released. Reusing one client instead of opening a new connection every minute would also avoid the churn.
Steps to reproduce:
Run Attu v3.0.1 against a Milvus with TLS on (common.security.tlsMode: 1).
Open a cluster page and leave the tab open.
Count established connections to port 19530 from the Attu pod on the Milvus proxy (e.g. /proc/net/tcp6 in the proxy container). It grows by about one per minute and never drops.
changed the title [-]Leaks a TCP connection to Milvus per closed client when TLS is on[/-][+]TCP connections to Milvus grow without bound when TLS is on[/+]on Oct 3, 2026
Activity
[-]Leaks a TCP connection to Milvus per closed client when TLS is on[/-][+]TCP connections to Milvus grow without bound when TLS is on[/+]