code: public void registerWithShuffleServer(
        String host,
        int port,
        String execId,
        ExecutorShuffleInfo executorInfo) throws IOException, InterruptedException {
      checkInit();
      try (TransportClient client = clientFactory.createUnmanagedClient(host, port)) {
        ByteBuffer registerMessage = new RegisterExecutor(appId, execId, executorInfo).toByteBuffer();
        client.sendRpcSync(registerMessage, registrationTimeoutMs);
      }
    }
docs: Registers this executor with an external shuffle server. This registration is required to
  inform the shuffle server about where and how we store our shuffle files.
  
  @param host Host of shuffle server.
  @param port Port of shuffle server.
  @param execId This Executor's id.
  @param executorInfo Contains all info necessary for the service to find our shuffle files.