You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Sunil Govindan (JIRA)" <ji...@apache.org> on 2018/11/08 07:13:00 UTC

[jira] [Commented] (YARN-8763) Add WebSocket logic to the Node Manager web server to establish servlet

    [ https://issues.apache.org/jira/browse/YARN-8763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16679369#comment-16679369 ] 

Sunil Govindan commented on YARN-8763:
--------------------------------------

Hi [~eyang]

I am getting errors of undefined refererence from this commit and blocking 3.2.0 release.

It seems this patch is some how went in to 3.2.0, as my branch cut happened after this patch got committed in trunk.

[~vinodkv]  and [~leftnoteasy]

now {{mvn deploy -Psign -DskipTests -DskipShade}} fails for me because of below errors. It says, i can skip. But i want to be sure if i skip, whether some issue will happen to downstream projects which is going to use this jar.

I have 2 options:
 # revert this  patch from 3.2.0
 # fix this and add to 3.2.0

pls suggest ur thoughts.
{code:java}
[ERROR] Failed to execute goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.16:check (signature-check) on project hadoop-yarn-server-nodemanager: Signature errors found. Verify them and ignore them with the proper annotation if needed. -> [Help 1]{code}
{code:java}
[INFO] --- animal-sniffer-maven-plugin:1.16:check (signature-check) @ hadoop-yarn-server-nodemanager ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java18:1.0
[ERROR] /Users/sunilgovindan/Work/hadoop/commit/sb_trunk/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/classes/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerShellWebSocket.class:61: Undefined reference: boolean org.eclipse.jetty.websocket.api.Session.isOpen()
[ERROR] /Users/sunilgovindan/Work/hadoop/commit/sb_trunk/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/classes/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerShellWebSocket.class:71: Undefined reference: org.eclipse.jetty.websocket.api.RemoteEndpoint
[ERROR] /Users/sunilgovindan/Work/hadoop/commit/sb_trunk/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/classes/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerShellWebSocket.class:71: Undefined reference: org.eclipse.jetty.websocket.api.RemoteEndpoint org.eclipse.jetty.websocket.api.Session.getRemote()
[ERROR] /Users/sunilgovindan/Work/hadoop/commit/sb_trunk/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/classes/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerShellWebSocket.class:71: Undefined reference: void org.eclipse.jetty.websocket.api.RemoteEndpoint.sendString(String)
[ERROR] /Users/sunilgovindan/Work/hadoop/commit/sb_trunk/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/classes/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerShellWebSocket.class:81: Undefined reference: java.net.InetSocketAddress org.eclipse.jetty.websocket.api.Session.getRemoteAddress()
[ERROR] /Users/sunilgovindan/Work/hadoop/commit/sb_trunk/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/classes/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerShellWebSocket.class:84: Undefined reference: org.eclipse.jetty.websocket.api.UpgradeRequest
[ERROR] /Users/sunilgovindan/Work/hadoop/commit/sb_trunk/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/classes/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerShellWebSocket.class:84: Undefined reference: org.eclipse.jetty.websocket.api.UpgradeRequest org.eclipse.jetty.websocket.api.Session.getUpgradeRequest()
[ERROR] /Users/sunilgovindan/Work/hadoop/commit/sb_trunk/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/classes/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerShellWebSocket.class:84: Undefined reference: java.net.URI org.eclipse.jetty.websocket.api.UpgradeRequest.getRequestURI()
[ERROR] /Users/sunilgovindan/Work/hadoop/commit/sb_trunk/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/classes/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerShellWebSocket.class:103: Undefined reference: java.net.InetSocketAddress org.eclipse.jetty.websocket.api.Session.getRemoteAddress()
[ERROR] /Users/sunilgovindan/Work/hadoop/commit/sb_trunk/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/classes/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerShellWebSocketServlet.class:30: Undefined reference: void org.eclipse.jetty.websocket.servlet.WebSocketServlet.<init>()
[ERROR] /Users/sunilgovindan/Work/hadoop/commit/sb_trunk/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/classes/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerShellWebSocketServlet.class:34: Undefined reference: void org.eclipse.jetty.websocket.servlet.WebSocketServletFactory.register(Class){code}

> Add WebSocket logic to the Node Manager web server to establish servlet
> -----------------------------------------------------------------------
>
>                 Key: YARN-8763
>                 URL: https://issues.apache.org/jira/browse/YARN-8763
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Zian Chen
>            Assignee: Zian Chen
>            Priority: Major
>              Labels: Docker
>             Fix For: 3.3.0
>
>         Attachments: YARN-8763-001.patch, YARN-8763.002.patch, YARN-8763.003.patch, YARN-8763.004.patch, YARN-8763.005.patch
>
>
> The reason we want to use WebSocket servlet to serve the backend instead of establishing the connection through HTTP is that WebSocket solves a few issues with HTTP which needed for our scenario,
>  # In HTTP, the request is always initiated by the client and the response is processed by the server — making HTTP a unidirectional protocol, while web socket provides the Bi-directional protocol which means either client/server can send a message to the other party.
>  # Full-duplex communication — client and server can talk to each other independently at the same time
>  # Single TCP connection — After upgrading the HTTP connection in the beginning, client and server communicate over that same TCP connection throughout the lifecycle of WebSocket connection



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org