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

Free Space Health check fails due to an IllegalArgumentException

    XMLWordPrintable

Details

    Description

      Summary

      The Free Space Health check uses common-io library to calculate the size of the index directory, to verify there is enough free space for indexing. Due to a bug in the library, IO-389, this can cause the check to fail if a file is deleted whilst the check is running. We use commons-io 1.4 in the plugin.

      Steps to Reproduce

      1. Have a large index dir setup
      2. Run the health check
      3. Delete a lucene segment file during the check

      Expected Results

      The check can continue without problems

      Actual Results

      An exception is thrown as below:

      2017-08-08 15:01:00,082 SupportHealthCheckThread-7 ERROR      [c.a.j.p.healthcheck.support.AbstractSupportHealthCheck] Unhandled error during healthcheck
      java.lang.IllegalArgumentException: /export/apps/jira/jira_data_7210/caches/indexes/issues/_7fsrj.tis does not exist
      	at org.apache.commons.io.FileUtils.sizeOf(FileUtils.java:2053)
      	at org.apache.commons.io.FileUtils.sizeOfDirectory(FileUtils.java:2089)
      	at org.apache.commons.io.FileUtils.sizeOf(FileUtils.java:2057)
      	at org.apache.commons.io.FileUtils.sizeOfDirectory(FileUtils.java:2089)
      	at com.atlassian.jira.plugins.healthcheck.util.CachedDirectorySizeEstimator.sizeOfFile(CachedDirectorySizeEstimator.java:52)
      	at com.atlassian.jira.plugins.healthcheck.support.StorageIndexSnapshotHealthCheck.checkFreeDiskSpaceForIndex(StorageIndexSnapshotHealthCheck.java:57)
      	at com.atlassian.jira.plugins.healthcheck.support.StorageIndexSnapshotHealthCheck.doCheck(StorageIndexSnapshotHealthCheck.java:50)
      	at com.atlassian.jira.plugins.healthcheck.support.AbstractSupportHealthCheck.check(AbstractSupportHealthCheck.java:27)
      	at com.atlassian.support.healthcheck.impl.PluginSuppliedSupportHealthCheck.check(PluginSuppliedSupportHealthCheck.java:41)
      	at com.atlassian.support.healthcheck.thread.HealthCheckCallable.call(HealthCheckCallable.java:32)
      	at com.atlassian.support.healthcheck.thread.HealthCheckCallable.call(HealthCheckCallable.java:15)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      

      Workaround

      1. Browse to Manage add-ons
      2. Expand the Atlassian JIRA - Plugins - Instance Health Plugin plugin
      3. Click + next to "n of n modules enabled"
      4. Search for "storageIndexSnapshotHealthCheck"
      5. Mouse-over it and click Disable.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              dcurrie@atlassian.com Dave C
              Votes:
              7 Vote for this issue
              Watchers:
              17 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: