client socket TIME_WAIT state after PQfinish - Mailing list pgsql-hackers
From | Guillaume Du Pasquier |
---|---|
Subject | client socket TIME_WAIT state after PQfinish |
Date | |
Msg-id | EF883A8436897F4380CD4DA6E9CF88B60C2ABC241F@dc.sensometrix.local Whole thread Raw |
Responses |
Re: client socket TIME_WAIT state after PQfinish
|
List | pgsql-hackers |
<div class="WordSection1"><p class="MsoNormal"><span lang="EN-US">Dear all,</span><p class="MsoNormal"><span lang="EN-US"> </span><pclass="MsoNormal">Environement:<p class="MsoNormal"><span lang="EN-US">- OS : Ubuntu 10.04 LTS.</span><pclass="MsoNormal"><span lang="EN-US">- DB: postgresql 8.4.</span><p class="MsoNormal"><span lang="EN-US">-Connection to postgresql using sslmode = disable</span><p class="MsoNormal"><span lang="EN-US"> </span><p class="MsoNormal">Scenario :<pclass="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><span lang="EN-US"><spanstyle="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman""> </span></span></span><spanlang="EN-US">I use pgadmin to connect/disconnect to the postgresql server on port 5432 or</span><pclass="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><span lang="EN-US"><span style="mso-list:Ignore">2.<spanstyle="font:7.0pt "Times New Roman""> </span></span></span><span lang="EN-US">I usea progam using libpq and make PQconnectdb and PQfinish.</span><p class="MsoNormal"><span lang="EN-US"> </span><p class="MsoNormal"><spanlang="EN-US">Bug:</span><p class="MsoNormal"><span lang="EN-US"> </span><p class="MsoNormal"><spanlang="EN-US">In both cases, the client socket (pgadmin or my program) remains in TIME_WAIT state.</span><pclass="MsoNormal"><span lang="EN-US">I have used wireshark to sniff the TCP protocol.</span><p class="MsoNormal"><spanlang="EN-US"> </span><p class="MsoNormal"><span lang="EN-US">We have at the end of a connection:</span><pclass="MsoNormal"><span lang="EN-US"> </span><p class="MsoNormal"><span lang="EN-US" style="font-family:"CourierNew"">Client Server</span><p class="MsoNormal"><span lang="EN-US" style="font-family:"CourierNew""> ---> FIN,ACK ---></span><p class="MsoNormal"><span lang="EN-US" style="font-family:"CourierNew""> <--- FIN,ACK <---</span><p class="MsoNormal"><span lang="EN-US" style="font-family:"CourierNew""> ---> ACK ---></span><p class="MsoNormal"><span lang="EN-US"> </span><pclass="MsoNormal"><span lang="EN-US">This ends up in a TIME_WAIT state. The TCP protocol should be</span><pclass="MsoNormal"><span lang="EN-US"> </span><p class="MsoNormal"><span style="font-family:"Courier New"">Client Server</span><p class="MsoNormal"><span style="font-family:"Courier New""> ---> FIN,ACK ---></span><p class="MsoNormal"><span style="font-family:"Courier New""> <</span><span lang="EN-US" style="font-family:"CourierNew"">--- ACK <---</span><p class="MsoNormal"><span style="font-family:"Courier New""> <--- FIN,ACK <---</span><p class="MsoNormal"><span style="font-family:"Courier New""> </span><span lang="EN-US"style="font-family:"Courier New"">---> ACK ---></span><p class="MsoNormal"><span lang="EN-US"> </span><pclass="MsoNormal"><span lang="EN-US">I suppose there is a bug in the postgresql server that do notsend an ack to the client.</span><p class="MsoNormal"><span lang="EN-US"> </span><p class="MsoNormal"><span lang="EN-US">Couldyou please clarify this situation ? I am a bit lost.</span><p class="MsoNormal"><span lang="EN-US"> </span><pclass="MsoNormal"><span lang="EN-US">Thank you,</span><p class="MsoNormal"><span lang="EN-US"> </span><pclass="MsoNormal"><span lang="EN-US">Franck Lefort</span><p class="MsoNormal"><span lang="EN-US"> </span><pclass="MsoNormal"><span lang="EN-US"> </span></div>
pgsql-hackers by date: