Hi guys,
when using proxy balancer configuration ("<Proxy balancer://...") only in
(several) virtualhosts OR simply in server-config, everything works fine.
When you make use of balancer config in server-config AND virtual hosts,
slotmem fails.
This works:
(server-config)
<Proxy balancer://appcluster-https>
BalancerMember https://appserv6.domain:7000 route=0
BalancerMember https://appserv7.domain:7000 route=1
ProxySet lbmethod=bybusyness nofailover=Off
stickysession=JSESSIONID|jsessionid
</Proxy>
ProxyPass /clusterjsp balancer://appcluster-https/clusterjsp
ProxyPassReverse / balancer://appcluster-https/
This also works:
(balancer config only in virtual hosts)
<VirtualHost *:8081>
...
<Proxy balancer://appcluster-http>
BalancerMember http://appserv1.domain:5080 route=0
BalancerMember http://appserv2.domain:5080 route=1
ProxySet lbmethod=bybusyness nofailover=Off
stickysession=JSESSIONID|jsessionid
</Proxy>
ProxyPass /clusterjsp balancer://appcluster-http/clusterjsp
ProxyPassReverse / balancer://appcluster-http/
</VirtualHost>
<VirtualHost *:8082>
SSLEngine On
...
<Proxy balancer://appcluster-https>
BalancerMember https://appserv6.domain:7000 route=0
BalancerMember https://appserv7.domain:7000 route=1
ProxySet lbmethod=bybusyness nofailover=Off
stickysession=JSESSIONID|jsessionid
</Proxy>
ProxyPass /clusterjsp balancer://appcluster-https/clusterjsp
ProxyPassReverse / balancer://appcluster-https/
</VirtualHost>
This fails:
<Proxy balancer://default>
BalancerMember http://appserv1.domain:5080 route=0
BalancerMember http://appserv2.domain:5080 route=1
ProxySet lbmethod=bybusyness nofailover=Off
stickysession=JSESSIONID|jsessionid
</Proxy>
ProxyPass /clusterjsp balancer://default/clusterjsp
ProxyPassReverse / balancer://default/
<VirtualHost *:8082>
<Proxy balancer://appcluster-https>
BalancerMember https://appserv6.domain:7000 route=0
BalancerMember https://appserv7.domain:7000 route=1
ProxySet lbmethod=bybusyness nofailover=Off
stickysession=JSESSIONID|jsessionid
</Proxy>
ProxyPass /clusterjsp balancer://appcluster-https/clusterjsp
ProxyPassReverse / balancer://appcluster-https/
</VirtualHost>
error log:
[Wed Jun 13 15:37:06.728860 2012] [proxy_balancer:debug] [pid 9588:tid
140210178676512] mod_proxy_balancer.c(752): AH01178: Doing balancers create:
544, 1 (6)
[Wed Jun 13 15:37:06.728868 2012] [slotmem_shm:debug] [pid 9588:tid
140210178676512] mod_slotmem_shm.c(300): AH02300: create
/home/zisis/apache-instance-2.4/slotmem-shm-sc583e3db.shm: 544/6
[Wed Jun 13 15:37:06.728964 2012] [proxy_balancer:debug] [pid 9588:tid
140210178676512] mod_proxy_balancer.c(807): AH01184: Doing workers create:
balancer://default (sc583e3db_default), 512, 2
[Wed Jun 13 15:37:06.728970 2012] [slotmem_shm:debug] [pid 9588:tid
140210178676512] mod_slotmem_shm.c(300): AH02300: create
/home/zisis/apache-instance-2.4/slotmem-shm-sc583e3db_default.shm: 512/2
[Wed Jun 13 15:37:06.729001 2012] [proxy_balancer:debug] [pid 9588:tid
140210178676512] mod_proxy_balancer.c(752): AH01178: Doing balancers create:
544, 2 (7)
[Wed Jun 13 15:37:06.729007 2012] [slotmem_shm:debug] [pid 9588:tid
140210178676512] mod_slotmem_shm.c(300): AH02300: create
/home/zisis/apache-instance-2.4/slotmem-shm-s2d05e7bf.shm: 544/7
[Wed Jun 13 15:37:06.729037 2012] [proxy_balancer:debug] [pid 9588:tid
140210178676512] mod_proxy_balancer.c(807): AH01184: Doing workers create:
balancer://default (sc583e3db_default), 512, 2
[Wed Jun 13 15:37:06.729041 2012] [slotmem_shm:debug] [pid 9588:tid
140210178676512] mod_slotmem_shm.c(584): AH02293:
slotmem(/home/zisis/apache-instance-2.4/slotmem-shm-sc583e3db_default.shm) grab
failed. Num 2/num_free 0
[Wed Jun 13 15:37:06.729044 2012] [proxy_balancer:emerg] [pid 9588:tid
140210178676512] (22)Invalid argument: AH01186: worker slotmem_grab failed
[Wed Jun 13 15:37:06.729069 2012] [:emerg] [pid 9588:tid 140210178676512]
AH00020: Configuration Failed, exiting
And just a general question:
should a balancer-config in server-config be also available in any virtualhost?
I didn't find any clue in documentation. At least it does not work, e.g.:
<Proxy balancer://default>
BalancerMember http://appserv1.domain:5080 route=0
BalancerMember http://appserv2.domain:5080 route=1
ProxySet lbmethod=bybusyness nofailover=Off
stickysession=JSESSIONID|jsessionid
</Proxy>
ProxyPass /clusterjsp balancer://default/clusterjsp
ProxyPassReverse / balancer://default/
<VirtualHost *:8082>
...
ProxyPass /anotherapp balancer://default/anotherapp
ProxyPassReverse / balancer://default/
</VirtualHost>
Same error as above, maybe also the same issue?:
"AH01186: worker slotmem_grab failed".
regards,
Zisis