]
Hiroko Miura updated DROOLS-3548:
---------------------------------
Summary: Thread used by LoadBalancer remains when connection to kie-server fails
during instantinating of KieServicesClient (was: Thread used by loadbalancer remains when
connection to kie-server fails a)
Thread used by LoadBalancer remains when connection to kie-server
fails during instantinating of KieServicesClient
------------------------------------------------------------------------------------------------------------------
Key: DROOLS-3548
URL:
https://issues.jboss.org/browse/DROOLS-3548
Project: Drools
Issue Type: Bug
Components: kie server
Affects Versions: 7.11.0.Final, 7.14.0.Final
Environment: - Red Hat Decision Manager
- 7
- Red Hat Process Automation Manager
- 7
Reporter: Hiroko Miura
Assignee: Maciej Swiderski
Priority: Major
Labels: support
Attachments: rules-client.zip
When KieServicesClient fails to connect to KieServer, LoadBalancer is invoked to check
availability of server like the following.
~~~
[2019/01/24 18:19:38.411] [pool-1-thread-1] [DEBUG] (LoadBalancer.java:149)
- Starting to scan if any of the failed endpoints is back online
org.kie.server.common.rest.NoEndpointFoundException: No available endpoints found
at
org.kie.server.client.balancer.impl.AbstractBalancerStrategy.checkEmpty(AbstractBalancerStrategy.java:27)
at
org.kie.server.client.balancer.impl.RoundRobinBalancerStrategy.next(RoundRobinBalancerStrategy.java:37)
at org.kie.server.client.balancer.LoadBalancer.getUrl(LoadBalancer.java:52)
at
org.kie.server.client.impl.AbstractKieServicesClientImpl.invoke(AbstractKieServicesClientImpl.java:809)
at
org.kie.server.client.impl.AbstractKieServicesClientImpl.makeHttpGetRequestAndCreateServiceResponse(AbstractKieServicesClientImpl.java:177)
at
org.kie.server.client.impl.KieServicesClientImpl.getServerInfo(KieServicesClientImpl.java:159)
at
org.kie.server.client.impl.KieServicesClientImpl.getCapabilitiesFromServer(KieServicesClientImpl.java:132)
at org.kie.server.client.impl.KieServicesClientImpl.init(KieServicesClientImpl.java:87)
at
org.kie.server.client.impl.KieServicesClientImpl.<init>(KieServicesClientImpl.java:74)
at
org.kie.server.client.KieServicesFactory.newKieServicesClient(KieServicesFactory.java:101)
at
com.sample.rules.test.KieServerRestClientTest.connectionFailureTest(KieServerRestClientTest.java:55)
~~~
But after that, the thread used by LoadBalancer remains until termination of client
application as LoadBalancer.close() is not called.