Skip to content
  • Marcelo Vanzin's avatar
    71d1c907
    [SPARK-10997][CORE] Add "client mode" to netty rpc env. · 71d1c907
    Marcelo Vanzin authored
    "Client mode" means the RPC env will not listen for incoming connections.
    This allows certain processes in the Spark stack (such as Executors or
    tha YARN client-mode AM) to act as pure clients when using the netty-based
    RPC backend, reducing the number of sockets needed by the app and also the
    number of open ports.
    
    Client connections are also preferred when endpoints that actually have
    a listening socket are involved; so, for example, if a Worker connects
    to a Master and the Master needs to send a message to a Worker endpoint,
    that client connection will be used, even though the Worker is also
    listening for incoming connections.
    
    With this change, the workaround for SPARK-10987 isn't necessary anymore, and
    is removed. The AM connects to the driver in "client mode", and that connection
    is used for all driver <-> AM communication, and so the AM is properly notified
    when the connection goes down.
    
    Author: Marcelo Vanzin <vanzin@cloudera.com>
    
    Closes #9210 from vanzin/SPARK-10997.
    71d1c907
    [SPARK-10997][CORE] Add "client mode" to netty rpc env.
    Marcelo Vanzin authored
    "Client mode" means the RPC env will not listen for incoming connections.
    This allows certain processes in the Spark stack (such as Executors or
    tha YARN client-mode AM) to act as pure clients when using the netty-based
    RPC backend, reducing the number of sockets needed by the app and also the
    number of open ports.
    
    Client connections are also preferred when endpoints that actually have
    a listening socket are involved; so, for example, if a Worker connects
    to a Master and the Master needs to send a message to a Worker endpoint,
    that client connection will be used, even though the Worker is also
    listening for incoming connections.
    
    With this change, the workaround for SPARK-10987 isn't necessary anymore, and
    is removed. The AM connects to the driver in "client mode", and that connection
    is used for all driver <-> AM communication, and so the AM is properly notified
    when the connection goes down.
    
    Author: Marcelo Vanzin <vanzin@cloudera.com>
    
    Closes #9210 from vanzin/SPARK-10997.
Loading