[ 
https://issues.apache.org/jira/browse/KNOX-3041?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tamás Hanicz reassigned KNOX-3041:
----------------------------------

    Assignee: Tamás Hanicz

> Load Balancer backend selection synchronization issue
> -----------------------------------------------------
>
>                 Key: KNOX-3041
>                 URL: https://issues.apache.org/jira/browse/KNOX-3041
>             Project: Apache Knox
>          Issue Type: Bug
>          Components: Server
>            Reporter: Istvan Toth
>            Assignee: Tamás Hanicz
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> I was trying to run a benchmark over Knox, with several Http client instances 
> started at the same time on separate threads.
> I found that every single client was directed to the same backend, which was 
> saved in the session, so instead of accessing each backend, every request was 
> directed to a single one.
> While this was a benchmark/load test tool, any non-interactive client can 
> exhibit similar behaviour, defating the point of load balancing.
> Looking at 
> org.apache.knox.gateway.ha.dispatch.ConfigurableHADispatch.executeRequestWrapper(HttpUriRequest,
>  HttpServletRequest, HttpServletResponse) 
> , I think that the sitation could be improved by calling 
> haProvider.makeNextActiveURLAvailable BEFORE the request is executed.
> It would be still racy, but the race window would be dramatically smaller, 
> running some simple local code, which should be on the microsecond scale, 
> instead of performing a full HTTP reqest, which is on on the millisecond 
> scale at best.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to