diff --git a/common-utitlities/src/main/java/org/eea/datalake/service/impl/DremioHelperServiceImpl.java b/common-utitlities/src/main/java/org/eea/datalake/service/impl/DremioHelperServiceImpl.java index cda5f2ef50..9765a9f826 100644 --- a/common-utitlities/src/main/java/org/eea/datalake/service/impl/DremioHelperServiceImpl.java +++ b/common-utitlities/src/main/java/org/eea/datalake/service/impl/DremioHelperServiceImpl.java @@ -85,7 +85,14 @@ public String getAuthToken() { @Override public boolean checkFolderPromoted(S3PathResolver s3PathResolver, String folderName) { - DremioDirectoryItemsResponse directoryItems = getDirectoryItems(s3PathResolver, folderName); + DremioDirectoryItemsResponse directoryItems; + try { + directoryItems = getDirectoryItems(s3PathResolver, folderName); + } catch (Exception e) { + LOG.warn("Could not get directory items for folder {}", folderName, e); + return false; + } + if (directoryItems!=null) { Integer itemPosition; if (S3_IMPORT_FILE_PATH.equals(s3PathResolver.getPath())) { @@ -149,7 +156,14 @@ public DremioDirectoryItemsResponse getDirectoryItems(S3PathResolver s3PathResol @Override public String getFolderId(S3PathResolver s3PathResolver, String folderName) { String folderId = null; - DremioDirectoryItemsResponse directoryItems = getDirectoryItems(s3PathResolver, folderName); + DremioDirectoryItemsResponse directoryItems; + try { + directoryItems = getDirectoryItems(s3PathResolver, folderName); + } catch (Exception e) { + LOG.warn("Could not retrieve directory items for datasetId" + s3PathResolver.getDatasetId(), e); + return null; + } + if (directoryItems!=null) { Integer itemPosition; if (S3_IMPORT_FILE_PATH.equals(s3PathResolver.getPath())) { @@ -211,6 +225,11 @@ public void promoteFolderOrFile(S3PathResolver s3PathResolver, String folderName throw new RuntimeException(e); } } + + if (folderId == null) { + throw new DremioApiException("Could not retrieve folder id for datasetId " + + s3PathResolver.getDatasetId() + " and folder " + folderName); + } try { dremioApiController.promote(token, folderId, requestBody);