[mod_cluster-issues] [JBoss JIRA] (MODCLUSTER-427) mod_cluster can break stickiness for the first request on new child processes

Aaron Ogburn (JIRA) issues at jboss.org
Wed Sep 3 13:46:59 EDT 2014


    [ https://issues.jboss.org/browse/MODCLUSTER-427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998528#comment-12998528 ] 

Aaron Ogburn edited comment on MODCLUSTER-427 at 9/3/14 1:46 PM:
-----------------------------------------------------------------

PRs for how I was able to fix locally.  I'm not sure if something deeper may be going on to cause the empty balancer, but doing update_workers_node before internal_find_best_byrequests and before the sticky session check populates the balancer in time so stickiness can be maintained.


was (Author: aogburn):
PRs for how I was able to fix locally.  I'm not sure if something deeper may be going on to cause the empty balancer, but doing update_workers_node before internal_find_best_byrequests and before the sticky session check populates it in time so stickiness can be maintained.

> mod_cluster can break stickiness for the first request on new child processes
> -----------------------------------------------------------------------------
>
>                 Key: MODCLUSTER-427
>                 URL: https://issues.jboss.org/browse/MODCLUSTER-427
>             Project: mod_cluster
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Native (httpd modules)
>    Affects Versions: 1.2.9.Final, 1.3.1.Alpha1
>         Environment: JBoss EAP 6.3.0
>            Reporter: Aaron Ogburn
>            Assignee: Jean-Frederic Clere
>             Fix For: 1.2.10.Final, 1.3.1.Final
>
>
> mod_cluster can break stickiness for the first request on new child processes.  It looks like this occurs specifically when "CreateBalancers 1" is used.  Prefork typically makes this much worse as well.
> My debugging showed that the proxy_balancer would exist, but it would essentially be empty in the new child process.  find_session_route/find_route_worker would be called as expected, but the for loop in find_route_worker wasn't even doing anything because balancer->workers->nelts was 0.  The balancer would then finally be populated in the new child when the first request hits internal_find_best_byrequests and calls update_workers_node.



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)


More information about the mod_cluster-issues mailing list