-
Bug
-
Resolution: Fixed
-
High (View bug fix roadmap)
-
8.10.0, 8.13.2, 8.22.2, 8.20.10, 8.20.14
-
8.1
-
16
-
Severity 3 - Minor
-
68
-
-
Issue Summary
When restoring the index from another node, the index-fixer process checks the last 24h for issues that aren't in the index already, and reindex them.
When the index snapshot is from a node that has just run a full-locked reindex, the index-fixer will reindex all issues updated in the last 24h, in a single-threaded process.
While this process happens, the index replication is kept on hold.
Steps to Reproduce
- Stop all nodes
- Start 1 node
- Run a full locked reindex
- Start a second node
Expected Results
After getting the index snapshot from the first node, the node should operate normally in a short time.
Actual Results
If there were many issue updates in the last 24 hours, the node will become usable, but the issue replication takes a long time to start.
During this time, we see the index-fixer process stuck at 60%, at the atlassian-jira.log:
2021-10-22 05:58:41,181 ClusterMessageHandlerServiceThread:thread-1 INFO [c.a.j.index.ha.DefaultIndexRecoveryManager] [INDEX-FIXER] Recovering search indexes - 60% complete... [INDEX-FIXER] Re-indexing issues modified in the last {1 days, 0 hours, 2 minutes, and 38 seconds}. (Versioning short-circuit checks are enabled.)
Workaround 1
Before restoring the index make sure all entities version update time are older than index snapshot creation time minus 24 hours.
Example SQL:
update issue_version set update_time = 'epoch' update comment_version set update_time = 'epoch' update worklog_version set update_time = 'epoch'
[JRASERVER-72944] Restoring an index snapshot after a full re-index might trigger the index fixer, delaying the node start up
Remote Link | Original: This issue links to "DELTA-1140 (Bulldog)" [ 593702 ] | New: This issue links to "DELTA-1140 (JIRA Server (Bulldog))" [ 593702 ] |
Remote Link | New: This issue links to "Page (Confluence)" [ 794643 ] |
Description |
Original:
h3. Issue Summary
When restoring the index from another node, the index-fixer process checks the last 24h for issues that aren't in the index already, and reindex them. When the index snapshot is from a node that has just run a full-locked reindex, the index-fixer will reindex all issues updated in the last 24h, in a single-threaded process. While this process happens, the index replication is kept on hold. h3. Steps to Reproduce # Stop all nodes # Start 1 node # Run a full locked reindex # Start a second node h3. Expected Results After getting the index snapshot from the first node, the node should operate normally in a short time. h3. Actual Results If there were many issue updates in the last 24 hours, the node will become usable, but the issue replication takes a long time to start. During this time, we see the index-fixer process stuck at 60%, at the {{{}atlassian-jira.log{}}}: {code:java} 2021-10-22 05:58:41,181 ClusterMessageHandlerServiceThread:thread-1 INFO [c.a.j.index.ha.DefaultIndexRecoveryManager] [INDEX-FIXER] Recovering search indexes - 60% complete... [INDEX-FIXER] Re-indexing issues modified in the last {1 days, 0 hours, 2 minutes, and 38 seconds}. (Versioning short-circuit checks are enabled.) {code} h3. Workaround 1 Before restoring the index make sure all entities version update time are older than index snapshot creation time minus 24 hours. Example SQL: {code:java} update issue_version set update_time = 'epoch' update comment_version set update_time = 'epoch' update worklog_version set update_time = 'epoch' {code} h3. Workaround 2 The workaround below will help you to start a new Jira node faster but you will still need to run a lock-reindexing before you put it behind the load balancer: * Disable Index Recovery by navigating to *System > Indexing (in the Advanced section)* and setting *Enable Index Recovery* OFF. * Move the Index Snapshots that you currently have from *JIRA_INSTALL/temp/* (on Node1) and *SHARED_FOLDER/export/indexsnapshots/* to another folder so that when starting the new node, it shouldn't go and search for the snapshots * Copy Jira Install and Home directories to the new node * Edit the *cluster.properties* file in the local home directory and change *jira.node.id* to a new, unique identified. * Go to the *Jira_Home/caches* folder +on the new node+ and delete *indexesV1* * Start the new node * Login to Jira over the new node and run lock reindexing * Once the indexing is done, put it behind the load balancer * Enable index recovery again |
New:
h3. Issue Summary
When restoring the index from another node, the index-fixer process checks the last 24h for issues that aren't in the index already, and reindex them. When the index snapshot is from a node that has just run a full-locked reindex, the index-fixer will reindex all issues updated in the last 24h, in a single-threaded process. While this process happens, the index replication is kept on hold. h3. Steps to Reproduce # Stop all nodes # Start 1 node # Run a full locked reindex # Start a second node h3. Expected Results After getting the index snapshot from the first node, the node should operate normally in a short time. h3. Actual Results If there were many issue updates in the last 24 hours, the node will become usable, but the issue replication takes a long time to start. During this time, we see the index-fixer process stuck at 60%, at the {{{}atlassian-jira.log{}}}: {code:java} 2021-10-22 05:58:41,181 ClusterMessageHandlerServiceThread:thread-1 INFO [c.a.j.index.ha.DefaultIndexRecoveryManager] [INDEX-FIXER] Recovering search indexes - 60% complete... [INDEX-FIXER] Re-indexing issues modified in the last {1 days, 0 hours, 2 minutes, and 38 seconds}. (Versioning short-circuit checks are enabled.) {code} h3. Workaround 1 Before restoring the index make sure all entities version update time are older than index snapshot creation time minus 24 hours. Example SQL: {code:java} update issue_version set update_time = 'epoch' update comment_version set update_time = 'epoch' update worklog_version set update_time = 'epoch' {code} |
Remote Link | New: This issue links to "Page (Confluence)" [ 756142 ] |
Affects Version/s | New: 8.20.10 [ 100697 ] | |
Affects Version/s | New: 8.20.14 [ 103090 ] |
Remote Link | New: This issue links to "Page (Confluence)" [ 731060 ] |
Description |
Original:
h3. Issue Summary
When restoring the index from another node, the index-fixer process checks the last 24h for issues that aren't in the index already, and reindex them. When the index snapshot is from a node that has just run a full-locked reindex, the index-fixer will reindex all issues updated in the last 24h, in a single-threaded process. While this process happens, the index replication is kept on hold. h3. Steps to Reproduce # Stop all nodes # Start 1 node # Run a full locked reindex # Start a second node h3. Expected Results After getting the index snapshot from the first node, the node should operate normally in a short time. h3. Actual Results If there were many issue updates in the last 24 hours, the node will become usable, but the issue replication takes a long time to start. During this time, we see the index-fixer process stuck at 60%, at the {{{}atlassian-jira.log{}}}: {code:java} 2021-10-22 05:58:41,181 ClusterMessageHandlerServiceThread:thread-1 INFO [c.a.j.index.ha.DefaultIndexRecoveryManager] [INDEX-FIXER] Recovering search indexes - 60% complete... [INDEX-FIXER] Re-indexing issues modified in the last {1 days, 0 hours, 2 minutes, and 38 seconds}. (Versioning short-circuit checks are enabled.) {code} h3. Workaround Before restoring the index make sure all entities version update time are older than index snapshot creation time minus 24 hours. Example SQL: {code:java} update issue_version set update_time = 'epoch' update comment_version set update_time = 'epoch' update worklog_version set update_time = 'epoch' {code} |
New:
h3. Issue Summary
When restoring the index from another node, the index-fixer process checks the last 24h for issues that aren't in the index already, and reindex them. When the index snapshot is from a node that has just run a full-locked reindex, the index-fixer will reindex all issues updated in the last 24h, in a single-threaded process. While this process happens, the index replication is kept on hold. h3. Steps to Reproduce # Stop all nodes # Start 1 node # Run a full locked reindex # Start a second node h3. Expected Results After getting the index snapshot from the first node, the node should operate normally in a short time. h3. Actual Results If there were many issue updates in the last 24 hours, the node will become usable, but the issue replication takes a long time to start. During this time, we see the index-fixer process stuck at 60%, at the {{{}atlassian-jira.log{}}}: {code:java} 2021-10-22 05:58:41,181 ClusterMessageHandlerServiceThread:thread-1 INFO [c.a.j.index.ha.DefaultIndexRecoveryManager] [INDEX-FIXER] Recovering search indexes - 60% complete... [INDEX-FIXER] Re-indexing issues modified in the last {1 days, 0 hours, 2 minutes, and 38 seconds}. (Versioning short-circuit checks are enabled.) {code} h3. Workaround 1 Before restoring the index make sure all entities version update time are older than index snapshot creation time minus 24 hours. Example SQL: {code:java} update issue_version set update_time = 'epoch' update comment_version set update_time = 'epoch' update worklog_version set update_time = 'epoch' {code} h3. Workaround 2 The workaround below will help you to start a new Jira node faster but you will still need to run a lock-reindexing before you put it behind the load balancer: * Disable Index Recovery by navigating to *System > Indexing (in the Advanced section)* and setting *Enable Index Recovery* OFF. * Move the Index Snapshots that you currently have from *JIRA_INSTALL/temp/* (on Node1) and *SHARED_FOLDER/export/indexsnapshots/* to another folder so that when starting the new node, it shouldn't go and search for the snapshots * Copy Jira Install and Home directories to the new node * Edit the *cluster.properties* file in the local home directory and change *jira.node.id* to a new, unique identified. * Go to the *Jira_Home/caches* folder +on the new node+ and delete *indexesV1* * Start the new node * Login to Jira over the new node and run lock reindexing * Once the indexing is done, put it behind the load balancer * Enable index recovery again |
Assignee | New: Maciej Swinarski [ mswinarski ] |
Remote Link | New: This issue links to "Page (Confluence)" [ 658307 ] |
Description |
Original:
h3. Issue Summary
When restoring the index from another node, the index-fixer process checks the last 24h for issues that aren't in the index already, and reindex them. When the index snapshot is from a node that has just run a full-locked reindex, the index-fixer will reindex all issues updated in the last 24h, in a single-threaded process. While this process happens, the index replication is kept on hold. h3. Steps to Reproduce # Stop all nodes # Start 1 node # Run a full locked reindex # Start a second node h3. Expected Results After getting the index snapshot from the first node, the node should operate normally in a short time. h3. Actual Results If there were many issue updates in the last 24 hours, the node will become usable, but the issue replication takes a long time to start. During this time, we see the index-fixer process stuck at 60%, at the {{atlassian-jira.log}}: {code} 2021-10-22 05:58:41,181 ClusterMessageHandlerServiceThread:thread-1 INFO [c.a.j.index.ha.DefaultIndexRecoveryManager] [INDEX-FIXER] Recovering search indexes - 60% complete... [INDEX-FIXER] Re-indexing issues modified in the last {1 days, 0 hours, 2 minutes, and 38 seconds}. (Versioning short-circuit checks are enabled.) {code} h3. Workaround Currently there is no known workaround for this behavior. A workaround will be added here when available |
New:
h3. Issue Summary
When restoring the index from another node, the index-fixer process checks the last 24h for issues that aren't in the index already, and reindex them. When the index snapshot is from a node that has just run a full-locked reindex, the index-fixer will reindex all issues updated in the last 24h, in a single-threaded process. While this process happens, the index replication is kept on hold. h3. Steps to Reproduce # Stop all nodes # Start 1 node # Run a full locked reindex # Start a second node h3. Expected Results After getting the index snapshot from the first node, the node should operate normally in a short time. h3. Actual Results If there were many issue updates in the last 24 hours, the node will become usable, but the issue replication takes a long time to start. During this time, we see the index-fixer process stuck at 60%, at the {{{}atlassian-jira.log{}}}: {code:java} 2021-10-22 05:58:41,181 ClusterMessageHandlerServiceThread:thread-1 INFO [c.a.j.index.ha.DefaultIndexRecoveryManager] [INDEX-FIXER] Recovering search indexes - 60% complete... [INDEX-FIXER] Re-indexing issues modified in the last {1 days, 0 hours, 2 minutes, and 38 seconds}. (Versioning short-circuit checks are enabled.) {code} h3. Workaround Before restoring the index make sure all entities version update time are older than index snapshot creation time minus 24 hours. Example SQL: {code:java} update issue_version set update_time = 'epoch' update comment_version set update_time = 'epoch' update worklog_version set update_time = 'epoch' {code} |