public abstract class CopyJob extends java.lang.Object implements java.lang.Comparable<CopyJob>
Modifier and Type | Class and Description |
---|---|
static interface |
CopyJob.OnceDone
Callback invoked by CopyJob once all files have (finally) finished copying
|
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
cancelReason |
protected java.util.Map<java.lang.String,java.lang.String> |
copiedFiles |
protected CopyOneFile |
current |
protected ReplicaNode |
dest |
protected java.lang.Throwable |
exc |
protected java.util.Map<java.lang.String,FileMetaData> |
files |
boolean |
highPriority
True for an NRT sync, false for pre-copying a newly merged segment
|
CopyJob.OnceDone |
onceDone |
long |
ord |
java.lang.String |
reason |
long |
startNS |
protected java.util.List<java.util.Map.Entry<java.lang.String,FileMetaData>> |
toCopy |
protected long |
totBytes |
protected long |
totBytesCopied |
Modifier | Constructor and Description |
---|---|
protected |
CopyJob(java.lang.String reason,
java.util.Map<java.lang.String,FileMetaData> files,
ReplicaNode dest,
boolean highPriority,
CopyJob.OnceDone onceDone) |
Modifier and Type | Method and Description |
---|---|
void |
cancel(java.lang.String reason,
java.lang.Throwable exc) |
abstract boolean |
conflicts(CopyJob other)
Return true if this job is trying to copy any of the same files as the other job
|
abstract void |
finish()
Renames all copied (tmp) files to their true file names
|
abstract CopyState |
getCopyState() |
abstract boolean |
getFailed() |
abstract java.util.Set<java.lang.String> |
getFileNames()
Returns all file names referenced in this copy job
|
abstract java.util.Set<java.lang.String> |
getFileNamesToCopy()
Returns only those file names (a subset of
getFileNames() ) that need to be copied |
abstract long |
getTotalBytesCopied() |
protected abstract CopyOneFile |
newCopyOneFile(CopyOneFile current) |
abstract void |
runBlocking()
Use current thread (blocking) to do all copying and then return once done, or throw exception on failure
|
abstract void |
start()
Begin copying files
|
void |
transferAndCancel(CopyJob prevJob)
Transfers whatever tmp files were already copied in this previous job and cancels the previous job
|
protected final ReplicaNode dest
protected final java.util.Map<java.lang.String,FileMetaData> files
public final long ord
public final boolean highPriority
public final CopyJob.OnceDone onceDone
public final long startNS
public final java.lang.String reason
protected final java.util.List<java.util.Map.Entry<java.lang.String,FileMetaData>> toCopy
protected long totBytes
protected long totBytesCopied
protected CopyOneFile current
protected volatile java.lang.Throwable exc
protected volatile java.lang.String cancelReason
protected final java.util.Map<java.lang.String,java.lang.String> copiedFiles
protected CopyJob(java.lang.String reason, java.util.Map<java.lang.String,FileMetaData> files, ReplicaNode dest, boolean highPriority, CopyJob.OnceDone onceDone) throws java.io.IOException
java.io.IOException
public void transferAndCancel(CopyJob prevJob) throws java.io.IOException
java.io.IOException
protected abstract CopyOneFile newCopyOneFile(CopyOneFile current)
public abstract void start() throws java.io.IOException
java.io.IOException
public abstract void runBlocking() throws java.lang.Exception
java.lang.Exception
public void cancel(java.lang.String reason, java.lang.Throwable exc) throws java.io.IOException
java.io.IOException
public abstract boolean conflicts(CopyJob other)
public abstract void finish() throws java.io.IOException
java.io.IOException
public abstract boolean getFailed()
public abstract java.util.Set<java.lang.String> getFileNamesToCopy()
getFileNames()
) that need to be copiedpublic abstract java.util.Set<java.lang.String> getFileNames()
public abstract CopyState getCopyState()
public abstract long getTotalBytesCopied()
Copyright © 2000–2019 The Apache Software Foundation. All rights reserved.