Lucene index file location health check fails with java.io.IOException: Mount point not found

Description

Summary

The lucene index files location health check fails for BTRFS and probably other sub-volume file system mounts.

Environment

  • Linux server

  • BTRFS sub-volume mounted

Steps to Reproduce

  1. Mount a BTRFS sub-volume

  2. Configure JIRA to store index files on BTRFS volume mount

  3. Run health check

Expected Results

Health check is able to resolve the volume and validate conditions are met to pass the check, or fails based on conditions.

Actual Results

The below exception is thrown displayed in the health check:

Notes

It looks like there is an issue with Java and sub-volume mounts in linux which BTRFS supports. Here's an open issue describing the problem for OpenJDK:

While OpenJDK is not supported by Atlassian, it appears that the Oracle Java impelmentation has the same issue as noted in this thread by Elasticsearch users seeing the same issue with BTRFS:

The call that throws the exception is:

Workaround

Move the JIRA home directory to a non sub-volume mounted file system.

There is also a BTRFS specific workaround mentioned in the Elasticsearch issue, but it is specific to their configuration and linux version.

Environment

None

Assignee

Unassigned

Reporter

Douglas McMorris

Components

None

Add-on Type

None

Team

None

CC

None

Risk factor

None

Affected Product/s

None

Priority

Major
Configure