code: public void releaseBlockWorkerClient(WorkerNetAddress workerNetAddress,
        BlockWorkerClient client) {
      SocketAddress address = NetworkAddressUtils.getDataPortSocketAddress(workerNetAddress,
          getClusterConf());
      ClientPoolKey key = new ClientPoolKey(address, AuthenticationUserUtils.getImpersonationUser(
          mClientContext.getSubject(), getClusterConf()));
      if (mBlockWorkerClientPool.containsKey(key)) {
        mBlockWorkerClientPool.get(key).release(client);
      } else {
        LOG.warn("No client pool for key {}, closing client instead. Context is closed: {}",
            key, mClosed.get());
        try {
          client.close();
        } catch (IOException e) {
          LOG.warn("Error closing block worker client for key {}", key, e);
        }
      }
    }
docs: Releases a block worker client to the client pools.
  
  @param workerNetAddress the address of the channel
  @param client the client to release