Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Nexus indexing results in java.io.IOException: No space left on device

Tags:

nexus

When running a re-index on our public group, which contains the Maven Central proxy among others, I get the error below; however, running a df -k I cannot see any device that is anywhere near full... indeed, the partition Nexus is installed on has 156GB free.

Is there something I can do to prevent this happening?

2013-06-07 12:04:18 WARN  [pool-1-thread-7] - org.sonatype.nexus.tasks.UpdateIndexTask - Scheduled task (UpdateIndexTask) failed :: Updating repository index "Central" from path / and below. (started 2013-06-07T12:02:26+01:00, runtime 0:01:52.193)
java.io.IOException: background merge hit exception: _a(3.6.2):C360466 _l(3.6.2):C357408 _w(3.6.2):C329033 _x(3.6.2):c32252 _y(3.6.2):c32813 _z(3.6.2):c33077 _10(3.6.2):c33145 _11(3.6.2):c32795 _12(3.6.2):c17849 into _13 [maxNumSegments=1]
        at org.apache.lucene.index.IndexWriter.forceMerge(IndexWriter.java:2555) ~[na:na]
        at org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:2400) ~[na:na]
        at org.apache.maven.index.updater.IndexDataReader.readIndex(IndexDataReader.java:98) ~[na:na]
        at org.apache.maven.index.updater.DefaultIndexUpdater.unpackIndexData(DefaultIndexUpdater.java:509) ~[na:na]
        at org.apache.maven.index.updater.DefaultIndexUpdater.loadIndexDirectory(DefaultIndexUpdater.java:197) ~[na:na]
        at org.apache.maven.index.updater.DefaultIndexUpdater.access$300(DefaultIndexUpdater.java:76) ~[na:na]
        at org.apache.maven.index.updater.DefaultIndexUpdater$LuceneIndexAdaptor.setIndexFile(DefaultIndexUpdater.java:642) ~[na:na]
        at org.apache.maven.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:862) ~[na:na]
        at org.apache.maven.index.updater.DefaultIndexUpdater.fetchAndUpdateIndex(DefaultIndexUpdater.java:157) ~[na:na]
        at org.sonatype.nexus.index.DefaultIndexerManager.updateRemoteIndex(DefaultIndexerManager.java:1311) ~[na:na]
        at org.sonatype.nexus.index.DefaultIndexerManager.access$800(DefaultIndexerManager.java:186) ~[na:na]
        at org.sonatype.nexus.index.DefaultIndexerManager$7.run(DefaultIndexerManager.java:1061) ~[na:na]
        at org.sonatype.nexus.index.DefaultIndexerManager.sharedSingle(DefaultIndexerManager.java:2459) ~[na:na]
        at org.sonatype.nexus.index.DefaultIndexerManager.reindexRepository(DefaultIndexerManager.java:1091) ~[na:na]
        at org.sonatype.nexus.index.DefaultIndexerManager.reindexRepository(DefaultIndexerManager.java:1013) ~[na:na]
        at org.sonatype.nexus.index.DefaultIndexerManager.reindexRepository(DefaultIndexerManager.java:989) ~[na:na]
        at org.sonatype.nexus.tasks.ReindexTaskHandlerLegacy.reindexRepository(ReindexTaskHandlerLegacy.java:54) ~[na:na]
        at org.sonatype.nexus.tasks.AbstractIndexerTask.doRun(AbstractIndexerTask.java:69) ~[na:na]
        at org.sonatype.nexus.scheduling.AbstractNexusTask.call(AbstractNexusTask.java:179) ~[nexus-core-2.4.0-09.jar:2.4.0-09]
        at org.sonatype.scheduling.DefaultScheduledTask.call(DefaultScheduledTask.java:459) [sisu-task-scheduler-1.7.jar:na]
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_45]
        at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_45]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) [na:1.6.0_45]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) [na:1.6.0_45]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [na:1.6.0_45]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [na:1.6.0_45]
        at java.lang.Thread.run(Thread.java:662) [na:1.6.0_45]
java.io.IOException: No space left on device
        at java.io.RandomAccessFile.writeBytes(Native Method) ~[na:1.6.0_45]
        at java.io.RandomAccessFile.write(RandomAccessFile.java:482) ~[na:1.6.0_45]
        at org.apache.lucene.store.FSDirectory$FSIndexOutput.flushBuffer(FSDirectory.java:448) ~[na:na]
        at org.apache.lucene.store.BufferedIndexOutput.flushBuffer(BufferedIndexOutput.java:99) ~[na:na]
        at org.apache.lucene.store.BufferedIndexOutput.flush(BufferedIndexOutput.java:88) ~[na:na]
        at org.apache.lucene.store.BufferedIndexOutput.close(BufferedIndexOutput.java:113) ~[na:na]
        at org.apache.lucene.store.FSDirectory$FSIndexOutput.close(FSDirectory.java:458) ~[na:na]
        at org.apache.lucene.util.IOUtils.close(IOUtils.java:141) ~[na:na]
        at org.apache.lucene.index.FieldsWriter.close(FieldsWriter.java:139) ~[na:na]
        at org.apache.lucene.index.SegmentMerger.mergeFields(SegmentMerger.java:232) ~[na:na]
        at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:107) ~[na:na]
        at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4263) ~[na:na]
        at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3908) ~[na:na]
        at org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:388) ~[na:na]
        at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:456) ~[na:na]
like image 763
RCross Avatar asked Jun 07 '13 11:06

RCross


1 Answers

You should be aware that Lucene Index needs up to 3-5 times the disk space of the resulting index size while merging the indexes. So if the central index is 3 GB in result your disk should provide at least 15 GB free space.

like image 73
Frank Avatar answered Oct 23 '22 01:10

Frank