Camundaa 8.8 incidents doesnt display in Operate

Hello after update self-managed version from 8.7 to 8.8 after some time incidents are not displayed in Operate and have PENDING status in Elasticsearch operate-incident-8.3.1_ index and there is no way to retry listeners with errors. The error is written in incidentErrorMessage at job, but it is not displayed at the process level.
In camunda logs we see only this
[2026-01-14 12:35:27.031] [exporter-camundaexporter-p1-tasks-1] WARN
io.camunda.zeebe.broker.exporter.camundaexporter - Error occurred while performing a background task Incident update task; error message null; operation will be retried
java.util.concurrent.CompletionException: java.lang.NullPointerException
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.uniApplyStage(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.thenApplyAsync(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.thenApplyAsync(Unknown Source)
at io.camunda.exporter.tasks.ReschedulingTask.run(ReschedulingTask.java:71)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at java.base/java.util.concurrent.ConcurrentHashMap.putVal(Unknown Source)
at java.base/java.util.concurrent.ConcurrentHashMap.put(Unknown Source)
at io.camunda.exporter.tasks.incident.IncidentUpdateTask.lambda$queryData$3(IncidentUpdateTask.java:293)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at io.camunda.exporter.tasks.incident.IncidentUpdateTask.queryData(IncidentUpdateTask.java:290)
at io.camunda.exporter.tasks.incident.IncidentUpdateTask.searchForInstances(IncidentUpdateTask.java:186)
at io.camunda.exporter.tasks.incident.IncidentUpdateTask.processNextBatch(IncidentUpdateTask.java:145)
at io.camunda.exporter.tasks.incident.IncidentUpdateTask.execute(IncidentUpdateTask.java:99)
at io.camunda.exporter.tasks.ReschedulingTask.run(ReschedulingTask.java:56)

How fix this problem? It’so important.

Hello @Bantexx,

This appears to be a known issue with Camunda 8.8 after upgrading from 8.7. Based on your error logs and symptoms, you’re encountering a bug in the incident export/processing system that affects several users after the 8.7 → 8.8 upgrade.

Classification: Problem/Bug

Your issue matches a documented pattern where:

  • Incidents remain in PENDING status in Elasticsearch
  • Incidents are not visible in Operate UI
  • IncidentUpdateTask throws NullPointerException in the Camunda exporter logs
  • This specifically occurs after upgrading from 8.7 to 8.8

Immediate Steps You Can Try

1. Verify Migration Setup

Ensure your 8.7 → 8.8 migration was completed correctly:

  • Importer: The importer should have been left enabled until all 8.7 records were fully imported before relying solely on the Camunda Exporter
  • Index Prefixes: If you used custom index prefixes in 8.7, verify you ran the prefix-migration tool and configured consistent prefixes for both secondary storage and the Camunda Exporter:
    CAMUNDA_DATA_SECONDARYSTORAGE_*_INDEXPREFIX=<your-prefix>
    ZEEBE_BROKER_EXPORTERS_CAMUNDA_ARGS_CONNECT_INDEXPREFIX=<your-prefix>
    

2. Check Elasticsearch Health

  • Verify cluster health and that all indices are green
  • Confirm both operate-* and harmonized indices are present and accessible

3. Temporary Mitigation for Stuck Post-Processing

If Operate’s post-processing is stuck due to missing data, you can temporarily set:

CAMUNDA_OPERATE_IMPORTER_POSTIMPORTERIGNOREMISSINGDATA="true"

This allows Operate to continue processing despite missing incident/process instance data.

Next Steps - File a Bug Report

Since this matches a known pattern of 8.8 incident export issues without a definitive fix, I recommend filing a GitHub issue with the following details:

Repository: GitHub · Where software is built

Include:

  • Exact Camunda versions (Zeebe, Operate, exporter versions)
  • Upgrade path (specific 8.7.x to 8.8.x versions)
  • Complete stack traces from your logs
  • Your exporter and secondary-storage configuration
  • Elasticsearch/OpenSearch health status
  • Index prefix configuration (if using custom prefixes)

References

This appears to be a product bug rather than a configuration issue, so escalating to the development team with detailed information will be the most effective path to resolution.

Let me know if you need help gathering any of the diagnostic information for the bug report!