Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.27.0
-
Fix Version/s: 3.29.0
-
Component/s: import-export
-
Notability:3
Description
If the component database contains a reference to a blob file that doesn't exist on disk it causes the repository export task to fail with a NullPointerException:
2020-09-15 11:18:01,486-0400 ERROR [quartz-9-thread-9] *SYSTEM com.sonatype.nexus.exportimport.internal.exporttask.RepositoryExportTask - Failed to run task 'Repository - Export assets' on repository '3rd-party'
java.lang.RuntimeException: Export of repository 3rd-party into failed
at com.sonatype.nexus.exportimport.internal.exporttask.RepositoryExportService.doExport(RepositoryExportService.java:152)
at com.sonatype.nexus.exportimport.internal.exporttask.RepositoryExportTask.execute(RepositoryExportTask.java:58)
at org.sonatype.nexus.repository.RepositoryTaskSupport.execute(RepositoryTaskSupport.java:79)
at org.sonatype.nexus.scheduling.TaskSupport.call(TaskSupport.java:100)
at org.sonatype.nexus.quartz.internal.task.QuartzTaskJob.doExecute(QuartzTaskJob.java:143)
at org.sonatype.nexus.quartz.internal.task.QuartzTaskJob.execute(QuartzTaskJob.java:106)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.sonatype.nexus.quartz.internal.QuartzThreadPool.lambda$0(QuartzThreadPool.java:145)
at org.sonatype.nexus.thread.internal.MDCAwareRunnable.run(MDCAwareRunnable.java:40)
at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120)
at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null
at com.sonatype.nexus.exportimport.internal.exporttask.RepositoryExportService.exportAsset(RepositoryExportService.java:237)
at com.sonatype.nexus.exportimport.internal.exporttask.RepositoryExportService.walkPage(RepositoryExportService.java:219)
at com.sonatype.nexus.exportimport.internal.exporttask.RepositoryExportService.walkAssets(RepositoryExportService.java:169)
at com.sonatype.nexus.exportimport.internal.exporttask.RepositoryExportService.doExport(RepositoryExportService.java:143)
... 15 common frames omitted
Expected: We should log a warning, and keep going.