[
https://issues.apache.org/jira/browse/CAMEL-15669?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-15669.
---------------------------------
Fix Version/s: 3.4.5
Assignee: Claus Ibsen
Resolution: Fixed
> When the registry does not have any nodes, ServiceCallDefinition will be
> blocked
> --------------------------------------------------------------------------------
>
> Key: CAMEL-15669
> URL: https://issues.apache.org/jira/browse/CAMEL-15669
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 3.5.0
> Reporter: chillming
> Assignee: Claus Ibsen
> Priority: Major
> Fix For: 3.6.0, 3.4.5
>
> Attachments: image-2020-10-10-09-40-28-603.png
>
>
> module:
> camel-cloud 3.5.0
> stack:
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
> java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:107)
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:85)
> org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:41)
> org.apache.camel.component.resilience4j.ResilienceProcessor$CircuitBreakerTask.call(ResilienceProcessor.java:418)
> org.apache.camel.component.resilience4j.ResilienceProcessor$CircuitBreakerTask.call(ResilienceProcessor.java:399)
> io.github.resilience4j.circuitbreaker.CircuitBreaker.lambda$decorateCallable$3(CircuitBreaker.java:700)
> io.github.resilience4j.circuitbreaker.CircuitBreaker$$Lambda$1027/242448823.call(Unknown
> Source)
> Related codes:
> 1、org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancer#process
> when server is null,throw RejectedExecutionException:
> throw new RejectedExecutionException("No active services with name " +
> serviceName);
> 2、org.apache.camel.impl.cloud.DefaultServiceCallProcessor#process
> when catch Exception,we need “callback.done(true);” for CountDownLatch
> !image-2020-10-10-09-40-28-603.png!
> test code:
> RouteDefinition definition = from("...");
> CircuitBreakerDefinition circuitBreakerDefinition = definition
> .circuitBreaker()
> .resilience4jConfiguration(resilience4j)......
> erviceCallDefinition serviceCallDefinition = processorDefinition
> .serviceCall().name("test-app/api/test/hello");
> //registry
> ZooKeeperServiceCallServiceDiscoveryConfiguration conf =
> new ZooKeeperServiceCallDiscoveryConfiguration(serviceCallDefinition)
>
> .nodes("...").basePath("...").connectionTimeout("7000").sessionTimeout("60000");
> serviceCallDefinition.setServiceDiscoveryConfiguration(conf);
> //end
> serviceCallDefinition.end();
--
This message was sent by Atlassian Jira
(v8.3.4#803005)