Build failed in Hudson: 3.HEAD-amd64-CentOS-5.3 #1123
See http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/1123/changes Changes: [Christos Tsantilas chtsa...@users.sourceforge.net] The attached patch implements aggregation of SNMP responses, similar to how we aggregate some cache manager stats. The code contains changes that allow us to share some of the classes between Cache Manager and SNMP code: * implement the following base classes under the ipc directory/module: - Ipc::Forwarder (ipc/Forwarder{.cc,.h} files) - Ipc::Inquirer (ipc/Inquirer{.cc,.h} files) - Ipc::Request (ipc/Request{.cc,.h} files) - Ipc::Response (ipc/Response{.cc,.h} files) * fix the Mgr::Forwarder, Mgr::Inquirer, Mgr::Request and Mgr::Response classes to be implemented as kid classes of the equivalent Icp::* classes. Also implements for the SNMP the same mechanism used for cache manager: The SNMP requests forwarder to coordinator which collects the statistics from kids and aggregate them. This is a Measurement Factory project. [Automatic source maintenance squid...@squid-cache.org] SourceFormat Enforcement -- [...truncated 4338 lines...] libtool: compile: g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT Acl.lo -MD -MP -MF .deps/Acl.Tpo -c ../../../src/auth/Acl.cc -fPIC -DPIC -o .libs/Acl.o libtool: compile: g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT Acl.lo -MD -MP -MF .deps/Acl.Tpo -c ../../../src/auth/Acl.cc -o Acl.o /dev/null 21 libtool: compile: g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT auth_digest.lo -MD -MP -MF .deps/auth_digest.Tpo -c ../../../src/auth/digest/auth_digest.cc -o auth_digest.o /dev/null 21 if /bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT AclMaxUserIp.lo -MD -MP -MF .deps/AclMaxUserIp.Tpo -c -o AclMaxUserIp.lo ../../../src/auth/AclMaxUserIp.cc; \ then mv -f .deps/AclMaxUserIp.Tpo .deps/AclMaxUserIp.Plo; else rm -f .deps/AclMaxUserIp.Tpo; exit 1; fi libtool: compile: g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT AclMaxUserIp.lo -MD -MP -MF .deps/AclMaxUserIp.Tpo -c ../../../src/auth/AclMaxUserIp.cc -fPIC -DPIC -o .libs/AclMaxUserIp.o libtool: compile: g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT AclMaxUserIp.lo -MD -MP -MF .deps/AclMaxUserIp.Tpo -c ../../../src/auth/AclMaxUserIp.cc -o AclMaxUserIp.o /dev/null 21 if /bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT AclProxyAuth.lo -MD -MP -MF .deps/AclProxyAuth.Tpo -c -o AclProxyAuth.lo ../../../src/auth/AclProxyAuth.cc; \ then mv -f .deps/AclProxyAuth.Tpo .deps/AclProxyAuth.Plo; else rm -f .deps/AclProxyAuth.Tpo; exit 1; fi libtool: compile: g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT AclProxyAuth.lo -MD -MP -MF .deps/AclProxyAuth.Tpo -c ../../../src/auth/AclProxyAuth.cc -fPIC -DPIC -o .libs/AclProxyAuth.o /bin/sh ../../libtool --tag=CXX --mode=link g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -g -o libbasic.la basicScheme.lo auth_basic.lo basicUserRequest.lo libtool: compile: g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT AclProxyAuth.lo -MD -MP -MF .deps/AclProxyAuth.Tpo -c ../../../src/auth/AclProxyAuth.cc -o AclProxyAuth.o /dev/null 21 libtool: link: /usr/bin/ar cru .libs/libbasic.a .libs/basicScheme.o .libs/auth_basic.o .libs/basicUserRequest.o libtool: link: ranlib .libs/libbasic.a libtool: link: ( cd .libs rm -f libbasic.la ln -s ../libbasic.la libbasic.la ) /bin/sh ../../libtool --tag=CXX --mode=link g++ -Wall -Wpointer-arith -Wwrite-strings
Build failed in Hudson: 3.HEAD-amd64-CentOS-5.3 #1124
See http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/1124/changes Changes: [Christos Tsantilas chtsa...@users.sourceforge.net] SMP SNMP: First try to handle compile problems in CentOS 5.3 [Christos Tsantilas chtsa...@users.sourceforge.net] The attached patch implements aggregation of SNMP responses, similar to how we aggregate some cache manager stats. The code contains changes that allow us to share some of the classes between Cache Manager and SNMP code: * implement the following base classes under the ipc directory/module: - Ipc::Forwarder (ipc/Forwarder{.cc,.h} files) - Ipc::Inquirer (ipc/Inquirer{.cc,.h} files) - Ipc::Request (ipc/Request{.cc,.h} files) - Ipc::Response (ipc/Response{.cc,.h} files) * fix the Mgr::Forwarder, Mgr::Inquirer, Mgr::Request and Mgr::Response classes to be implemented as kid classes of the equivalent Icp::* classes. Also implements for the SNMP the same mechanism used for cache manager: The SNMP requests forwarder to coordinator which collects the statistics from kids and aggregate them. This is a Measurement Factory project. -- [...truncated 4294 lines...] libtool: compile: g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT AclProxyAuth.lo -MD -MP -MF .deps/AclProxyAuth.Tpo -c ../../../src/auth/AclProxyAuth.cc -fPIC -DPIC -o .libs/AclProxyAuth.o libtool: compile: g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT AclMaxUserIp.lo -MD -MP -MF .deps/AclMaxUserIp.Tpo -c ../../../src/auth/AclMaxUserIp.cc -o AclMaxUserIp.o /dev/null 21 libtool: compile: g++ -DHAVE_CONFIG_H -I../../.. -I../../../include -I../../../lib -I../../../src -I../../include -I../../../src/auth -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -MT AclProxyAuth.lo -MD -MP -MF .deps/AclProxyAuth.Tpo -c ../../../src/auth/AclProxyAuth.cc -o AclProxyAuth.o /dev/null 21 /bin/sh ../../libtool --tag=CXX --mode=link g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -g -o libbasic.la basicScheme.lo auth_basic.lo basicUserRequest.lo libtool: link: /usr/bin/ar cru .libs/libbasic.a .libs/basicScheme.o .libs/auth_basic.o .libs/basicUserRequest.o libtool: link: ranlib .libs/libbasic.a libtool: link: ( cd .libs rm -f libbasic.la ln -s ../libbasic.la libbasic.la ) /bin/sh ../../libtool --tag=CXX --mode=link g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -g -o libntlm.la ntlmScheme.lo auth_ntlm.lo ntlmUserRequest.lo libtool: link: /usr/bin/ar cru .libs/libntlm.a .libs/ntlmScheme.o .libs/auth_ntlm.o .libs/ntlmUserRequest.o libtool: link: ranlib .libs/libntlm.a libtool: link: ( cd .libs rm -f libntlm.la ln -s ../libntlm.la libntlm.la ) /bin/sh ../../libtool --tag=CXX --mode=link g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -g -o libnegotiate.la negotiateScheme.lo auth_negotiate.lo negotiateUserRequest.lo /bin/sh ../../libtool --tag=CXX --mode=link g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -g -o libdigest.la digestScheme.lo auth_digest.lo digestUserRequest.lo libtool: link: /usr/bin/ar cru .libs/libnegotiate.a .libs/negotiateScheme.o .libs/auth_negotiate.o .libs/negotiateUserRequest.o libtool: link: ranlib .libs/libnegotiate.a libtool: link: ( cd .libs rm -f libnegotiate.la ln -s ../libnegotiate.la libnegotiate.la ) /bin/sh ../../libtool --tag=CXX --mode=link g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -g -o libacls.la Acl.lo AclMaxUserIp.lo AclProxyAuth.lo libtool: link: /usr/bin/ar cru .libs/libdigest.a .libs/digestScheme.o .libs/auth_digest.o .libs/digestUserRequest.o libtool: link: ranlib .libs/libdigest.a libtool: link: ( cd .libs rm -f libdigest.la ln -s ../libdigest.la libdigest.la ) /bin/sh ../../libtool --tag=CXX --mode=link g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -g -o libauth.la AuthType.lo Config.lo Gadgets.lo Scheme.lo State.lo User.lo UserRequest.lo libbasic.la libntlm.la libnegotiate.la libdigest.la libtool: link: /usr/bin/ar cru .libs/libacls.a .libs/Acl.o .libs/AclMaxUserIp.o .libs/AclProxyAuth.o libtool: link: ranlib .libs/libacls.a libtool: link: ( cd .libs rm -f libacls.la ln -s ../libacls.la libacls.la ) libtool: link: (cd .libs/libauth.lax/libbasic.a /usr/bin/ar x http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/auth/./.libs/libbasic.a;) libtool: link: (cd .libs/libauth.lax/libntlm.a /usr/bin/ar x
dedup fs's?
Has anyone tried squid with lessfs or ZFS in dedup mode? Just curious; I read a paper once that implied that Traffic Server used to do dedup internally, but apparently it doesn't any more... -- Mark Nottingham m...@yahoo-inc.com
Build failed in Hudson: 3.HEAD-amd64-CentOS-5.3 #1125
See http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/1125/changes Changes: [Christos Tsantilas chtsa...@users.sourceforge.net] SMP SNMP: 2nd try to handle compiler errors in CentOS 5.3 [Christos Tsantilas chtsa...@users.sourceforge.net] SMP SNMP: First try to handle compile problems in CentOS 5.3 -- [...truncated 6930 lines...] BUILD: .././test-suite/buildtests/layer-00-default.opts http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:190: undefined reference to `enter_suid' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:192: undefined reference to `comm_open_listener' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:194: undefined reference to `leave_suid' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:163: undefined reference to `Snmp::Response::Response(unsigned int)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:165: undefined reference to `Snmp::Response::pack(Ipc::TypedMsgHdr) const' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Inquirer.h:49: undefined reference to `Snmp::Inquirer::CBDATA_Inquirer' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:168: undefined reference to `Snmp::Inquirer::Inquirer(Snmp::Request const, std::vectorIpc::StrandCoord, std::allocatorIpc::StrandCoord const)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:168: undefined reference to `AsyncJob::Start(AsyncJob*)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Response.h:21: undefined reference to `vtable for Snmp::Response' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Response.h:21: undefined reference to `Snmp::Pdu::~Pdu()' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Response.h:20: undefined reference to `VTT for Snmp::Response' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Response.h:20: undefined reference to `VTT for Snmp::Response' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Response.h:21: undefined reference to `vtable for Snmp::Response' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Response.h:21: undefined reference to `Snmp::Pdu::~Pdu()' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:147: undefined reference to `CacheManager::createRequestedAction(Mgr::ActionParams const)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:148: undefined reference to `AsyncJob::Start(AsyncJob*)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:93: undefined reference to `Snmp::Response::Response(Ipc::TypedMsgHdr const)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:86: undefined reference to `Snmp::Request::Request(Ipc::TypedMsgHdr const)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Request.h:23: undefined reference to `vtable for Snmp::Request' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Request.h:23: undefined reference to `Snmp::Session::~Session()' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Request.h:23: undefined reference to `Snmp::Pdu::~Pdu()' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Request.h:20: undefined reference to `VTT for Snmp::Request'
Build failed in Hudson: 3.HEAD-amd64-CentOS-5.3 #1126
See http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/1126/changes Changes: [Automatic source maintenance squid...@squid-cache.org] SourceFormat Enforcement [Christos Tsantilas chtsa...@users.sourceforge.net] SMP SNMP: 2nd try to handle compiler errors in CentOS 5.3 -- [...truncated 6944 lines...] BUILD: .././test-suite/buildtests/layer-00-default.opts http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:190: undefined reference to `enter_suid' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:192: undefined reference to `comm_open_listener' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:194: undefined reference to `leave_suid' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:163: undefined reference to `Snmp::Response::Response(unsigned int)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:165: undefined reference to `Snmp::Response::pack(Ipc::TypedMsgHdr) const' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Inquirer.h:49: undefined reference to `Snmp::Inquirer::CBDATA_Inquirer' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:168: undefined reference to `Snmp::Inquirer::Inquirer(Snmp::Request const, std::vectorIpc::StrandCoord, std::allocatorIpc::StrandCoord const)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:168: undefined reference to `AsyncJob::Start(AsyncJob*)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Response.h:21: undefined reference to `vtable for Snmp::Response' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Response.h:21: undefined reference to `Snmp::Pdu::~Pdu()' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Response.h:20: undefined reference to `VTT for Snmp::Response' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Response.h:20: undefined reference to `VTT for Snmp::Response' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Response.h:21: undefined reference to `vtable for Snmp::Response' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Response.h:21: undefined reference to `Snmp::Pdu::~Pdu()' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:147: undefined reference to `CacheManager::createRequestedAction(Mgr::ActionParams const)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:148: undefined reference to `AsyncJob::Start(AsyncJob*)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:93: undefined reference to `Snmp::Response::Response(Ipc::TypedMsgHdr const)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Coordinator.cc:86: undefined reference to `Snmp::Request::Request(Ipc::TypedMsgHdr const)' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Request.h:23: undefined reference to `vtable for Snmp::Request' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Request.h:23: undefined reference to `Snmp::Session::~Session()' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/snmp/Request.h:23: undefined reference to `Snmp::Pdu::~Pdu()' http://build.squid-cache.org/job/3.HEAD-amd64-CentOS-5.3/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src/ipc/../../../src/ipc/Request.h:20: undefined reference to `VTT for Snmp::Request'
Re: /bzr/squid3/trunk/ r11205: SMP SNMP: 2nd try to handle compiler errors in CentOS 5.3
The new lib also seems to be missing from unit test linkages. When the problems here are resolved I think this may be a good places to use the 'bzr uncommit' ability and re-commit as a single update. It's usable on trunk under some very narrow conditions: * nobody else commits unrelated changes between your fix patches and the main patch ** source formater changes are okay, just cut out any unrelated alterations and the formater will re-do them later * commits by others to assist fixing the patch may be okay to merge, if the other is happy to loose credit on the sub-fix (speaking for myself thats fine, I don't care) * someone with ability to tweak the website changesets is made aware of the earliest revno affected. At present that means myself or Henrik if I'm away. Amos
Re: not caching ecap munged body
Oops, here's the diff from Alex which I forgot to include below: === modified file 'src/adaptation/ecap/MessageRep.cc' --- src/adaptation/ecap/MessageRep.cc 2010-05-26 03:06:02 + +++ src/adaptation/ecap/MessageRep.cc 2011-01-26 21:43:36 + @@ -44,24 +44,30 @@ void Adaptation::Ecap::HeaderRep::add(const Name name, const Value value) { const http_hdr_type squidId = TranslateHeaderId(name); // HDR_OTHER OK HttpHeaderEntry *e = new HttpHeaderEntry(squidId, name.image().c_str(), value.toString().c_str()); theHeader.addEntry(e); + + // XXX: this is too often and not enough, on many levels + theMessage.content_length = theHeader.getInt64(HDR_CONTENT_LENGTH); } void Adaptation::Ecap::HeaderRep::removeAny(const Name name) { const http_hdr_type squidId = TranslateHeaderId(name); if (squidId == HDR_OTHER) theHeader.delByName(name.image().c_str()); else theHeader.delById(squidId); + + // XXX: this is too often and not enough, on many levels + theMessage.content_length = theHeader.getInt64(HDR_CONTENT_LENGTH); } libecap::Area Adaptation::Ecap::HeaderRep::image() const { MemBuf mb; mb.init(); This only works, I think, because when removing Content-Length we end up with a -1 in the length for the whole message, instead of the old (too large) content length. (There's a Adaptation::Ecap::XactionRep::setAdaptedBodySize function that's commented out in the eCAP support, presumably because it's common to not know the length of the final adapted body, like in the gzip case.) There are a few options - assume the content-length for adapted messages is just the total object_len - hdr_sz, leave it always -1 unless the eCAP module tells you otherwise by setting the Content-Length header maybe, or finally, store it by accumulating the size of returned chunks along the way receiving the adapted body and set it accordingly when there's no more adapted body to receive. Any suggestions for the best route to pursue? Regards, Jonathan Wolfe On Jan 26, 2011, at 2:35 PM, Jonathan Wolfe wrote: Okay, I narrowed this down a bit more with some help from Alex Rousskov: When it works (doing a string replace from asdf to fdsa for example, so same total content length): 2011/01/26 16:07:21.312| storeEntryValidLength: Checking '1078B4E8EC1D17CFEBCD533EE19F7FD6' 2011/01/26 16:07:21.312| storeEntryValidLength: object_len = 20366 2011/01/26 16:07:21.312| storeEntryValidLength: hdr_sz = 360 2011/01/26 16:07:21.312| storeEntryValidLength: content_length = 20006 2011/01/26 16:07:21.317| StoreEntry::setMemStatus: inserted mem node http://www.example.com/squid-test When it doesn't work (asdf to just a): 2011/01/26 16:05:59.878| storeEntryValidLength: Checking '1078B4E8EC1D17CFEBCD533EE19F7FD6' 2011/01/26 16:05:59.878| storeEntryValidLength: object_len = 14843 2011/01/26 16:05:59.878| storeEntryValidLength: hdr_sz = 360 2011/01/26 16:05:59.878| storeEntryValidLength: content_length = 20006 2011/01/26 16:05:59.878| storeEntryValidLength: 5523 bytes too small; '1078B4E8EC1D17CFEBCD533EE19F7FD6' 2011/01/26 16:05:59.879| StoreEntry::checkCachable: NO: wrong content-length The headers returned in both cases don't actually include a Content-Length header, which is removed by the module using adapted-header().removeAny. It looks like squid is restoring the content length in the second case, and declaring it too small. See https://answers.launchpad.net/ecap/+question/142965 for my discussion with Alex on this. The diff he provided, which is repeated here, seems to have the effect of setting the message content length to -1 when removing the content length header from within the ecap module, and that results in this: 2011/01/26 17:21:46.539| storeEntryValidLength: Checking '1078B4E8EC1D17CFEBCD533EE19F7FD6' 2011/01/26 17:21:46.539| storeEntryValidLength: object_len = 16190 2011/01/26 17:21:46.539| storeEntryValidLength: hdr_sz = 360 2011/01/26 17:21:46.539| storeEntryValidLength: content_length = -1 2011/01/26 17:21:46.539| storeEntryValidLength: Unspecified content length: 1078B4E8EC1D17CFEBCD533EE19F7FD6 2011/01/26 17:21:46.544| StoreEntry::setMemStatus: inserted mem node http://www.example.com/squid-test Not the best behavior, but it does cache as expected now. Likely there's a better place to reset the content length, right? Perhaps in src/adaptation/ecap/XactionRep.cc, in moveAbContent() when we've received the full adapted body? Regards, -Jon On Jan 23, 2011, at 8:46 PM, Amos Jeffries wrote: On 24/01/11 13:43, Henrik Nordström wrote: lör 2011-01-22 klockan 23:04 +1300 skrev Amos Jeffries: Squid caches only one of N variants so the expected behviour is that each new variant is a MISS but becomes a HIT on repeated duplicate requests until a new variant pushes it out of cache. No it caches all N variants seen if the origin response has Vary: But
Re: [squid-users] Re: not caching ecap munged body
On Wed, 2 Feb 2011 20:09:05 -0800, Jonathan Wolfe wrote: Oops, here's the diff from Alex which I forgot to include below: === modified file 'src/adaptation/ecap/MessageRep.cc' --- src/adaptation/ecap/MessageRep.cc 2010-05-26 03:06:02 + +++ src/adaptation/ecap/MessageRep.cc 2011-01-26 21:43:36 + @@ -44,24 +44,30 @@ void Adaptation::Ecap::HeaderRep::add(const Name name, const Value value) { const http_hdr_type squidId = TranslateHeaderId(name); // HDR_OTHER OK HttpHeaderEntry *e = new HttpHeaderEntry(squidId, name.image().c_str(), value.toString().c_str()); theHeader.addEntry(e); + + // XXX: this is too often and not enough, on many levels + theMessage.content_length = theHeader.getInt64(HDR_CONTENT_LENGTH); } void Adaptation::Ecap::HeaderRep::removeAny(const Name name) { const http_hdr_type squidId = TranslateHeaderId(name); if (squidId == HDR_OTHER) theHeader.delByName(name.image().c_str()); else theHeader.delById(squidId); + + // XXX: this is too often and not enough, on many levels + theMessage.content_length = theHeader.getInt64(HDR_CONTENT_LENGTH); } libecap::Area Adaptation::Ecap::HeaderRep::image() const { MemBuf mb; mb.init(); This only works, I think, because when removing Content-Length we end up with a -1 in the length for the whole message, instead of the old (too large) content length. (There's a Adaptation::Ecap::XactionRep::setAdaptedBodySize function that's commented out in the eCAP support, presumably because it's common to not know the length of the final adapted body, like in the gzip case.) I think that patch should be: if (squidId == HDR_CONTENT_LENGTH) theMessage.content_length = theHeader.getInt64(HDR_CONTENT_LENGTH); in both places to avoid that too often case. There are a few options - assume the content-length for adapted messages is just the total object_len - hdr_sz, leave it always -1 unless the eCAP module tells you otherwise by setting the Content-Length header maybe, or finally, store it by accumulating the size of returned chunks along the way receiving the adapted body and set it accordingly when there's no more adapted body to receive. We almost always end up with problems caused by large bodies extending past any possible buffer window. So sending this headers after object completion is not an available choice. AFAIK if the adaptor sends its reply with chunked encoding and no Content-Length header at all it would work out. Squid should handle the dechunking and connection termination requirements for old clients. Amos
Re: /bzr/squid3/trunk/ r11205: SMP SNMP: 2nd try to handle compiler errors in CentOS 5.3
On Thu, Feb 3, 2011 at 3:18 AM, Amos Jeffries squ...@treenet.co.nz wrote: The new lib also seems to be missing from unit test linkages. When the problems here are resolved I think this may be a good places to use the 'bzr uncommit' ability and re-commit as a single update. Also, matrix builds are now finallty useable in Hudson / Jenkins. For invasive feature-branches with a public repository, it is now reasonable to think about requiring greenlight on the build-farm before merging. The 3.2-matrix configuration can ben used as a template to build such a test. -- /kinkie