You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@knox.apache.org by "Tamás Hanicz (Jira)" <ji...@apache.org> on 2026/07/23 17:22:00 UTC
[jira] [Updated] (KNOX-3041) Load Balancer backend selection synchronization issue
[ https://issues.apache.org/jira/browse/KNOX-3041?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tamás Hanicz updated KNOX-3041:
-------------------------------
Affects Version/s: 2.1.0
> 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
> Affects Versions: 2.1.0
> Reporter: Istvan Toth
> Assignee: Tamás Hanicz
> Priority: Major
> Fix For: 3.0.0
>
> Time Spent: 0.5h
> 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)