Confluence logs filled with the error "Failed to process edge index task"
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
This KB treats an error displayed in the application log file – atlassian-confluence.log
Environment
This problem may affect all versions of Confluence.
Diagnosis
The following error appears In the atlassian-confluence.log:
WARN [scheduler_Worker-1] [search.lucene.queue.JournalIndexTaskQueue] lambda$processEntriesInternal$1 Failed to process edge index task for entry 'JournalEntry{id=1929260, journalId=JournalIdentifier{journalName=edge_index}, creationDate=2016-08-08 14:28:17.0, type=ADD_DOCUMENT, message={"edgeId":"131415156","userKey":null,"targetId":131415156,"date":null,"typeKey":"page.create"}}'
java.lang.NullPointerException
at com.atlassian.confluence.plugins.edgeindex.LuceneEdgeDocumentFactory.getDocument(LuceneEdgeDocumentFactory.java:41)
.....
Cause
The cause is an NPE in the Journalentry table of Confluence that handles the Edge Index. We observed that, in a few cases, this was caused by Copy Page Tree plugin. Specifically when a page didn't have an assigned creator and last modifier, which is causing an indexing issue. It's important to note that, while not having this plugin installed, this problem can have other causes.
Resolution
Please, follow our guide to rebuild content index from scratch to fix it.
While using the Copy Page tree plugin, make sure all the pages have an assigned creator/last modifier. However, this is only a process to not trigger this error anymore, the index is still corrupt so we need rebuild it.
It's also possible, while not recommended, to query the database and fix the entry manually.
Before proceeding with an update query in the database, please, create a backup. This method is not supported by Atlassian. If a problem appears after perfoming the query below, please, revert the changes and rebuild the content index from scratch as advised.
- Shutdown Confluence
Observe the error message and search for the problematic row, in the aforementioned error, we're searching for the targetId:
select entry_id, message from journalentry where message like '%"targetId":131415156%';
With the resulting entry_id, change the query below with the correct data:
update journalentry set message = '{"edgeId":"131415156","userKey":"8ac0a0bc7447f9d10175aee69b6f0021","targetId":291275568,"date":1616086314,"typeKey":"page.create"}}' where entry_id = <entry-id>;
If the date is null, check the date format of your database and system. In common Linux and PostgreSQL database, the date is likely following the Unix Epoch time
- Commit the change and restart Confluence