@Override public void clearAllMemory(List<MemorySegment> target) { if (initialBuildSideChannel != null) { try { this.initialBuildSideWriter.closeAndDelete(); } catch (IOException ioex) { throw new RuntimeException("Error deleting the partition files. Some temporary files might not be removed."); } } super.clearAllMemory(target); }
@Override public void clearAllMemory(List<MemorySegment> target) { if (initialBuildSideChannel != null) { try { this.initialBuildSideWriter.closeAndDelete(); } catch (IOException ioex) { throw new RuntimeException("Error deleting the partition files. Some temporary files might not be removed."); } } super.clearAllMemory(target); }
@Override public void clearAllMemory(List<MemorySegment> target) { if (initialBuildSideChannel != null) { try { this.initialBuildSideWriter.closeAndDelete(); } catch (IOException ioex) { throw new RuntimeException("Error deleting the partition files. Some temporary files might not be removed."); } } super.clearAllMemory(target); }
@Override public void clearAllMemory(List<MemorySegment> target) { if (initialBuildSideChannel != null) { try { this.initialBuildSideWriter.closeAndDelete(); } catch (IOException ioex) { throw new RuntimeException("Error deleting the partition files. Some temporary files might not be removed."); } } super.clearAllMemory(target); }
public List<MemorySegment> close() { if (currentWriter != null) { try { currentWriter.closeAndDelete(); } catch (Throwable t) { // do nothing } } List<MemorySegment> freeMem = new ArrayList<MemorySegment>(64); // add all memory allocated to the write end freeMem.add(getCurrentSegment()); clear(); freeMem.addAll(fullBuffers); fullBuffers = null; // add memory from non-exhausted read ends try { for (int i = readEnds.size() - 1; i >= 0; --i) { final ReadEnd re = readEnds.remove(i); re.forceDispose(freeMem); } // release all empty segments while (freeMem.size() < totalNumBuffers) { freeMem.add(emptyBuffers.take()); } } catch (InterruptedException e) { throw new RuntimeException("Retrieving memory back from asynchronous I/O was interrupted.", e); } return freeMem; }
public List<MemorySegment> close() { if (currentWriter != null) { try { currentWriter.closeAndDelete(); } catch (Throwable t) { // do nothing } } List<MemorySegment> freeMem = new ArrayList<MemorySegment>(64); // add all memory allocated to the write end freeMem.add(getCurrentSegment()); clear(); freeMem.addAll(fullBuffers); fullBuffers = null; // add memory from non-exhausted read ends try { for (int i = readEnds.size() - 1; i >= 0; --i) { final ReadEnd re = readEnds.remove(i); re.forceDispose(freeMem); } // release all empty segments while (freeMem.size() < totalNumBuffers) { freeMem.add(emptyBuffers.take()); } } catch (InterruptedException e) { throw new RuntimeException("Retrieving memory back from asynchronous I/O was interrupted.", e); } return freeMem; }
public List<MemorySegment> close() { if (currentWriter != null) { try { currentWriter.closeAndDelete(); } catch (Throwable t) { // do nothing } } List<MemorySegment> freeMem = new ArrayList<MemorySegment>(64); // add all memory allocated to the write end freeMem.add(getCurrentSegment()); clear(); freeMem.addAll(fullBuffers); fullBuffers = null; // add memory from non-exhausted read ends try { for (int i = readEnds.size() - 1; i >= 0; --i) { final ReadEnd re = readEnds.remove(i); re.forceDispose(freeMem); } // release all empty segments while (freeMem.size() < totalNumBuffers) { freeMem.add(emptyBuffers.take()); } } catch (InterruptedException e) { throw new RuntimeException("Retrieving memory back from asynchronous I/O was interrupted.", e); } return freeMem; }
public List<MemorySegment> close() { if (currentWriter != null) { try { currentWriter.closeAndDelete(); } catch (Throwable t) { // do nothing } } List<MemorySegment> freeMem = new ArrayList<MemorySegment>(64); // add all memory allocated to the write end freeMem.add(getCurrentSegment()); clear(); freeMem.addAll(fullBuffers); fullBuffers = null; // add memory from non-exhausted read ends try { for (int i = readEnds.size() - 1; i >= 0; --i) { final ReadEnd re = readEnds.remove(i); re.forceDispose(freeMem); } // release all empty segments while (freeMem.size() < totalNumBuffers) { freeMem.add(emptyBuffers.take()); } } catch (InterruptedException e) { throw new RuntimeException("Retrieving memory back from asynchronous I/O was interrupted.", e); } return freeMem; }
segments.add(this.writer.getNextReturnedBlock()); this.writer.closeAndDelete(); this.writer = null;
segments.add(this.writer.getNextReturnedBlock()); this.writer.closeAndDelete(); this.writer = null;
segments.add(this.writer.getNextReturnedBlock()); this.writer.closeAndDelete(); this.writer = null;
segments.add(this.writer.getNextReturnedBlock()); this.writer.closeAndDelete(); this.writer = null;
private void spill() throws IOException { FileIOChannel.ID channel = ioManager.createChannel(); final BlockChannelWriter<MemorySegment> writer = this.ioManager.createBlockChannelWriter(channel); int numRecordBuffers = inMemoryBuffer.getNumRecordBuffers(); ArrayList<MemorySegment> segments = inMemoryBuffer.getRecordBufferSegments(); try { // spill in memory buffer in zero-copy. for (int i = 0; i < numRecordBuffers; i++) { writer.writeBlock(segments.get(i)); } LOG.info("here spill the reset buffer data with {} bytes", writer.getSize()); writer.close(); } catch (IOException e) { writer.closeAndDelete(); throw e; } spillSize += numRecordBuffers * segmentSize; channelIDs.add(new ChannelWithMeta( channel, inMemoryBuffer.getNumRecordBuffers(), inMemoryBuffer.getNumBytesInLastBuffer())); this.numRowsUntilThisChannel.add(numRows); inMemoryBuffer.reset(); }
private void close(boolean delete) throws IOException { try { // send off set last segment, if we have not been closed before MemorySegment current = getCurrentSegment(); if (current != null) { writeSegment(current, getCurrentPositionInSegment()); } clear(); if (delete) { writer.closeAndDelete(); } else { writer.close(); } } finally { memManager.release(memory); } }
private void close(boolean delete) throws IOException { try { // send off set last segment, if we have not been closed before MemorySegment current = getCurrentSegment(); if (current != null) { writeSegment(current, getCurrentPositionInSegment()); } clear(); if (delete) { writer.closeAndDelete(); } else { writer.close(); } } finally { memManager.release(memory); } }
private void close(boolean delete) throws IOException { try { // send off set last segment, if we have not been closed before MemorySegment current = getCurrentSegment(); if (current != null) { writeSegment(current, getCurrentPositionInSegment()); } clear(); if (delete) { writer.closeAndDelete(); } else { writer.close(); } } finally { memManager.release(memory); } }
private void close(boolean delete) throws IOException { try { // send off set last segment, if we have not been closed before MemorySegment current = getCurrentSegment(); if (current != null) { writeSegment(current, getCurrentPositionInSegment()); } clear(); if (delete) { writer.closeAndDelete(); } else { writer.close(); } } finally { memManager.release(memory); } }