Mailing List Archive

backhand selects a different host but then executes locally - and shows port 0 in /backhand/
Hello,

I have been trying *all night* but could not get mod_backhand doing what it
should do. There are no error messages. Requests are NOT processed by the
server chosen by backhand BUT by the original server. (And: /backhand/ shows
port :0 instead of :80 for each other server respectiveley - maybe this has
something to do with it, but I do not know how to fix it).

There are two servers, one (192.168.100.1) receives the original HTTP
requests and has a backhanded <Directory>. The second (192.168.100.8) SHOULD
receive the requests from backhand (and the logfiles show that backhand
selects it). BUT the request is processed on the first server
(192.168.100.1).

This is the log file output on 192.168.100.1: Looks to me like backhand
decides to hand this request to the other server
(www14.peperoni.de=192.168.100.8), but the access_log shows that the request
is processed by 192.168.100.1 itself (I also wrote a logfile from within PHP
to be absolutely sure about that):

==> /var/log/httpd/error_log <==
[Tue Jun 24 08:54:38 2003] [notice] (Type <=) = { (null), /wap_faq.php3,
(null) }
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null)
[removeSelf(NULL)] (2 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null) [byAge(NULL)]
(1 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null)
[byRandom(NULL)] (1 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] Func executed for (null) [byCPU(NULL)]
(1 -> 1)
[Tue Jun 24 08:54:38 2003] [notice] New server list: [ 1 ]
[Tue Jun 24 08:54:38 2003] [notice] All funcs executed -> www14.peperoni.de
[Tue Jun 24 08:54:38 2003] [notice] (Type =>) = *{ backhand-redirection,
backhand:/wap_faq.php3, backhand/redirect }
[Tue Jun 24 08:54:39 2003] [notice] (Type <=) = { (null), /wap_faq.php3,
(null) }
[Tue Jun 24 08:54:39 2003] [notice] (Type =>) = { (null), /wap_faq.php3,
(null) }

==> /u/web/genieuk/stats/access_log.1056412800 <==
192.168.100.9 - - [24/Jun/2003:08:54:40 +0200] "GET /wap_faq.php3 HTTP/1.1"
200 7371 "http://virtualhost.peperoni.de/wap_faq.php3" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.0)"

Why is this happening? Can you see it from the logfile or can I give you
more information from other files to solve this?



This is the output of http://.../backhand/ - please note the :0 (???) in
192.168.100.8:0 and 192.168.100.1:0 (and the extremely high Age value for
the local host):

Output on 192.168.100.1 (Hostname=peperoni.dyndns.org):
0 peperoni.dyndns.org 1056437103 192.168.100.1:80 327442432 264357056 0/0 0
[0] 408551 1 0.170000/1 0.000000
1 www14.peperoni.de 0 192.168.100.8:0 1910 0 0/0 0 [0] 0 2020 1.000000/1
0.004000

Output on 192.168.100.8 (Hostname=www14.peperoni.de):
0 www14.peperoni.de 1056437127 192.168.100.8:3001 2020 MB 1914 MB 0/0 0 [0]
4780530 4 0.150/1 0.00
1 peperoni.dyndns.org 1 192.168.100.1:0 1 MB 327442432 MB 408551/0 0
[255358144] 0 0 0.000/0 1.000



This is the configuration (in parts) of 192.168.100.1 and 192.168.100.8 - I
have even changed the port on the second box to 3001 to see whether this
makes any difference in the /backhand/ output (it does not). I have also
removed the listen 443 line so there is only one listen line but it does not
help.

192.168.100.1:

UnixSocketDir /var/state/backhand
MulticastStats 192.168.100.1:80 192.168.100.8:4445
AcceptStats 192.168.100.0/24
<Location "/backhand/">
SetHandler backhand-handler
Order deny,allow
Deny from all
Allow from localhost
Allow from 192.168.100

NameVirtualHost 192.168.100.1:80
<VirtualHost 192.168.100.1:80>
ServerAdmin genie@peperoni.de
DocumentRoot /usr/local/httpd/htdocs/genieuk
ServerName virtualhost.peperoni.de
ErrorLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/error_log
86400"
CustomLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/access_log
86400" combined
JkMount /servlet/* ajp12
AddType application/x-httpd-php .php3
</VirtualHost>
<Directory "/usr/local/httpd/htdocs/genieuk">
Backhand removeSelf
Backhand byAge
Backhand byRandom
Backhand byCPU
BackhandLogLevel +netall,+mbcsall,+dcsnall
</Directory>


192.168.100.8:

UnixSocketDir /var/lib/backhand
MulticastStats 192.168.100.8:3001 192.168.100.1:4445
AcceptStats 192.168.100.0/24
<Location "/backhand/">
SetHandler backhand-handler
Order deny,allow
Deny from all
Allow from localhost
</Location>

NameVirtualHost 192.168.100.8:3001
<VirtualHost 192.168.100.8:3001>
ServerAdmin genie@peperoni.de
DocumentRoot /usr/local/httpd/htdocs/genieuk
ServerName virtualhost.peperoni.de
ErrorLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/error_log
86400"
CustomLog "|rotatelogs /usr/local/httpd/htdocs/genieuk/stats/access_log
86400" combined
JkMount /servlet/* ajp12
AddType application/x-httpd-php .php3
</VirtualHost>



These are the software versions (we have one new server but cannot
completely re-install the old server as it is already productive):

192.168.100.1:
Apache/1.3.20 (Linux/SuSE) mod_jk/1.2.2 balanced_by_mod_backhand/1.2.0
PHP/4.0.6 mod_ssl/2.8.4 OpenSSL/0.9.6b

192.168.100.8:
Apache/1.3.27 (Linux/SuSE) mod_jk/1.2.2 PHP/4.3.1 mod_perl/1.27
mod_ssl/2.8.12 OpenSSL/0.9.6i mod_backhand/1.2.2


I hope that someone can help me finding a solution for this strange
behavior!!

Thomas

PS: I tried to use the mod_backhand/1.2.2 from the new server on the old
one. But this is what happens:
Cannot load /usr/lib/apache/mod_backhand.so into server: /lib/libc.so.6:
version `GLIBC_2.3' not found (required by /usr/lib/apache/mod_backhand.so)
Is there any way of trying the new version without the risk of hurting the
system by installing new versions of everything?
backhand selects a different host but then executes locally - and shows port 0 in /backhand/ [ In reply to ]
On Tuesday, Jun 24, 2003, at 03:56 US/Eastern, Thomas Buehren wrote:
> This is the configuration (in parts) of 192.168.100.1 and
> 192.168.100.8 - I
> have even changed the port on the second box to 3001 to see whether
> this
> makes any difference in the /backhand/ output (it does not). I have
> also
> removed the listen 443 line so there is only one listen line but it
> does not
> help.
>
> 192.168.100.1:
>
> UnixSocketDir /var/state/backhand
> MulticastStats 192.168.100.1:80 192.168.100.8:4445

MulticastStats expects the last argument to be a valid broadcast
address or multicast address. That is neither.

Try:
225.168.100.1:4445,1 on both machines (a valid multicast address)

Or, if you can't/don't want to use multicast use the valid broadcast
address for these machines. It is likely:
192.168.100.255:4445

> AcceptStats 192.168.100.0/24
> <Location "/backhand/">
> SetHandler backhand-handler
> Order deny,allow
> Deny from all
> Allow from localhost
> Allow from 192.168.100
>
> NameVirtualHost 192.168.100.1:80
> <VirtualHost 192.168.100.1:80>
> ServerAdmin genie@peperoni.de
> DocumentRoot /usr/local/httpd/htdocs/genieuk
> ServerName virtualhost.peperoni.de
> ErrorLog "|rotatelogs
> /usr/local/httpd/htdocs/genieuk/stats/error_log
> 86400"
> CustomLog "|rotatelogs
> /usr/local/httpd/htdocs/genieuk/stats/access_log
> 86400" combined
> JkMount /servlet/* ajp12
> AddType application/x-httpd-php .php3
> </VirtualHost>
> <Directory "/usr/local/httpd/htdocs/genieuk">
> Backhand removeSelf
> Backhand byAge
> Backhand byRandom
> Backhand byCPU
> BackhandLogLevel +netall,+mbcsall,+dcsnall
> </Directory>
>
>
> 192.168.100.8:
>
> UnixSocketDir /var/lib/backhand
> MulticastStats 192.168.100.8:3001 192.168.100.1:4445
> AcceptStats 192.168.100.0/24
> <Location "/backhand/">
> SetHandler backhand-handler
> Order deny,allow
> Deny from all
> Allow from localhost
> </Location>
>
> NameVirtualHost 192.168.100.8:3001
> <VirtualHost 192.168.100.8:3001>
> ServerAdmin genie@peperoni.de
> DocumentRoot /usr/local/httpd/htdocs/genieuk
> ServerName virtualhost.peperoni.de
> ErrorLog "|rotatelogs
> /usr/local/httpd/htdocs/genieuk/stats/error_log
> 86400"
> CustomLog "|rotatelogs
> /usr/local/httpd/htdocs/genieuk/stats/access_log
> 86400" combined
> JkMount /servlet/* ajp12
> AddType application/x-httpd-php .php3
> </VirtualHost>
>
>
>
> These are the software versions (we have one new server but cannot
> completely re-install the old server as it is already productive):
>
> 192.168.100.1:
> Apache/1.3.20 (Linux/SuSE) mod_jk/1.2.2 balanced_by_mod_backhand/1.2.0
> PHP/4.0.6 mod_ssl/2.8.4 OpenSSL/0.9.6b
>
> 192.168.100.8:
> Apache/1.3.27 (Linux/SuSE) mod_jk/1.2.2 PHP/4.3.1 mod_perl/1.27
> mod_ssl/2.8.12 OpenSSL/0.9.6i mod_backhand/1.2.2
>
>
> I hope that someone can help me finding a solution for this strange
> behavior!!
>
> Thomas
>
> PS: I tried to use the mod_backhand/1.2.2 from the new server on the
> old
> one. But this is what happens:
> Cannot load /usr/lib/apache/mod_backhand.so into server:
> /lib/libc.so.6:
> version `GLIBC_2.3' not found (required by
> /usr/lib/apache/mod_backhand.so)
> Is there any way of trying the new version without the risk of hurting
> the
> system by installing new versions of everything?

Sounds like you have differing version of glibc on that machines --
Thank Linux for that, ugh. Compile things on the older box if you want
to be able to move them around as binaries -- you'll likely have better
luck.


--
Theo Schlossnagle
Principal Consultant
OmniTI Computer Consulting, Inc. -- http://www.omniti.com/
Phone: +1 410 872 4910 x201 Fax: +1 410 872 4911
1024D/82844984/95FD 30F1 489E 4613 F22E 491A 7E88 364C 8284 4984
2047R/33131B65/71 F7 95 64 49 76 5D BA 3D 90 B9 9F BE 27 24 E7
backhand selects a different host but then executes locally - and shows port 0 in /backhand/ [ In reply to ]
Hello,

using balanced_by_mod_backhand/1.2.0 on both machines (instead of mixing
1.2.2 and 1.2.0) works!

I am only surprised about one thing: Both machines show 1056559794 as "Age"
for themselves (the other one is always 1 or 0).

Is this a problem, for example with byAge which should remove crashed hosts?

And: Can I use 1.2.0 without fear or are there really important improvements
or removed-bugs in 1.2.2? The ChangeLog lists some bugs with byBusyChildren
but the rest seems to be not sooo important (to me).

Thomas




> -----Original Message-----
> From: backhand-users-admin@lists.backhand.org
> [mailto:backhand-users-admin@lists.backhand.org]On Behalf Of Theo
> Schlossnagle
> Sent: Wednesday, June 25, 2003 4:15 AM
> To: backhand-users@lists.backhand.org
> Cc: Theo Schlossnagle
> Subject: Re: [m_b_users] backhand selects a different host but then
> executes locally - and shows port 0 in /backhand/
>
>
>
> On Tuesday, Jun 24, 2003, at 03:56 US/Eastern, Thomas Buehren wrote:
> > This is the configuration (in parts) of 192.168.100.1 and
> > 192.168.100.8 - I
> > have even changed the port on the second box to 3001 to see whether
> > this
> > makes any difference in the /backhand/ output (it does not). I have
> > also
> > removed the listen 443 line so there is only one listen line but it
> > does not
> > help.
> >
> > 192.168.100.1:
> >
> > UnixSocketDir /var/state/backhand
> > MulticastStats 192.168.100.1:80 192.168.100.8:4445
>
> MulticastStats expects the last argument to be a valid broadcast
> address or multicast address. That is neither.
>
> Try:
> 225.168.100.1:4445,1 on both machines (a valid multicast address)
>
> Or, if you can't/don't want to use multicast use the valid broadcast
> address for these machines. It is likely:
> 192.168.100.255:4445
>
> > AcceptStats 192.168.100.0/24
> > <Location "/backhand/">
> > SetHandler backhand-handler
> > Order deny,allow
> > Deny from all
> > Allow from localhost
> > Allow from 192.168.100
> >
> > NameVirtualHost 192.168.100.1:80
> > <VirtualHost 192.168.100.1:80>
> > ServerAdmin genie@peperoni.de
> > DocumentRoot /usr/local/httpd/htdocs/genieuk
> > ServerName virtualhost.peperoni.de
> > ErrorLog "|rotatelogs
> > /usr/local/httpd/htdocs/genieuk/stats/error_log
> > 86400"
> > CustomLog "|rotatelogs
> > /usr/local/httpd/htdocs/genieuk/stats/access_log
> > 86400" combined
> > JkMount /servlet/* ajp12
> > AddType application/x-httpd-php .php3
> > </VirtualHost>
> > <Directory "/usr/local/httpd/htdocs/genieuk">
> > Backhand removeSelf
> > Backhand byAge
> > Backhand byRandom
> > Backhand byCPU
> > BackhandLogLevel +netall,+mbcsall,+dcsnall
> > </Directory>
> >
> >
> > 192.168.100.8:
> >
> > UnixSocketDir /var/lib/backhand
> > MulticastStats 192.168.100.8:3001 192.168.100.1:4445
> > AcceptStats 192.168.100.0/24
> > <Location "/backhand/">
> > SetHandler backhand-handler
> > Order deny,allow
> > Deny from all
> > Allow from localhost
> > </Location>
> >
> > NameVirtualHost 192.168.100.8:3001
> > <VirtualHost 192.168.100.8:3001>
> > ServerAdmin genie@peperoni.de
> > DocumentRoot /usr/local/httpd/htdocs/genieuk
> > ServerName virtualhost.peperoni.de
> > ErrorLog "|rotatelogs
> > /usr/local/httpd/htdocs/genieuk/stats/error_log
> > 86400"
> > CustomLog "|rotatelogs
> > /usr/local/httpd/htdocs/genieuk/stats/access_log
> > 86400" combined
> > JkMount /servlet/* ajp12
> > AddType application/x-httpd-php .php3
> > </VirtualHost>
> >
> >
> >
> > These are the software versions (we have one new server but cannot
> > completely re-install the old server as it is already productive):
> >
> > 192.168.100.1:
> > Apache/1.3.20 (Linux/SuSE) mod_jk/1.2.2 balanced_by_mod_backhand/1.2.0
> > PHP/4.0.6 mod_ssl/2.8.4 OpenSSL/0.9.6b
> >
> > 192.168.100.8:
> > Apache/1.3.27 (Linux/SuSE) mod_jk/1.2.2 PHP/4.3.1 mod_perl/1.27
> > mod_ssl/2.8.12 OpenSSL/0.9.6i mod_backhand/1.2.2
> >
> >
> > I hope that someone can help me finding a solution for this strange
> > behavior!!
> >
> > Thomas
> >
> > PS: I tried to use the mod_backhand/1.2.2 from the new server on the
> > old
> > one. But this is what happens:
> > Cannot load /usr/lib/apache/mod_backhand.so into server:
> > /lib/libc.so.6:
> > version `GLIBC_2.3' not found (required by
> > /usr/lib/apache/mod_backhand.so)
> > Is there any way of trying the new version without the risk of hurting
> > the
> > system by installing new versions of everything?
>
> Sounds like you have differing version of glibc on that machines --
> Thank Linux for that, ugh. Compile things on the older box if you want
> to be able to move them around as binaries -- you'll likely have better
> luck.
>
>
> --
> Theo Schlossnagle
> Principal Consultant
> OmniTI Computer Consulting, Inc. -- http://www.omniti.com/
> Phone: +1 410 872 4910 x201 Fax: +1 410 872 4911
> 1024D/82844984/95FD 30F1 489E 4613 F22E 491A 7E88 364C 8284 4984
> 2047R/33131B65/71 F7 95 64 49 76 5D BA 3D 90 B9 9F BE 27 24 E7
>
>
> _______________________________________________
> backhand-users mailing list
> backhand-users@lists.backhand.org
> http://lists.backhand.org/mailman/listinfo/backhand-users
>
backhand selects a different host but then executes locally - and shows port 0 in /backhand/ [ In reply to ]
Thomas Buehren wrote:
> Hello,
>
> using balanced_by_mod_backhand/1.2.0 on both machines (instead of mixing
> 1.2.2 and 1.2.0) works!
>
> I am only surprised about one thing: Both machines show 1056559794 as "Age"
> for themselves (the other one is always 1 or 0).
>
> Is this a problem, for example with byAge which should remove crashed hosts?
>
> And: Can I use 1.2.0 without fear or are there really important improvements
> or removed-bugs in 1.2.2? The ChangeLog lists some bugs with byBusyChildren
> but the rest seems to be not sooo important (to me).

I would run 1.2.2 :-) Bug are bugs.. and you should run with them if you know
they are there.

The age would be wrong if the machine can't "see itself". Sounds like the
broadcast or multicast address you specified is not working correctly.


--
Theo Schlossnagle
Principal Consultant
OmniTI Computer Consulting, Inc. -- http://www.omniti.com/
Phone: +1 410 872 4910 x201 Fax: +1 410 872 4911
1024D/82844984/95FD 30F1 489E 4613 F22E 491A 7E88 364C 8284 4984
2047R/33131B65/71 F7 95 64 49 76 5D BA 3D 90 B9 9F BE 27 24 E7