Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
Description
A follow along fix for TS-3901.
It looks like there is another drift between the cached server IP value used to insert into the session pool (HttpServerSession::server_ip) and the cached server IP value used to look up from the session pool (NetVConnection::remote_addr).
I'm guessing that the HttpServerSession value was added to avoid calling vc->get_remote_addr() multiple times. But the vc also caches the remote addr, so calls to vc->get_remote_addr should be pretty cheap.
Added a debug print to better understand the difference between vc->get_remote_addr() and server_session->server_ip. In this case, the differences are in the ports.
DEBUG: (http_ss) remote_ip=xx.xx.xx.xx:3128, server_ip=xx.xx.xx.xx:80
Specifically, vc->get_remote_addr() is the first value and reflects the "real" port used to connection to the server. The server_ip port is the pre-remap port.
We ended up using remote_ip for both server session insert and lookup and things have been running solidly for us.
Attachments
Issue Links
- duplicates
-
TS-4750 Erroneous WARNING: Connection leak from http keep-alive system
- Closed