/** * Releases all received buffers and closes the partition request client. */ @Override void releaseAllResources() throws IOException { if (isReleased.compareAndSet(false, true)) { synchronized (receivedBuffers) { Buffer buffer; while ((buffer = receivedBuffers.poll()) != null) { buffer.recycle(); } } // The released flag has to be set before closing the connection to ensure that // buffers received concurrently with closing are properly recycled. if (partitionRequestClient != null) { partitionRequestClient.close(this); } else { connectionManager.closeOpenChannelConnections(connectionId); } } }
partitionRequestClient.close(this); } else { connectionManager.closeOpenChannelConnections(connectionId);
partitionRequestClient.close(this); } else { connectionManager.closeOpenChannelConnections(connectionId);
partitionRequestClient.close(this); } else { connectionManager.closeOpenChannelConnections(connectionId);