Uploaded image for project: 'Archiva'
  1. Archiva
  2. MRM-1628

Silently ignore request to delete artifacts that does not exist on disk anymore

    XMLWordPrintableJSON

Details

    • Wish
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.3.5
    • 1.4-M3
    • None
    • None
    • Patch

    Description

      I have a snapshot repository that grew very large with a huge number of artifacts due to a misconfiguration on the repository purger. As a quick fix I removed the artifacts directly on the filesystem of the the snapshot repository.

      After correcting the repository purge config I got ERROR level log messages that stated:

      Unable to delete non-existing project directory:

      And the error seems to reoccur every time the snapshot purge was executed (some kind of rollback?).

      The attached patch removes the throw clause (it mostly seems to add verbosity to the system?) Maybe the exception should be caught instead, somewhere further up the food chain. It wasn't obvious to me where it would be apropriate though. Thus the quick fix of not throwing the Exception at all.

      Here's the stacktrace:

      2012-05-04 18:38:01,787 [pool-2-thread-1] ERROR org.apache.maven.archiva.repository.scanner.functors.ConsumerProcessFileClosure - Consumer [repository-purge
      ] had an error when processing file [/home/archiva/archiva-base/data/repository/foo-snapshot/com/example/foo/1.6.4-SNAPSHOT/foo-1.6.4-20100826.134549-1.pom]: Unable to delete non-existing project directory.
      org.apache.maven.archiva.consumers.ConsumerException: Unable to delete non-existing project directory.
      at org.apache.maven.archiva.consumers.core.repository.RepositoryPurgeConsumer.processFile(RepositoryPurgeConsumer.java:180)
      at org.apache.maven.archiva.consumers.core.repository.RepositoryPurgeConsumer.processFile(RepositoryPurgeConsumer.java:187)
      at org.apache.maven.archiva.repository.scanner.functors.ConsumerProcessFileClosure.execute(ConsumerProcessFileClosure.java:61)
      at org.apache.commons.collections.functors.IfClosure.execute(IfClosure.java:117)
      at org.apache.commons.collections.CollectionUtils.forAllDo(CollectionUtils.java:388)
      at org.apache.maven.archiva.repository.scanner.RepositoryScannerInstance.directoryWalkStep(RepositoryScannerInstance.java:161)
      at org.codehaus.plexus.util.DirectoryWalker.fireStep(DirectoryWalker.java:174)
      at org.codehaus.plexus.util.DirectoryWalker.scanDir(DirectoryWalker.java:392)
      at org.codehaus.plexus.util.DirectoryWalker.scanDir(DirectoryWalker.java:386)
      at org.codehaus.plexus.util.DirectoryWalker.scanDir(DirectoryWalker.java:386)
      at org.codehaus.plexus.util.DirectoryWalker.scanDir(DirectoryWalker.java:386)
      at org.codehaus.plexus.util.DirectoryWalker.scanDir(DirectoryWalker.java:386)
      at org.codehaus.plexus.util.DirectoryWalker.scanDir(DirectoryWalker.java:386)
      at org.codehaus.plexus.util.DirectoryWalker.scanDir(DirectoryWalker.java:386)
      at org.codehaus.plexus.util.DirectoryWalker.scan(DirectoryWalker.java:345)
      at org.apache.maven.archiva.repository.scanner.DefaultRepositoryScanner.scan(DefaultRepositoryScanner.java:125)
      at org.apache.maven.archiva.repository.scanner.DefaultRepositoryScanner.scan(DefaultRepositoryScanner.java:67)
      at org.apache.maven.archiva.scheduled.executors.ArchivaRepositoryScanningTaskExecutor.executeTask(ArchivaRepositoryScanningTaskExecutor.java:141)
      at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
      ...

      Attachments

        1. archiva.patch
          2 kB
          Fredrik Jonson

        Activity

          People

            olamy Olivier Lamy
            fredrikj Fredrik Jonson
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: