@Override public void close() throws IOException { this.mWriter.close(); CodecPool.returnCompressor(mCompressor); mCompressor = null; } }
@Override public void close() throws IOException { this.mWriter.close(); CodecPool.returnCompressor(mCompressor); mCompressor = null; } }
public void returnCompressor(Compressor compressor) { if (compressor != null) { if (LOG.isTraceEnabled()) LOG.trace("Returning compressor " + compressor + " to pool."); CodecPool.returnCompressor(compressor); } }
public void returnCompressor(Compressor compressor) { if (compressor != null) { if(LOG.isDebugEnabled()) { LOG.debug("Return a compressor: " + compressor.hashCode()); } CodecPool.returnCompressor(compressor); } }
@Override public void close() throws IOException { try { finish(); } finally { try { out.close(); } finally { if (trackedCompressor != null) { CodecPool.returnCompressor(trackedCompressor); trackedCompressor = null; } } } }
@Override public CompressedSliceOutput get() { try { compressor.reset(); bufferedOutput.reset(); CompressionOutputStream compressionStream = codec.createOutputStream(bufferedOutput, compressor); return new CompressedSliceOutput(compressionStream, bufferedOutput, this, () -> CodecPool.returnCompressor(compressor)); } catch (IOException e) { throw new UncheckedIOException(e); } } }
/** Close the file. */ @Override public synchronized void close() throws IOException { keySerializer.close(); uncompressedValSerializer.close(); if (compressedValSerializer != null) { compressedValSerializer.close(); } CodecPool.returnCompressor(compressor); compressor = null; if (out != null) { // Close the underlying stream iff we own it... if (ownOutputStream) { out.close(); } else { out.flush(); } out = null; } }
/** * Create an output stream with a codec taken from the global CodecPool. * * @param codec The codec to use to create the output stream. * @param conf The configuration to use if we need to create a new codec. * @param out The output stream to wrap. * @return The new output stream * @throws IOException */ static CompressionOutputStream createOutputStreamWithCodecPool( CompressionCodec codec, Configuration conf, OutputStream out) throws IOException { Compressor compressor = CodecPool.getCompressor(codec, conf); CompressionOutputStream stream = null; try { stream = codec.createOutputStream(out, compressor); } finally { if (stream == null) { CodecPool.returnCompressor(compressor); } else { stream.setTrackedCompressor(compressor); } } return stream; }
private void encodeCellsTo(OutputStream os, CellScanner cellScanner, Codec codec, CompressionCodec compressor) throws IOException { Compressor poolCompressor = null; try { if (compressor != null) { if (compressor instanceof Configurable) { ((Configurable) compressor).setConf(this.conf); } poolCompressor = CodecPool.getCompressor(compressor); os = compressor.createOutputStream(os, poolCompressor); } Codec.Encoder encoder = codec.getEncoder(os); while (cellScanner.advance()) { encoder.write(cellScanner.current()); } encoder.flush(); } catch (BufferOverflowException | IndexOutOfBoundsException e) { throw new DoNotRetryIOException(e); } finally { os.close(); if (poolCompressor != null) { CodecPool.returnCompressor(poolCompressor); } } }
@Override public void close() throws IOException { serializer.flush(); serializer.beforeClose(); if (!isFinished) { cmpOut.finish(); isFinished = true; } fsOut.flush(); hflushOrSync(fsOut); cmpOut.close(); if (compressor != null) { CodecPool.returnCompressor(compressor); compressor = null; } unregisterCurrentStream(); }
public void returnCompressor(Compressor compressor) { if (compressor != null) { log.debug("Return a compressor: {}", compressor.hashCode()); CodecPool.returnCompressor(compressor); } }
private void encodeCellsTo(OutputStream os, CellScanner cellScanner, Codec codec, CompressionCodec compressor) throws IOException { Compressor poolCompressor = null; try { if (compressor != null) { if (compressor instanceof Configurable) { ((Configurable) compressor).setConf(this.conf); } poolCompressor = CodecPool.getCompressor(compressor); os = compressor.createOutputStream(os, poolCompressor); } Codec.Encoder encoder = codec.getEncoder(os); while (cellScanner.advance()) { encoder.write(cellScanner.current()); } encoder.flush(); } catch (BufferOverflowException | IndexOutOfBoundsException e) { throw new DoNotRetryIOException(e); } finally { os.close(); if (poolCompressor != null) { CodecPool.returnCompressor(poolCompressor); } } }
public void returnCompressor(Compressor compressor) { if (compressor != null) { CodecPool.returnCompressor(compressor); } }
private void release() { if (compressor != null) { CodecPool.returnCompressor(compressor); } }
private void release() { if (compressor != null) { CodecPool.returnCompressor(compressor); } }
public void returnCompressor(Compressor compressor) { if (compressor != null) { if (LOG.isTraceEnabled()) LOG.trace("Returning compressor " + compressor + " to pool."); CodecPool.returnCompressor(compressor); } }
public void returnCompressor(Compressor compressor) { if (compressor != null) { if (LOG.isTraceEnabled()) LOG.trace("Returning compressor " + compressor + " to pool."); CodecPool.returnCompressor(compressor); } }
public void returnCompressor(Compressor compressor) { if (compressor != null) { LOG.debug("Return a compressor: " + compressor.hashCode()); CodecPool.returnCompressor(compressor); } }
public void returnCompressor(Compressor compressor) { if (compressor != null) { if(LOG.isDebugEnabled()) { LOG.debug("Return a compressor: " + compressor.hashCode()); } CodecPool.returnCompressor(compressor); } }
@Override public Boolean call() throws Exception { Compressor c = queue.take(); CodecPool.returnCompressor(c); return c != null; } };