/** * Closes the task. Idempotent. */ @Override public void close() { if (handle_ == null) return; worker_.closeTask(handle_); handle_ = null; if (closeWorker_) worker_.close(); }
/** * Executes the task asynchronously, returning a Rows object that can be * used to fetch results. */ public Records execAndFetch(Task task) throws RecordServiceException, IOException { validateIsConnected(); TaskState result = execTaskInternal(task, 0); Records records = null; try { records = new Records(this, result); return records; } finally { if (records == null) closeTask(result); } }