Index snapshot failed due to insufficient space on the storage

 

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

Copying index from node to node is failing with message No space left on device. This is also applicatable for creation of index recovery snapshot. 

The following appears in the log

2016-06-10 08:47:00,311 ClusterMessageHandlerServiceThread:thread-1 ERROR      [atlassian.jira.cluster.OfBizMessageHandlerService] There was a problem handling a cluster message
java.lang.RuntimeException: java.io.IOException: No space left on device
    at com.atlassian.jira.index.ha.IndexUtils.copySpecificIndex(IndexUtils.java:256)
	at com.atlassian.jira.index.ha.IndexUtils.copyIndexes(IndexUtils.java:173)
	at com.atlassian.jira.index.ha.IndexUtils.takeIndexSnapshot(IndexUtils.java:127)
	at com.atlassian.jira.index.ha.DefaultIndexCopyService$MessageConsumer.copyIndex(DefaultIndexCopyService.java:164)
	at com.atlassian.jira.index.ha.DefaultIndexCopyService$MessageConsumer.backupIndex(DefaultIndexCopyService.java:142)
	at com.atlassian.jira.index.ha.DefaultIndexCopyService$MessageConsumer.backupIndex(DefaultIndexCopyService.java:124)
	...
 
Caused by: java.io.IOException: No space left on device
	at java.io.RandomAccessFile.writeBytes(Native Method)
	at java.io.RandomAccessFile.write(RandomAccessFile.java:525)
	at org.apache.lucene.store.FSDirectory$FSIndexOutput.flushBuffer(FSDirectory.java:448)
	at org.apache.lucene.store.BufferedIndexOutput.flushBuffer(BufferedIndexOutput.java:99)
	at org.apache.lucene.store.BufferedIndexOutput.flush(BufferedIndexOutput.java:88)
	at org.apache.lucene.store.BufferedIndexOutput.close(BufferedIndexOutput.java:113)
	at org.apache.lucene.store.FSDirectory$FSIndexOutput.close(FSDirectory.java:457)
	at org.apache.lucene.util.IOUtils.closeSafely(IOUtils.java:118)
	at org.apache.lucene.index.FieldsWriter.close(FieldsWriter.java:127)
	at org.apache.lucene.index.SegmentMerger.mergeFields(SegmentMerger.java:251)
	at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:107)
	at org.apache.lucene.index.IndexWriter.addIndexes(IndexWriter.java:3080)
	at com.atlassian.jira.index.ha.IndexUtils.copySpecificIndex(IndexUtils.java:247)
	... 17 more

Diagnosis

Environment

  • Different partitions for <JIRA_INSTALL> and <JIRA_HOME> are used.

Cause

During creating the snapshot of the index it is created in java.io.tmpdir directory, by default it set to CATALINA_BASE/temp (<JIRA_INSTALL>/temp).

Workaround

  • Set in bin/setenv.sh CATALINA_TMPDIR variable and point to directory at <JIRA_HOME> partition. 
  • You can use a Symbolic Link in a *nix environment.

Resolution

Please check that partition for <JIRA_INSTALL> has enough space.

Last modified on Oct 4, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.