@Override public void notifySubpartitionConsumed() { releaseAllResources(); }
@Override public void notifySubpartitionConsumed() { releaseAllResources(); }
@Override public void notifySubpartitionConsumed() { releaseAllResources(); }
@Override public void notifySubpartitionConsumed() { releaseAllResources(); }
@Override public void release() { // view reference accessible outside the lock, but assigned inside the locked scope final PipelinedSubpartitionView view; synchronized (buffers) { if (isReleased) { return; } // Release all available buffers Buffer buffer; while ((buffer = buffers.poll()) != null) { buffer.recycle(); } // Get the view... view = readView; readView = null; // Make sure that no further buffers are added to the subpartition isReleased = true; } LOG.debug("Released {}.", this); // Release all resources of the view if (view != null) { view.releaseAllResources(); } }
@Override public void release() { // view reference accessible outside the lock, but assigned inside the locked scope final PipelinedSubpartitionView view; synchronized (buffers) { if (isReleased) { return; } // Release all available buffers for (BufferConsumer buffer : buffers) { buffer.close(); } buffers.clear(); view = readView; readView = null; // Make sure that no further buffers are added to the subpartition isReleased = true; } LOG.debug("Released {}.", this); if (view != null) { view.releaseAllResources(); } }
@Override public void release() { // view reference accessible outside the lock, but assigned inside the locked scope final PipelinedSubpartitionView view; synchronized (buffers) { if (isReleased) { return; } // Release all available buffers for (BufferConsumer buffer : buffers) { buffer.close(); } buffers.clear(); view = readView; readView = null; // Make sure that no further buffers are added to the subpartition isReleased = true; } LOG.debug("{}: Released {}.", parent.getOwningTaskName(), this); if (view != null) { view.releaseAllResources(); } }
@Override public void release() { // view reference accessible outside the lock, but assigned inside the locked scope final PipelinedSubpartitionView view; synchronized (buffers) { if (isReleased) { return; } // Release all available buffers for (BufferConsumer buffer : buffers) { buffer.close(); } buffers.clear(); view = readView; readView = null; // Make sure that no further buffers are added to the subpartition isReleased = true; } LOG.debug("{}: Released {}.", parent.getOwningTaskName(), this); if (view != null) { view.releaseAllResources(); } }