Hi Evan,
I am not seeing any unusual in your logs. From your logs I am seeing
that squid sentv all headers and some body data to the ICAP server.
evan gozali wrote:
Hi, my name is Evan. I'm currently trying to connect an open source ICAP server Poesia 3.5 with Squid 3.0 STABLE4. While testing, I meet a problem when opening url http://marc.info/?l=squid=dev&r=1&w=2. The problem seems to me like when Squid sent the RESPMOD message, Squid didn't send the Http-body to the ICAP-server. Here is the log (ICAP-part only)
*********************************************************
2008/08/13 13:52:19.755| ICAPAccessCheck constructed for RESPMOD PRECACHE
2008/08/13 13:52:19.755| ICAPAccessCheck::check
2008/08/13 13:52:19.755| ICAP/ICAPConfig.cc(277) looking for the first matching service in class class_req
2008/08/13 13:52:19.755| ICAP/ICAPConfig.cc(329) found no matching services in class class_req
..............................................
2008/08/13 13:52:19.793| ICAPModXact::noteMoreBodyDataAvailable ended [FD 16wr;Rrw(2)/ icapx39]
2008/08/13 13:52:19.793| ICAPModXact::noteCommWrote called [FD 16wr;Rrw(2)/ icapx39]
2008/08/13 13:52:19.793| ICAP/ICAPModXact.cc(154) Wrote 849 bytes
2008/08/13 13:52:19.793| ICAP/ICAPModXact.cc(182) checking whether to write more [FD 16r;Rrw(5)/ icapx39]
2008/08/13 13:52:19.793| ICAP/ICAPModXact.cc(260) will write up to 276 bytes of prime virgin body
2008/08/13 13:52:19.793| ICAP/ICAPModXact.cc(271) will write 276-byte chunk of prime virgin body
2008/08/13 13:52:19.793| consumption guards: 00
2008/08/13 13:52:19.793| ICAP/ICAPModXact.cc(383) max virgin consumption offset=276 acts 10 consumed=0 from [0<=276<=? 276+1771 pipe0x85e0fd0 prod0x85dce14
cons0x85b83b4]
2008/08/13 13:52:19.793| ICAP/ICAPModXact.cc(395) consuming 276 out of 276 virgin body bytes
2008/08/13 13:52:19.793| ICAP/ICAPModXact.cc(296) will write 283 raw bytes of prime virgin body
2008/08/13 13:52:19.793| ICAPModXact::noteCommWrote ended [FD 16wr;Rrw(5)/ icapx39]
2008/08/13 13:52:19.793| ICAPModXact::noteCommWrote called [FD 16wr;Rrw(5)/ icapx39]
2008/08/13 13:52:19.793| ICAP/ICAPModXact.cc(154) Wrote 283 bytes
Here the logs said that squid just sent 276 bytes of body data to the
ICAP server.
2008/08/13 13:52:19.793| ICAP/ICAPModXact.cc(182) checking whether to write more [FD 16r;Rrw(5)/ icapx39]
2008/08/13 13:52:19.793| ICAP/ICAPModXact.cc(260) will write up to 0 bytes of prime virgin body
2008/08/13 13:52:19.793| ICAPModXact has no writable prime virgin body content
2008/08/13 13:52:19.793| ICAP/ICAPModXact.cc(296) will write 0 raw bytes of prime virgin body
2008/08/13 13:52:19.793| ICAPModXact::noteCommWrote ended [FD 16r;Rrw(5)/ icapx39]
Does the logs stops here? Maybe the ICAP server did not read the data
sent by squid. Are you able to use a tcp packet sniffer (e.g wireshark,
tcpdump etc) ?
********************************************************
And the log from ICAP-server is like the following:
********************************************************
Aug 13, 2008 1:52:19 PM [Thread-32] FINE: Received HTTP response headers
...........
Aug 13, 2008 2:07:19 PM [Thread-32] FINE: releasing 15
********************************************************
I see that the ICAP server didn't receive the http body from Squid. Is it a problem in Squid or not? And i noticed too that the HTTP response header from the website didn't contain "Content-length" header. Can it be a problem?
The Content-length header is not problem for squid. Did you report the
problem to the ICAP server authors?
If you believe that it is a squid bug you should fill a bug report:
http://www.squid-cache.org/bugs/
Regards,
Christos
Thanks for the reply.