When Optimize is started, the telemetry URL is resolved as the environment variable or the placeholder. However, the placeholder is causing an error in it's formatting when its used
ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled taskERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled taskjava.lang.IllegalArgumentException: Illegal character in scheme name at index 0: 'https://api.int.telemetry.camunda.cloud/pings' at java.net.URI.create(URI.java:852) at org.apache.http.client.methods.HttpPost.<init>(HttpPost.java:73) at org.camunda.optimize.service.telemetry.TelemetrySendingService.sendTelemetryData(TelemetrySendingService.java:44) at org.camunda.optimize.service.telemetry.TelemetryScheduler.run(TelemetryScheduler.java:47) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)Caused by: java.net.URISyntaxException: Illegal character in scheme name at index 0: 'https://api.int.telemetry.camunda.cloud/pings' at java.net.URI$Parser.fail(URI.java:2848) at java.net.URI$Parser.checkChars(URI.java:3021) at java.net.URI$Parser.checkChar(URI.java:3031) at java.net.URI$Parser.parse(URI.java:3047) at java.net.URI.<init>(URI.java:588) at java.net.URI.create(URI.java:850) ... 12 common frames omitted
We should investigate the cause of failure (probably a missing license) and handle it more gracefully.
This is the controller panel for Smart Panels app
[OPT-4403] Handle telemetry failing to resolve placeholder URL
Status | Original: Open [ 1 ] | New: In Specification [ 10000 ] |
Description |
Original:
When Optimize is started and there is no license saved, the telemetry sending will fail. However, this isn't handled by Optimize properly, so we get the following exception in the logs:
{code:java} ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled taskERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled taskjava.lang.IllegalArgumentException: Illegal character in scheme name at index 0: 'https://api.int.telemetry.camunda.cloud/pings' at java.net.URI.create(URI.java:852) at org.apache.http.client.methods.HttpPost.<init>(HttpPost.java:73) at org.camunda.optimize.service.telemetry.TelemetrySendingService.sendTelemetryData(TelemetrySendingService.java:44) at org.camunda.optimize.service.telemetry.TelemetryScheduler.run(TelemetryScheduler.java:47) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)Caused by: java.net.URISyntaxException: Illegal character in scheme name at index 0: 'https://api.int.telemetry.camunda.cloud/pings' at java.net.URI$Parser.fail(URI.java:2848) at java.net.URI$Parser.checkChars(URI.java:3021) at java.net.URI$Parser.checkChar(URI.java:3031) at java.net.URI$Parser.parse(URI.java:3047) at java.net.URI.<init>(URI.java:588) at java.net.URI.create(URI.java:850) ... 12 common frames omitted {code} We should investigate the cause of failure (probably a missing license) and handle it more gracefully, i.e. by not sending telemetry data until a license is stored. *ATs:* * Optimize does not send telemetry data if no valid license is stored |
New:
When Optimize is started, the telemetry URL is resolved as the environment variable or the placeholder. However, the placeholder is causing an error in it's formatting when its used
{code:java} ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled taskERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled taskjava.lang.IllegalArgumentException: Illegal character in scheme name at index 0: 'https://api.int.telemetry.camunda.cloud/pings' at java.net.URI.create(URI.java:852) at org.apache.http.client.methods.HttpPost.<init>(HttpPost.java:73) at org.camunda.optimize.service.telemetry.TelemetrySendingService.sendTelemetryData(TelemetrySendingService.java:44) at org.camunda.optimize.service.telemetry.TelemetryScheduler.run(TelemetryScheduler.java:47) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)Caused by: java.net.URISyntaxException: Illegal character in scheme name at index 0: 'https://api.int.telemetry.camunda.cloud/pings' at java.net.URI$Parser.fail(URI.java:2848) at java.net.URI$Parser.checkChars(URI.java:3021) at java.net.URI$Parser.checkChar(URI.java:3031) at java.net.URI$Parser.parse(URI.java:3047) at java.net.URI.<init>(URI.java:588) at java.net.URI.create(URI.java:850) ... 12 common frames omitted {code} We should investigate the cause of failure (probably a missing license) and handle it more gracefully. |
Summary | Original: Handle telemetry sending fails on missing license | New: Handle telemetry failing to resolve placeholder URL |
Mentioned Roles |
Mentioned Groups |
Labels | Original: next_release | New: current_release |
Priority | Original: L3 - Default [ 4 ] | New: L2 - Critical [ 2 ] |
Status | Original: In Specification [ 10000 ] | New: In Development [ 10312 ] |
Assignee | Original: Joshua Windels [ joshua.windels ] | New: Sebastian Bathke [ sebastian.bathke ] |
Status | Original: In Development [ 10312 ] | New: In Review [ 10212 ] |
Assignee | Original: Sebastian Bathke [ sebastian.bathke ] | |
Resolution | New: Done [ 10000 ] | |
Status | Original: In Review [ 10212 ] | New: Done [ 10010 ] |
Fix Version/s | New: 3.2.0 [ 16198 ] |