MemorySegment[] close() throws IOException { final MemorySegment current = getCurrentSegment(); if (current == null) { throw new IllegalStateException("Illegal State in HashPartition: No current buffer when finilizing build side."); } finalizeSegment(current, getCurrentPositionInSegment()); clear(); if (this.writer == null) { this.targetList.add(current); MemorySegment[] buffers = this.targetList.toArray(new MemorySegment[this.targetList.size()]); this.targetList.clear(); return buffers; } else { writer.writeBlock(current); return null; } }
MemorySegment[] close() throws IOException { final MemorySegment current = getCurrentSegment(); if (current == null) { throw new IllegalStateException("Illegal State in HashPartition: No current buffer when finilizing build side."); } finalizeSegment(current, getCurrentPositionInSegment()); clear(); if (this.writer == null) { this.targetList.add(current); MemorySegment[] buffers = this.targetList.toArray(new MemorySegment[this.targetList.size()]); this.targetList.clear(); return buffers; } else { writer.writeBlock(current); return null; } }
MemorySegment[] close() throws IOException { final MemorySegment current = getCurrentSegment(); if (current == null) { throw new IllegalStateException("Illegal State in HashPartition: No current buffer when finilizing build side."); } finalizeSegment(current, getCurrentPositionInSegment()); clear(); if (this.writer == null) { this.targetList.add(current); MemorySegment[] buffers = this.targetList.toArray(new MemorySegment[this.targetList.size()]); this.targetList.clear(); return buffers; } else { writer.writeBlock(current); return null; } }
@Override protected MemorySegment nextSegment(MemorySegment current, int bytesUsed) throws IOException { finalizeSegment(current, bytesUsed); final MemorySegment next; if (this.writer == null) { this.targetList.add(current); next = this.memSource.nextSegment(); } else { this.writer.writeBlock(current); try { next = this.writer.getReturnQueue().take(); } catch (InterruptedException iex) { throw new IOException("Hash Join Partition was interrupted while grabbing a new write-behind buffer."); } } this.currentBlockNumber++; return next; }
@Override protected MemorySegment nextSegment(MemorySegment current, int bytesUsed) throws IOException { finalizeSegment(current, bytesUsed); final MemorySegment next; if (this.writer == null) { this.targetList.add(current); next = this.memSource.nextSegment(); } else { this.writer.writeBlock(current); try { next = this.writer.getReturnQueue().take(); } catch (InterruptedException iex) { throw new IOException("Hash Join Partition was interrupted while grabbing a new write-behind buffer."); } } this.currentBlockNumber++; return next; }
@Override protected MemorySegment nextSegment(MemorySegment current, int bytesUsed) throws IOException { finalizeSegment(current, bytesUsed); final MemorySegment next; if (this.writer == null) { this.targetList.add(current); next = this.memSource.nextSegment(); } else { this.writer.writeBlock(current); try { next = this.writer.getReturnQueue().take(); } catch (InterruptedException iex) { throw new IOException("Hash Join Partition was interrupted while grabbing a new write-behind buffer."); } } this.currentBlockNumber++; return next; }
@Override protected MemorySegment nextSegment(MemorySegment current, int bytesUsed) throws IOException { finalizeSegment(current, bytesUsed); final MemorySegment next; if (this.writer == null) { this.targetList.add(current); next = this.memSource.nextSegment(); } else { this.writer.writeBlock(current); try { next = this.writer.getReturnQueue().take(); } catch (InterruptedException iex) { throw new IOException("Hash Join Partition was interrupted while grabbing a new write-behind buffer."); } } this.currentBlockNumber++; return next; }
MemorySegment[] close() throws IOException { final MemorySegment current = getCurrentSegment(); if (current == null) { throw new IllegalStateException("Illegal State in HashPartition: No current buffer when finilizing build side."); } finalizeSegment(current, getCurrentPositionInSegment()); clear(); if (this.writer == null) { this.targetList.add(current); MemorySegment[] buffers = this.targetList.toArray(new MemorySegment[this.targetList.size()]); this.targetList.clear(); return buffers; } else { writer.writeBlock(current); return null; } }