>From Ian Maxon <[email protected]>:

Ian Maxon has submitted this change. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/13587 )

Change subject: [ASTERIXDB-2972][RT] Properly set UDF distribution host
......................................................................

[ASTERIXDB-2972][RT] Properly set UDF distribution host

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

    Details:

    - Set the download host for UDF distribution to be
      the node that recieved the UDF
    - Fix incorrect message response class for error
      conditions during UDF deployment

Change-Id: I7de293d236909da67c98306250d4bda5e65f7110
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/13587
Integration-Tests: Jenkins <[email protected]>
Tested-by: Jenkins <[email protected]>
Reviewed-by: Dmitry Lychagin <[email protected]>
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/AbstractNCUdfServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AbstractInternalRequestMessage.java
2 files changed, 13 insertions(+), 13 deletions(-)

Approvals:
  Dmitry Lychagin: Looks good to me, approved
  Jenkins: Verified; Verified



diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/AbstractNCUdfServlet.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/AbstractNCUdfServlet.java
index 5a3cde6..9c8cc5e 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/AbstractNCUdfServlet.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/AbstractNCUdfServlet.java
@@ -18,7 +18,6 @@
  */
 package org.apache.asterix.api.http.server;

-import static 
org.apache.asterix.api.http.server.ServletConstants.HYRACKS_CONNECTION_ATTR;
 import static 
org.apache.asterix.common.functions.ExternalFunctionLanguage.JAVA;
 import static 
org.apache.asterix.common.functions.ExternalFunctionLanguage.PYTHON;

@@ -41,8 +40,8 @@
 import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
 import org.apache.hyracks.algebricks.common.utils.Pair;
 import org.apache.hyracks.api.application.INCServiceContext;
-import org.apache.hyracks.api.client.IHyracksClientConnection;
 import org.apache.hyracks.api.exceptions.IFormattedException;
+import org.apache.hyracks.control.common.controllers.NCConfig;
 import org.apache.hyracks.control.common.work.SynchronizableWork;
 import org.apache.hyracks.control.nc.NodeControllerService;
 import org.apache.hyracks.http.api.IServletResponse;
@@ -134,19 +133,11 @@
     }

     URI createDownloadURI(Path file) throws Exception {
+        String host = 
appCtx.getServiceContext().getAppConfig().getString(NCConfig.Option.PUBLIC_ADDRESS);
         String path = paths[0].substring(0, servletPathLengths[0]) + 
GET_UDF_DIST_ENDPOINT + '/' + file.getFileName();
-        String host = getHyracksClientConnection().getHost();
         return new URI(httpServerProtocol.toString(), null, host, 
httpServerPort, path, null, null);
     }

-    IHyracksClientConnection getHyracksClientConnection() throws Exception { 
// NOSONAR
-        IHyracksClientConnection hcc = (IHyracksClientConnection) 
ctx.get(HYRACKS_CONNECTION_ATTR);
-        if (hcc == null) {
-            throw new RuntimeDataException(ErrorCode.PROPERTY_NOT_SET, 
HYRACKS_CONNECTION_ATTR);
-        }
-        return hcc;
-    }
-
     private boolean isNotAttribute(InterfaceHttpData field) {
         return field == null || 
!field.getHttpDataType().equals(InterfaceHttpData.HttpDataType.Attribute);
     }
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AbstractInternalRequestMessage.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AbstractInternalRequestMessage.java
index ce95f5b..7d58e4e 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AbstractInternalRequestMessage.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AbstractInternalRequestMessage.java
@@ -80,8 +80,7 @@
         final RuntimeDataException rejectionReason =
                 ExecuteStatementRequestMessage.getRejectionReason(ccSrv, 
nodeRequestId);
         if (rejectionReason != null) {
-            ExecuteStatementRequestMessage.sendRejection(rejectionReason, 
messageBroker, requestMessageId,
-                    nodeRequestId);
+            sendRejection(rejectionReason, messageBroker, requestMessageId, 
nodeRequestId);
             return;
         }
         CCExtensionManager ccExtMgr = (CCExtensionManager) 
ccAppCtx.getExtensionManager();
@@ -120,4 +119,14 @@

     protected abstract Statement produceStatement();

+    private void sendRejection(Exception reason, CCMessageBroker 
messageBroker, long requestMessageId,
+            String requestNodeId) {
+        InternalRequestResponse msg = new 
InternalRequestResponse(requestMessageId);
+        msg.setError(reason);
+        try {
+            messageBroker.sendApplicationMessageToNC(msg, requestNodeId);
+        } catch (Exception e) {
+            LOGGER.log(Level.WARN, e.toString(), e);
+        }
+    }
 }

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/13587
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I7de293d236909da67c98306250d4bda5e65f7110
Gerrit-Change-Number: 13587
Gerrit-PatchSet: 15
Gerrit-Owner: Ian Maxon <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <[email protected]>
Gerrit-Reviewer: Hussain Towaileb <[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-Reviewer: Wael Alkowaileet <[email protected]>
Gerrit-MessageType: merged

Reply via email to