How to update a node's indexes that are lagging behind by using the current indexes from another node
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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 article guides you through the process of updating a node's outdated indexes by utilising the current indexes from another node.
Diagnosis
Comparison between two nodes (sample):
Date Observed | main_index - journal id outdated Node | main_index - Journal Id current nodes | Difference from current Nodes |
---|---|---|---|
10 JAN | 311,389,211 | 311,831,809 | 442,598 |
13 JAN | 311,781,097 | 312,245,112 | 464,015 |
Based on the journal id information on the <confluence-home>/journal/main_index file, the outdated node is falling further behind.
Command to check the journal id in the <confluence-home>/journal/* files
1
find ./ -type f -exec sh -c 'cat "$1"; echo -e "\n--- End of $1 ---\n"' _ {} \;
Solution
UPDATE INDEX:
To update the index on the outdated node, please action the following steps:
Step 1: Backup the Index Snapshot Files
Backup and remove the Index Snapshot files located at `/confluence_dc/shared-home/index-snapshots/`. The files should resemble the examples below:
`IndexSnapshot_change_index_<SOME_NUMBER>.zip`
`IndexSnapshot_change_index_journal_id`
`IndexSnapshot_edge_index_<SOME_NUMBER>.zip`
`IndexSnapshot_edge_index_journal_id`
`IndexSnapshot_main_index_<SOME_NUMBER>.zip`
`IndexSnapshot_main_index_journal_id`
Step 2: Execute the Clean Journal Entries Task on the current NODE.
As current Node holds the most current data, proceed to execute the Clean Journal Entries task there:
1. Access the Confluence UI Session for current NODE:
Confirm your connection to current NODE by checking the node ID and name at the bottom footer of the Confluence UI.
2. Navigate to Clean Journal Entries Task:
Once confirmed, go to Administration > Scheduled Tasks, and select Run on the Clean Journal Entries task.
This action will cause current NODE to generate new index snapshots at `<confluence-shared-home>/index-snapshots/`, resulting in six new files.
3. Verification:
Confirm the presence of six new index snapshot files at `<confluence-shared-home>/index-snapshots/`, formatted similarly to the previous files.
Step 3: Update outdated NODE(Affected Node)
If the snapshots have been successfully created, proceed with the following steps on outdated NODE:
1. Stop Confluence.
2. Backup and Remove Index Directories:
`<confluence-home>/index`
`<confluence-home>/journal`
3. Start Confluence:
Upon starting, Confluence will detect the absence of local index and journal data and will initiate index recovery. It will attempt to recover from the valid index snapshots located at `<confluence-shared-home>/index-snapshots/`, which current NODE has generated.
4. Monitor Logs:
Look for log entries in `atlassian-confluence.log` similar to the following to confirm successful recovery:
1
2
3
YYYY-MM-DD HH:MM:SS,mmm WARN [Catalina-utility-1] [confluence.impl.index.DefaultIndexRecoveryService] triggerIndexRecovererModuleDescriptors main index recovered from shared home directory
YYYY-MM-DD HH:MM:SS,mmm WARN [Catalina-utility-1] [confluence.impl.index.DefaultIndexRecoveryService] triggerIndexRecovererModuleDescriptors change index recovered from shared home directory
YYYY-MM-DD HH:MM:SS,mmm WARN [Catalina-utility-1] [confluence.impl.index.DefaultIndexRecoveryService] triggerIndexRecovererModuleDescriptors edge index recovered from shared home directory
By following these steps, you will ensure that outdated NODE's index is updated, utilising the latest snapshots generated by current NODE.
5. Search for a Newer Page on outdated NODE to check if they are returned in search now.
Was this helpful?