]
Jean-Frederic Clere commented on MODCLUSTER-446:
------------------------------------------------
hm it is a missing feature in fact ;-)
Change in AdvertiseSecurityKey on httpd side is ignored by running
workers
--------------------------------------------------------------------------
Key: MODCLUSTER-446
URL:
https://issues.jboss.org/browse/MODCLUSTER-446
Project: mod_cluster
Issue Type: Bug
Affects Versions: 1.2.10.Final, 1.3.1.Beta1
Reporter: Michal Babacek
Assignee: Jean-Frederic Clere
While strengtening the test coverage and tying some loose ends, I encountered the
following behaviour. It's always reproducible. Please, take a look at it and comment
whether you consider it being a quite evil bug, or whether I'm just being full of
ideas :-)
h3. Steps to reproduce
# Setup Apache HTTP Server *balancer* with {{AdvertiseSecurityKey karmYYY}} and start
it.
# Setup *worker 1* with {{advertise-security-key="karmXXX"}} and start it.
# Setup *worker 2* with {{advertise-security-key="karmYYY"}} and start it.
# *worker 2* talks to *balancer*, that's cool.
# *worker 1* does not talk to *balancer*, that's cool.
# Stop *balancer*. Keep both workers running.
# Setup Apache HTTP Server *balancer* with {{AdvertiseSecurityKey karmXXX}} and start
it.
# Now, I would expect that {{verifyDigest}} for *worker 2* ceases to match and that
there will be only *worker 1* registered with the *balancer*. What actually happens is
that _both_ *worker 1* and *worker 2* are registered with the *balancer* now. STATUS
messages are being sent and processed, workers are in OK state.
I took a look at the differences between master and 1.2.10 branch, especially with regard
to MODCLUSTER-338 and MODCLUSTER-337, but it bares no connection to this issue.
1.2.10.Final and 1.3.1.Beta1 exhibit the same kind of behaviour.
According to the log, the digest logic is sane, i.e. one gets:
{noformat}
[org.jboss.modcluster.advertise.impl.AdvertiseListenerImpl] (pool-1-thread-1) Advertise
message digest verification failed for server 1a3825d7-e3df-4b5d-9838-52a3756284b0
{noformat}
, but the worker keeps sending STATUS OK messages anyhow.
Would it make sense for the worker to "leave" the balancer if the digest is
suddenly not matching?