/** * Abort this task. * If the task already received all files and * {@link org.apache.cassandra.streaming.StreamReceiveTask.OnCompletionRunnable} task is submitted, * then task cannot be aborted. */ public synchronized void abort() { if (done) return; done = true; for (SSTableWriter writer : sstables) writer.abort(); sstables.clear(); } }
public void close() { try { if (currentKey != null) writeRow(currentKey, columnFamily); writer.close(); } catch (FSError e) { writer.abort(); throw e; } }
f.writer.abort(); assert f.reader == null;
public void run() { SSTableWriter writer = null; try { while (true) { Buffer b = writeQueue.take(); if (b == SENTINEL) return; writer = getWriter(); for (Map.Entry<DecoratedKey, ColumnFamily> entry : b.entrySet()) { if (entry.getValue().getColumnCount() > 0) writer.append(entry.getKey(), entry.getValue()); else if (!entry.getKey().equals(b.getFirstInsertedKey())) throw new AssertionError("Empty partition"); } writer.close(); } } catch (Throwable e) { JVMStabilityInspector.inspectThrowable(e); if (writer != null) writer.abort(); exception = e; } } }
finished.writer.abort();
writer.abort(); task.sstables.clear(); task.session.taskCompleted(task);