Sonarqube throwing Elasticsearch exception

Must-share information (formatted with Markdown):
SonarQube 10.8.1

Sonarqube throwing Elasticsearch exception when processing the results and calculating the quality gates… This is preventing us from merging branches as it is causing our builds in Jenkins to fail.

org.sonar.server.es.ElasticsearchException: Fail to execute es requestES refresh request on indices 'issues'
    at org.sonar.server.es.EsClient.execute(EsClient.java:336)
    at org.sonar.server.es.EsClient.refresh(EsClient.java:159)
    at org.sonar.server.es.BulkIndexer.stop(BulkIndexer.java:129)
    at org.sonar.server.issue.index.IssueIndexer.doIndex(IssueIndexer.java:325)
    at org.sonar.server.issue.index.IssueIndexer.indexOnAnalysis(IssueIndexer.java:127)
    at org.sonar.ce.task.projectanalysis.step.IndexAnalysisStep.execute(IndexAnalysisStep.java:60)
    at org.sonar.ce.task.step.ComputationStepExecutor.executeStep(ComputationStepExecutor.java:79)
    at org.sonar.ce.task.step.ComputationStepExecutor.executeSteps(ComputationStepExecutor.java:70)
    at org.sonar.ce.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:57)
    at org.sonar.ce.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:75)
    at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.executeTask(CeWorkerImpl.java:212)
    at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.run(CeWorkerImpl.java:194)
    at org.sonar.ce.taskprocessor.CeWorkerImpl.findAndProcessTask(CeWorkerImpl.java:160)
    at org.sonar.ce.taskprocessor.CeWorkerImpl$TrackRunningState.get(CeWorkerImpl.java:135)
    at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:87)
    at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:53)
    at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
    at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:76)
    at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
    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.IllegalStateException: Request cannot be executed; I/O reactor status: STOPPED
    at org.apache.http.util.Asserts.check(Asserts.java:46)
    at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase.ensureRunning(CloseableHttpAsyncClientBase.java:90)
    at org.apache.http.impl.nio.client.InternalHttpAsyncClient.execute(InternalHttpAsyncClient.java:123)
    at org.elasticsearch.client.RestClient.performRequest(RestClient.java:296)
    ... 32 common frames omitted

Hey there.

If you open up your server logs, you’ll probably find the culprit in your es.log file.

Typically the issue is a lack of disk space (exceeding 85% full). After fixing the issue, you can force a reindex, and the analysis will go back to normal.

If there are no errors in your es.log, I still recommend forcing a reindex.