From abb22a08f52ad869665eea5218561749542d6d79 Mon Sep 17 00:00:00 2001 From: "Francois @fanf42 Armand" Date: Mon, 18 Jul 2022 14:15:01 +0200 Subject: [PATCH] Fixes #21423: error when processing inventories in 7.2 --- .../rudder/inventory/InventoryFileWatcher.scala | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/webapp/sources/rudder/rudder-core/src/main/scala/com/normation/rudder/inventory/InventoryFileWatcher.scala b/webapp/sources/rudder/rudder-core/src/main/scala/com/normation/rudder/inventory/InventoryFileWatcher.scala index 2f830854839..a0f7ad1996e 100644 --- a/webapp/sources/rudder/rudder-core/src/main/scala/com/normation/rudder/inventory/InventoryFileWatcher.scala +++ b/webapp/sources/rudder/rudder-core/src/main/scala/com/normation/rudder/inventory/InventoryFileWatcher.scala @@ -278,7 +278,7 @@ object Watchers { * This event assume the file if fully written and avoid the inotify event queue. */ trait HandleIncomingInventoryFile { - def addFilePure(file: File): UIO[Unit] + def addFilePure(file: File): IOResult[Unit] def addFile(file: File): Unit } @@ -313,7 +313,9 @@ class ProcessOldFiles( } def addFiles(files: List[File]): UIO[Unit] = { - ZIO.foreach_(files)(fileProcessor.addFilePure) + ZIO.foreach_(files)(file => fileProcessor.addFilePure(file).catchAll(err => + InventoryProcessingLogger.error(s"Error when processing old inventory file '${file.path}': ${err.fullMsg}") + )) } def deleteFiles(files: List[ToClean]): UIO[Unit] = { @@ -533,12 +535,14 @@ class ProcessFile( //start the process ZioRuntime.internal.unsafeRunSync(processMessage().forever.forkDaemon) - def addFilePure(file: File): UIO[Unit] = { - processFile(file).catchAll(err => InventoryProcessingLogger.error(s"Error when adding file '${file.path}' to direct processing")) + def addFilePure(file: File): IOResult[Unit] = { + processFile(file) } def addFile(file: File): Unit = { - ZioRuntime.internal.unsafeRunSync(addFilePure(file)) + ZioRuntime.internal.unsafeRunSync(addFilePure(file).catchAll(err => + InventoryProcessingLogger.error(s"Error when adding new inventory file '${file.path}' to processing: ${err.fullMsg}") + )) } /*