Michael Blow has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/3386 )

Change subject: [ASTERIXDB-2597] Load UDFs via HTTP
......................................................................


Patch Set 12:

(14 comments)

https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/UdfApiServlet.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/UdfApiServlet.java:

https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/UdfApiServlet.java@56
PS12, Line 56:     public final String UDF_TMP_DIR_PREFIX = "udf_temp";
> MAJOR SonarQube violation:
+1


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/UdfApiServlet.java@57
PS12, Line 57:     public final int UDF_RESPONSE_TIMEOUT = 5000;
> MAJOR SonarQube violation:
+1


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/UdfApiServlet.java@96
PS12, Line 96:             raf = new RandomAccessFile(udf, "rw");
> BLOCKER SonarQube violation:
can we wrap this in a try w/ resources, then you can remove the fc.close() 
below I think...


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/UdfApiServlet.java@153
PS12, Line 153:             return;
should this be a bad request?


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/UdfApiServlet.java@153
PS12, Line 153:             return;
oh, i see this is done above- can we set it here so that we set the statuses 
all in one method?  (we set OK and 500 below).  Should we just throw 
IllegalArgumentException or something above and insert a catch clause below?


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalLibraryUtils.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalLibraryUtils.java:

https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalLibraryUtils.java@404
PS12, Line 404:             StringBuilder logMesg = new 
StringBuilder("Classpath for library " + dataverse + "\n");
              :             for (URL url : urls) {
              :                 logMesg.append(url.getFile() + "\n");
              :             }
              :             LOGGER.info(logMesg.toString());
multi line log entries complicates log post-processing, can we just create a 
list of files and emit a single-line for this?


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalUDFLibrarian.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalUDFLibrarian.java:

https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalUDFLibrarian.java@53
PS12, Line 53: http://"; + host + ":" + port
i wonder if there are IPv6 implications here


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/external/ExternalUDFLibrarian.java@66
PS12, Line 66: http://"; + host + ":" + port
same as above


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/LoadUdfMessage.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/LoadUdfMessage.java:

https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/LoadUdfMessage.java@59
PS12, Line 59:             } catch (Exception f) {
> CRITICAL SonarQube violation:
+1


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/library/ILibraryManager.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/library/ILibraryManager.java:

https://asterix-gerrit.ics.uci.edu/#/c/3386/12/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/library/ILibraryManager.java@33
PS12, Line 33:
rm


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/client/HyracksClientInterfaceFunctions.java
File 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/client/HyracksClientInterfaceFunctions.java:

https://asterix-gerrit.ics.uci.edu/#/c/3386/12/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/client/HyracksClientInterfaceFunctions.java@410
PS12, Line 410:         public boolean extractFromArchive() {
isExtract*


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/deployment/DeploymentUtils.java
File 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/deployment/DeploymentUtils.java:

https://asterix-gerrit.ics.uci.edu/#/c/3386/12/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/deployment/DeploymentUtils.java@109
PS12, Line 109:         String[] fileSplits = 
urls.get(0).getPath().split("\\.");
              :         String extension = fileSplits[fileSplits.length - 1];
+1


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/deployment/DeploymentUtils.java@252
PS12, Line 252:                             f.delete();
should we try/catch around this so we don't abort delete attempt on first 
failure?


https://asterix-gerrit.ics.uci.edu/#/c/3386/12/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/ipc/CCNCFunctions.java
File 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/ipc/CCNCFunctions.java:

https://asterix-gerrit.ics.uci.edu/#/c/3386/12/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/ipc/CCNCFunctions.java@1202
PS12, Line 1202:         public boolean extractFromArchive() {
isExtract*



--
To view, visit https://asterix-gerrit.ics.uci.edu/3386
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I6be9fef54c010bdb32f5c78af9b973f9843f442f
Gerrit-Change-Number: 3386
Gerrit-PatchSet: 12
Gerrit-Owner: Ian Maxon <[email protected]>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin <[email protected]>
Gerrit-Reviewer: Ian Maxon <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Michael Blow <[email protected]>
Gerrit-Reviewer: Till Westmann <[email protected]>
Gerrit-Comment-Date: Thu, 27 Jun 2019 15:53:10 +0000
Gerrit-HasComments: Yes

Reply via email to