Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-71628

The jira.advanced.audit.log.migration.limit configuration property has no effect

    XMLWordPrintable

Details

    Description

      Issue Summary

      The jira.advanced.audit.log.migration.limit configuration property has no effect.

      This setting is intended to limit the amount of rows migrated as part of the Jira 8.8 Advanced Audit log migration task. This migration task moves data from audit_log, audit_item and audit_changed_value to the new table AO_C77861_AUDIT_ENTITY

      Why this property is useful

      The property should restrict the amount of entries that are migrated to the Advanced Audit Log system.

      The migration task should not block the usage of Jira, however there are reports that the task is blocking the usage of Jira for non-ZDU deployment in JRASERVER-71075

      This feature could be a valuable asset for customer with large audit log row count to minimise time taken to upgrade.

      Steps to Reproduce

      1. On Jira version <8.8.0 (eg 8.5.5) create a project called TEST
      2. Create many audit log entries. Example Script:
        #!/bin/bash
        
        COUNTER=0
        while [ $COUNTER -lt 1200 ]; do
            echo Made $COUNTER
            PAYLOAD='{"name": "New Version '$COUNTER'", "description": "Desc", "project":"TEST"}'
            curl -w "%{http_code}" -s -o /dev/null -u admin:admin http://allewelljira:8855/rest/api/2/version -X POST --data "$PAYLOAD"  -H "Content-Type: application/json"
            echo 
            let COUNTER++
        done
      1. Create or modify JIRA_HOME/jira-config.properties with:
        jira.advanced.audit.log.migration.limit = 10
      1. Shutdown Jira
      2. Upgrade Jira installation to version >8.8.0, example, 8.12.0
      3. Start Jira to initiate upgrade

      Expected Results

      • Around 10 rows are migrated
        • select count(*) from "AO_C77861_AUDIT_ENTITY" 
      • 10 previous history is shown in Jira Admin -> System -> Audit Log (/plugins/servlet/audit)
      • Logging from AuditingMigrator and AuditingMigratorLimitSupplier reports that limit is set to 10 rows

      Actual Results

      • All rows are migrated
        select count(*) from "AO_C77861_AUDIT_ENTITY" 
      • All previous history is shown in Jira Admin -> System -> Audit Log (/plugins/servlet/audit)
      • Logging from AuditingMigrator and AuditingMigratorLimitSupplier reports that limit is 10000000 / 9999000
        2020-09-29 12:45:42,344+1000 Caesium-1-3 INFO      [c.a.j.a.spis.migration.AuditingMigratorLimitSupplier] Computed max available record limit for audit log migration task (including minimum free record amount: 1000): 9999000
        2020-09-29 12:45:42,346+1000 Caesium-1-3 INFO      [c.a.j.a.spis.migration.AuditingMigratorLimitSupplier] Already migrated record count: 0
        2020-09-29 12:45:42,346+1000 Caesium-1-3 INFO      [c.a.j.a.spis.migration.AuditingMigratorLimitSupplier] Computed record limit for audit log migration task (including minimum free record amount: 1000): 9999000
        2020-09-29 12:45:42,346+1000 Caesium-1-3 INFO      [c.a.j.a.spis.migration.AuditingMigrator] ==== starting audit migration (batch size 2000, record limit 9999000) ====
        2020-09-29 12:45:42,350+1000 Caesium-1-3 INFO      [c.a.j.a.spis.migration.AuditingMigrator] audit log count 1083
        2020-09-29 12:45:42,351+1000 Caesium-1-3 INFO      [c.a.j.a.spis.migration.AuditingMigrator] == starting batch processing (1/1) ==
        2020-09-29 12:45:42,460+1000 Caesium-1-3 INFO      [c.a.j.a.spis.migration.AuditingMigrator] Storing entities
        2020-09-29 12:45:42,530+1000 Caesium-1-3 DEBUG      [c.a.activeobjects.osgi.ActiveObjectsServiceFactory] getService bundle [com.atlassian.audit.atlassian-audit-plugin]
        2020-09-29 12:45:42,667+1000 Caesium-1-3 INFO      [c.a.j.a.spis.migration.AuditingMigrator] Storing entities done
        2020-09-29 12:45:42,705+1000 Caesium-1-3 INFO      [c.a.j.a.spis.migration.AuditingMigratorLimitSupplier] Already migrated record count: 0
        2020-09-29 12:45:42,715+1000 Caesium-1-3 INFO      [c.a.j.a.spis.migration.AuditingMigrator] == ending batch processing (1/1). Took 363.5 ms ==
        2020-09-29 12:45:42,715+1000 Caesium-1-3 INFO      [c.a.j.a.spis.migration.AuditingMigrator] ==== ending audit migration (batch size 2000). Took 369.4 ms ====
        2020-09-29 12:45:42,721+1000 Caesium-1-3 INFO      [c.a.upgrade.core.DefaultUpgradeTaskFactoryProcessor] Upgrade task [factory=com.atlassian.audit.atlassian-audit-plugin,buildNumber=1] completed in 378 milliseconds
        

      Workaround

      Provide the property directly as a command line argument or via setenv.sh }}\ {{setenv.bat file. Example:

      JVM_SUPPORT_RECOMMENDED_ARGS="-Djira.advanced.audit.log.migration.limit=10"

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              allewellyn@atlassian.com Alex [Atlassian,PSE]
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: