Details
-
Task
-
Resolution: Unresolved
-
L3 - Default
-
None
-
None
-
Not defined
Description
Problem:
If the camunda bpm `rest` endpoint cannot be called due to protocol or SSL issues the actual cause if not visible on the optimize log.
Steps to reproduce:
1. Configure an address for the camunda bpm `rest` (e.g. use https for an http endpoint, or configure an https endpoint with a self-signed certificate) endpoint
2. Start Optimize
Actual result :
The following error is logged:
org.camunda.optimize.service.exceptions.OptimizeRuntimeException: Engine didn't respond. Can not verify this engine's version at org.camunda.optimize.service.util.EngineVersionChecker.checkEngineVersionSupport(EngineVersionChecker.java:50) at org.camunda.optimize.rest.engine.EngineContext.getEngineClient(EngineContext.java:104) at org.camunda.optimize.rest.engine.EngineContext.getUserById(EngineContext.java:173) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at org.camunda.optimize.rest.engine.EngineContext.getUsersById(EngineContext.java:321) at org.camunda.optimize.service.identity.AbstractIdentityCacheService.fetchUsersById(AbstractIdentityCacheService.java:268) at org.camunda.optimize.service.identity.UserTaskIdentityCacheService.lambda$populateCache$0(UserTaskIdentityCacheService.java:55) at org.camunda.optimize.service.es.reader.AssigneeAndCandidateGroupsReader.consumeUserTaskFieldTermsInBatches(AssigneeAndCandidateGroupsReader.java:198) at org.camunda.optimize.service.es.reader.AssigneeAndCandidateGroupsReader.consumeUserTaskFieldTermsInBatches(AssigneeAndCandidateGroupsReader.java:161) at org.camunda.optimize.service.es.reader.AssigneeAndCandidateGroupsReader.consumeAssigneesInBatches(AssigneeAndCandidateGroupsReader.java:62) at org.camunda.optimize.service.identity.UserTaskIdentityCacheService.lambda$populateCache$2(UserTaskIdentityCacheService.java:53) at java.base/java.util.HashMap$Values.forEach(HashMap.java:976) at org.camunda.optimize.service.identity.UserTaskIdentityCacheService.populateCache(UserTaskIdentityCacheService.java:51) at org.camunda.optimize.service.identity.AbstractIdentityCacheService.synchronizeIdentities(AbstractIdentityCacheService.java:148) at org.camunda.optimize.service.identity.AbstractIdentityCacheService.syncIdentitiesWithRetry(AbstractIdentityCacheService.java:114) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)
This exception however lacks the underlying cause making it hard to debug and fix the underlying issue.
Expected result:
The Stacktrace should include the cause of the failure, e.g.
Caused by: javax.ws.rs.ProcessingException: javax.net.ssl.SSLException: Unsupported or unrecognized SSL message at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:268) at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:297) at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$0(JerseyInvocation.java:662) at org.glassfish.jersey.client.JerseyInvocation.call(JerseyInvocation.java:697) at org.glassfish.jersey.client.JerseyInvocation.lambda$runInScope$3(JerseyInvocation.java:691) at org.glassfish.jersey.internal.Errors.process(Errors.java:292) at org.glassfish.jersey.internal.Errors.process(Errors.java:274) at org.glassfish.jersey.internal.Errors.process(Errors.java:205) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:390) at org.glassfish.jersey.client.JerseyInvocation.runInScope(JerseyInvocation.java:691) at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:661) at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:413) at org.glassfish.jersey.client.JerseyInvocation$Builder.get(JerseyInvocation.java:313) at org.camunda.optimize.service.util.EngineVersionChecker.checkEngineVersionSupport(EngineVersionChecker.java:48) ... 28 common frames omitted