JIRA Datacenter - Add additional Lucene index checks before propagating index to other nodes

XMLWordPrintable

    • 2
    • 17

      Problem Definition

      JIRA Datacenter can share lucene index between nodes on request. In some cases this lucene index can be corrupted at specific node, in that case that node still can reply and propagate that index to other nodes (nodes copy it from shared folder), thus affecting whole cluster.

      Suggested Solution

      Potential "donor" node should detect that index is corrupted (and possibly not healthy) and should not reply to request.

      Note

      There is similar check already in backupIndex(), see JRASERVER-64927

      public String backupIndex(String requestingNode, final IndexSnapshotContribution contribution) {
      ...
      final Long latestOperation = ofBizNodeIndexOperationStore.getLatestOperation(nodeId);
       if (latestOperation == null) {
          LOG.warn("Index backup failed - latest index operation not found. Requesting node: {}", requestingNode);
         return null;
       }
      

      so node refuses to share index if it does't have index operations.

      Workaround

      None

            Assignee:
            Unassigned
            Reporter:
            Andriy Yakovlev [Atlassian]
            Votes:
            23 Vote for this issue
            Watchers:
            27 Start watching this issue

              Created:
              Updated: