[NO ISSUE][EXT]: External Library fixes

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
Address remaining comments to:
- Clean up local disk when deleting libraries
- Don't touch library file if already present

Change-Id: I9ba13e7afc54ddd08f5e522627c56d11f51ca4a9
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19447
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Ian Maxon <imaxon@apache.org>
Reviewed-by: Peeyush Gupta <peeyush.gupta@couchbase.com>
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java
index 76d91cf..02a99f6 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java
@@ -239,7 +239,9 @@
         if (!libDir.getFile().exists()) {
             Files.createDirectories(lib.getFile().toPath().getParent());
         }
-        Files.createFile(lib.getFile().toPath());
+        if (!lib.getFile().exists()) {
+            Files.createFile(lib.getFile().toPath());
+        }
         IFileHandle fh = cloudIoMgr.open(lib, IIOManager.FileReadWriteMode.READ_WRITE,
                 IIOManager.FileSyncMode.METADATA_ASYNC_DATA_ASYNC);
         WritableByteChannel outChannel = cloudIoMgr.newWritableChannel(fh);
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalLibraryManager.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalLibraryManager.java
index 4debc8f..f15e96f 100755
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalLibraryManager.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalLibraryManager.java
@@ -516,14 +516,13 @@
             if (ncs.getConfiguration().isCloudDeployment()) {
                 ioManager.delete(fileRef.getChild(LIBRARY_ARCHIVE_NAME));
                 ioManager.delete(fileRef.getChild(DESCRIPTOR_FILE_NAME));
-            } else {
-                Path trashPath = Files.createTempDirectory(trashDirPath, null);
-                if (LOGGER.isDebugEnabled()) {
-                    LOGGER.debug("Drop (move) {} into {}", path, trashPath);
-                }
-                Files.move(path, trashPath, StandardCopyOption.ATOMIC_MOVE);
-                ncs.getWorkQueue().schedule(new DeleteDirectoryWork(trashPath));
             }
+            Path trashPath = Files.createTempDirectory(trashDirPath, null);
+            if (LOGGER.isDebugEnabled()) {
+                LOGGER.debug("Drop (move) {} into {}", path, trashPath);
+            }
+            Files.move(path, trashPath, StandardCopyOption.ATOMIC_MOVE);
+            ncs.getWorkQueue().schedule(new DeleteDirectoryWork(trashPath));
         } catch (IOException e) {
             throw HyracksDataException.create(e);
         }