Uploaded image for project: 'Service Packs and Hot Fixes'
  1. Service Packs and Hot Fixes
  2. MNT-1324

Node deletions transactions not properly detected in Lucene Indexes by AbstractReindexComponent

    Details

    • Type: Service Pack Request
    • Status: Closed
    • Resolution: Fixed
    • Affects Version/s: 2.2.6
    • Fix Version/s: 2.2.7
    • Component/s: Installer
    • Labels:
      None
    • Bug Priority:
      Category 2
    • ACT Numbers:

      13974

      Description

      A node deletion transaction is not properly detected by the AbstractReindexComponent, despite indexes are properly updated (and tracked on a clustered instance).
      This happen specifically in the method AbstractReindexComponent#isTxnPresentInIndex:399 "else" branch where basically the index presence result value is never initialized to 'YES' for deletion transactions, resulting in the verification which always returns 'NO' also for deletion transactions properly recorded in the indexes

      This is causing two side effects for classes that extend it:

      1. FullReindexRecoveryComponent upon restart always indexing starting from the improperly detected deletion transaction because this is the one alwyas marked as not present in the indexes

      • TEST CASE TO REPRODUCE THE ISSUE:
        1. Delete a Node on a single alfresco instance
        1A. Identify the latest transaction ID in the ALF_TRANSACTION table (we name it LAST_TRANSACTION_ID)
        2. (correctly) Search for it and not finding it (showing that indexes are properly updated)
        2A. (Optionally) perform other transactions (Creations/Updates)
        3. Restart the instance with index.recovery.mode = AUTO
        4. The instance will start reindexing from the LAST_TRANSACTION_ID and all the following (optional transactions) done, while the expected behavior is that NO reindexing is perfomed at all

      2. IndexTransactionTracker which does not properly propagates transactions newer than the deletions transactions in cluster nodes (seems to delay or loop a lot)

      • This is probably due to the fact that the same method is invoked 3 times in the IndexTransactionTracker

        Attachments

        1. ETWOTWO-1387.patch
          0.7 kB
        2. logs.zip
          5 kB

          Structure

            Activity

              People

              • Assignee:
                closedbugs Closed Bugs (Inactive)
                Reporter:
                gcolumbro Gabriele Columbro [X] (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Structure Helper Panel