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 ) ; } } }
Releases a block worker client to the client pools .