2014-11-13 2 views
1

В нашем выпуске Linux мы получаем FileNotFoundException, в котором добавлено дополнительное сообщение «Нет места на устройстве».FileNotFoundException - на устройстве нет места

Я читал здесь и там в Интернете, что проблема может быть связана с подсчетом inodes, но, похоже, это не проблема. Наши администраторы системы подтверждают, что у нас достаточно inodes.

Что еще может быть ?! Я копаю в этом уже 2 дня.

При необходимости я могу предоставить любую дополнительную информацию. Заранее спасибо.

Вот точная трассировка стека.

13 Nov 2014 10:09:32 ERROR error:113 - Failed to move file: /wr/data/import/xml/YC00210097_ba7b688c-6b46-11e4-b8e8-07cc96f6b24f_1415891227642.xml. 
java.io.FileNotFoundException: /wr/data/import/processeddir/YC00210097_ba7b688c-6b46-11e4-b8e8-07cc96f6b24f_1415891227642_2014_11_13_10_09_32_241.xml (No space left on device) 
    at java.io.FileOutputStream.open(Native Method) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:194) 
    at java.io.FileOutputStream.<init>(FileOutputStream.java:145) 
    at org.apache.commons.io.FileUtils.doCopyFile(FileUtils.java:671) 
    at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:653) 
    at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:607) 
    at org.apache.commons.io.FileUtils.moveFile(FileUtils.java:1818) 
    at com.yellowbook.util.YBFileIterator.finished(YBFileIterator.java:105) 
    at com.yellowbook.diadexchange.exchangejob.ImportJob.execute(ImportJob.java:279) 
    at com.yellowbook.scheduling.diadexchange.JobExchangeScheduler.executeImportJob(JobExchangeScheduler.java:34) 
    at sun.reflect.GeneratedMethodAccessor167.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273) 
    at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:311) 
    at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:113) 
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202) 
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529) 
+0

Осталось ли у устройства достаточно свободного места? – Sizik

+0

, у вас может быть много доступных инодов, и STILL не имеет места, например. 100-гигабайтный диск с одним 100-гигабайтным файлом будет содержать множество инодов и вообще не будет места. –

+0

@Sizik Да, это первое, что проверили администраторы sys: у нас достаточно свободного места на диске и достаточно инодов, говорят они. –

ответ

1

Ошибка при подсчете файлов в processeddir. Таким образом, мы получили это (казалось бы, запутывающее) FileNotFoundException, потому что в целевом каталоге было слишком много файлов. После того как мы заархивировали большое подмножество этих файлов в сжатый (но единственный) файл, исключение исчезло.