[JBoss JIRA] (MODCLUSTER-446) Change in AdvertiseSecurityKey on httpd side is ignored by running workers
by Jean-Frederic Clere (JIRA)
[ https://issues.jboss.org/browse/MODCLUSTER-446?page=com.atlassian.jira.pl... ]
Jean-Frederic Clere commented on MODCLUSTER-446:
------------------------------------------------
Actually 2 multicast message are sent to the nodes:
HTTP/1.0 403 Forbidden when httpd is stopping and
HTTP/1.0 410 Gone just before removing the module.
But those message aren't processed by the listeners, so the first httpd is remembered and the new is added.
> 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?
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)