Tenho cluster de várias máquinas conectadas na rede de 10GBE (NICs são Intel 82599EB 10GBE SFI / SFP +) em execução no Debian 6.0 e enfrentei problema de desligar conexões TCP no estado CLOSE_WAIT. Eu sei que, em teoria, a conexão no estado CLOSE_WAIT deve ser explicitamente fechada pelo aplicativo, mas no meu caso pelo menos dois aplicativos diferentes geram essas conexões desligadas e acho que o problema está em outra coisa.
No início, este problema foi reproduzido pelo Cassandra executando como daemon no processo 'jsvc'. Um nó do Cassandra ("servidor") não fechou a conexão que foi fechada do lado de outro nó que iniciou essa conexão ("cliente").
Depois disso, executei o teste TCP_CRR 'netperf' e recebi uma mensagem de erro:
netperf -H 172.15.2.166 -t TCP_CRR -l -5 -D TCP
Connect/Request/Response TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
172.15.2.166 (172.15.2.166) port 0 AF_INET : demo send_tcp_conn_rr: data recv error: Connection reset by peer
Com a conexão TCP suspensa no estado CLOSE_WAIT na máquina 172.15.2.166 com 1 byte estranho em Recv-Q.
tcp 1 0 172.15.2.166:12865 172.15.2.161:42863 CLOSE_WAIT
Eu atualizei o driver 'ixgbe' para o último 3.9-NAPI, mas esse problema ainda persiste e agora me pergunto o que mais pode causar o problema?