Add log when file is skipped because it was already published 88/110488/6
authorRemigiusz Janeczek <remigiusz.janeczek@nokia.com>
Thu, 23 Jul 2020 11:00:25 +0000 (13:00 +0200)
committerRemigiusz Janeczek <remigiusz.janeczek@nokia.com>
Tue, 28 Jul 2020 13:01:17 +0000 (15:01 +0200)
Issue-ID: DCAEGEN2-2366
Signed-off-by: Remigiusz Janeczek <remigiusz.janeczek@nokia.com>
Change-Id: I913b887833e412dd9c0093936a9231d37f63e7d1

datafile-app-server/src/main/java/org/onap/dcaegen2/collectors/datafile/tasks/ScheduledTasks.java

index de45da3..42a6fea 100644 (file)
@@ -220,17 +220,26 @@ public class ScheduledTasks {
 
     private boolean shouldBePublished(FileDataWithContext fileData) {
         Path localFilePath = fileData.fileData.getLocalFilePath();
-        if (publishedFilesCache.put(localFilePath) == null) {
-            try {
-                return !createPublishedChecker().isFilePublished(fileData.fileData.name(),
+        boolean shouldBePublished = (publishedFilesCache.put(localFilePath) == null);
+        if (shouldBePublished) {
+            shouldBePublished = checkIfFileIsNotPublishedInDataRouter(fileData);
+        }
+
+        if (!shouldBePublished) {
+            logger.debug("File: {} is being processed or was already published. Skipping.", fileData.fileData.name());
+        }
+        return shouldBePublished;
+    }
+
+    private boolean checkIfFileIsNotPublishedInDataRouter(FileDataWithContext fileData) {
+        boolean isNotPublished = true;
+        try {
+            isNotPublished = !createPublishedChecker().isFilePublished(fileData.fileData.name(),
                     fileData.fileData.messageMetaData().changeIdentifier(), fileData.context);
-            } catch (DatafileTaskException e) {
-                logger.error("Cannot check if a file {} is published", fileData.fileData.name(), e);
-                return true; // Publish it then
-            }
-        } else {
-            return false;
+        } catch (DatafileTaskException e) {
+            logger.error("Cannot check if a file {} is published", fileData.fileData.name(), e);
         }
+        return isNotPublished;
     }
 
     private Mono<FilePublishInformation> fetchFile(FileDataWithContext fileData) {