@Override public MemoryRowBlock call() throws Exception { appender.writeRowBlock(taskId, rowBlock); if (release) rowBlock.release(); else rowBlock.clear(); return rowBlock; } });
@Override public MemoryRowBlock call() throws Exception { appender.writeRowBlock(taskId, rowBlock); if (release) rowBlock.release(); else rowBlock.clear(); return rowBlock; } });
@Override public void flush() throws IOException { if(!hasExternalBuf && rowBlock.getMemory().isReadable()) { writeRowBlock(rowBlock); rowBlock.clear(); } }
@Override public void flush() throws IOException { if(!hasExternalBuf && rowBlock.getMemory().isReadable()) { writeRowBlock(rowBlock); rowBlock.clear(); } }
rowBlock.clear(); future.set(rowBlock); return future;
@Override public void addTuple(Tuple t) throws IOException { tupleConverter.convert(t, rowBlock.getWriter()); if(rowBlock.usedMem() > DEFAULT_BUFFER_SIZE) { writeRowBlock(rowBlock); rowBlock.clear(); } }
@Override public void addTuple(Tuple t) throws IOException { tupleConverter.convert(t, rowBlock.getWriter()); if(rowBlock.usedMem() > DEFAULT_BUFFER_SIZE) { writeRowBlock(rowBlock); rowBlock.clear(); } }
@Override public void run() { try { rowBlock.clear(); int endRow = currentNumRows + fetchRowNum; while (currentNumRows < endRow) { Tuple tuple = scanExec.next(); if (tuple == null) { eof = true; break; } else { rowBlock.getWriter().addTuple(tuple); currentNumRows++; if (currentNumRows >= maxRow) { eof = true; break; } } } if (rowBlock.rows() > 0) { totalRows += rowBlock.rows(); } future.set(rowBlock); } catch (Throwable t) { future.setException(t); } } });
rowBlock.clear();
rowBlock.clear();