Details
-
Improvement
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
Description
TSM maintains a map of SocketAddress (IpAddr, and the ephemeral port) to ClientState. If the connection goes away, for whatever reason, entries are not removed from the map. In most cases this is a tiny leakage. However, at Netflix, we auto-scale services up and down everyday, sometimes with client instance lifetimes of around 36 hours. These clusters can add hundreds of servers at peak time, and indescriminantly terminate them at the trough. Thus, those Ip addresses are never coming back (for us). The net effect for cassandra is that we'll leave thousands of dead entries in the TSM.activeSocketSessions map. When I looked at an instance in a well-used cluster yesterday, there were almost 400,000 entries in the map.