|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.griphyn.cPlanner.transfer.implementation.Abstract
org.griphyn.cPlanner.transfer.implementation.AbstractMultipleFTPerXFERJob
org.griphyn.cPlanner.transfer.implementation.RFT
public class RFT
The implementation that creates transfer jobs referring to the rft-client distributed with GT4 to do transfers between various sites. The rft-client connects to a RFT service running on a particular host.
The rft client is always invoked on the submit host. Hence there should be an
entry in the transformation catalog for logical transformation
rft at site local. The transformation should point
to the client that is distributed with RFT in GT4.
The user can tweak the options to the rft client by specifying the properties
in the properties files with the prefix vds.transfer.rft.
The following table lists all the properties with their prefixes stripped off,
that the user can specify in the properties files. The default value is used
if the user does not specify a particular property.
| property | default value | description |
|---|---|---|
| host | localhost | the host-ip of the container. |
| port | 8080 | the port at which the container is running. |
| binary | true | whether to do transfers in binary mode or not. |
| bs | 16000 | block size in bytes that is transferred. |
| tcpbs | 16000 | specifies the size (in bytes) of the TCP buffer to be used by the underlying ftp data channels |
| notpt | false | whether to do normal transfers or not. |
| streams | 1 | specifies the number of parallel data connections that should be used. |
| DCAU | true | data channel authentication for ftp transfers. |
| processes | 1 | number of files that you want to transfer at any given point |
| retry | 3 | number of times RFT retries a transfer failed with a non-fatal error. |
It leads to the creation of the setup chmod jobs to the workflow, that appear as parents to compute jobs in case the transfer implementation does not preserve the X bit on the file being transferred. This is required for staging of executables as part of the workflow. The setup jobs are only added as children to the stage in jobs.
In order to use the transfer implementation implemented by this class,
- the property pegasus.transfer.*.impl must be set to value RFT.
There should be an entry in the transformation catalog with the fully qualified
name as globus::rft for all the sites where workflow is run,
or on the local site in case of third party transfers.
| Field Summary | |
|---|---|
static String |
BINARY_KEY
The key name that denotes whether to do the transfers in binary mode or not. |
static String |
BLOCK_SIZE_KEY
The key name that denotes the block size in bytes that is to be transferred. |
static String |
DCAU_KEY
The key name that denotes whether to use Data Channel Authentication or not. |
static String |
DERIVATION_NAME
The name of the underlying derivation. |
static String |
DERIVATION_NAMESPACE
The derivation namespace for for the transfer job. |
static String |
DERIVATION_VERSION
The derivation version number for the transfer job. |
static String |
DESCRIPTION
A short description of the transfer implementation. |
static String |
HOST_KEY
The key name that denotes the host on which the RFT service is running. |
private Properties |
mRFTProps
The properties object holding all the RFT specific properties specified by the user in the properties file. |
static String |
NO_TPT_KEY
The key name that denotes whether to use TPT (third party transfer) or not. |
static String |
PORT_KEY
The key name that denotes the port on which the RFT service is running. |
static String |
PROCESSES_KEY
The key name that denotes the number of files to be transferred at any given time. |
static String |
PROPERTIES_PREFIX
The prefix for all the properties this mode requires. |
static String |
RETRY_KEY
The key name that denotes the maximum number of retries that are made in case of failure. |
static String |
STREAMS_KEY
The key name that denotes the number of parallel streams to be used. |
static String |
TCP_BUFFER_SIZE_KEY
The key name that denotes the TCP buffer size in bytes. |
static String |
TRANSFORMATION_NAME
The name of the underlying transformation that is queried for in the Transformation Catalog. |
static String |
TRANSFORMATION_NAMESPACE
The transformation namespace for the transfer job. |
static String |
TRANSFORMATION_VERSION
The version number for the transfer job. |
| Fields inherited from class org.griphyn.cPlanner.transfer.implementation.Abstract |
|---|
CHANGE_XBIT_TRANSFORMATION, mDisabledChmodSites, mLocalUserProxy, mLocalUserProxyBasename, mLogger, mPOptions, mProps, mRefiner, mSCHandle, mTCHandle, NOOP_PREFIX, SET_XBIT_PREFIX, XBIT_DERIVATION_NS, XBIT_DERIVATION_VERSION, XBIT_TRANSFORMATION_NS, XBIT_TRANSFORMATION_VERSION |
| Fields inherited from interface org.griphyn.cPlanner.transfer.Implementation |
|---|
TRANSFER_UNIVERSE, VERSION |
| Constructor Summary | |
|---|---|
RFT(PegasusProperties properties,
PlannerOptions options)
The overloaded constructor, that is called by the Factory to load the class. |
|
| Method Summary | |
|---|---|
boolean |
addSetXBitJobs(String computeJobName,
String txJobName,
Collection execFiles,
int transferClass)
Adds the dirmanager job to the workflow, that do a chmod on the executable files that are being staged. |
boolean |
doesPreserveXBit()
Returns a boolean indicating whether the transfer protocol being used by the implementation preserves the X Bit or not while staging. |
protected String |
generateArgumentString(TransferJob job)
Constructs the arguments to the transfer executable that need to be passed to the executable referred to in this transfer mode. |
protected String |
getCompleteTCName()
Returns the complete name for the transformation. |
protected String |
getDerivationName()
Returns the logical name of the derivation that this implementation refers to. |
protected String |
getDerivationNamespace()
Returns the namespace of the derivation that this implementation refers to. |
protected String |
getDerivationVersion()
Returns the version of the derivation that this implementation refers to. |
String |
getDescription()
Returns a textual description of the transfer implementation. |
protected List |
getEnvironmentVariables(String site)
Returns the environment profiles that are required for the default entry to sensibly work. |
TransformationCatalogEntry |
getTransformationCatalogEntry(String siteHandle)
Retrieves the transformation catalog entry for the executable that is being used to transfer the files in the implementation. |
void |
postProcess(TransferJob job)
Resets the STDIN of the transfer job to null, as the input file is not being sent to the remote sides. |
boolean |
useThirdPartyTransferAlways()
Return a boolean indicating whether the transfers to be done always in a third party transfer mode. |
protected void |
writeJumboStdIn(FileWriter writer,
Collection files)
Writes to a file on the submit host, that is passed to the rft-client as input. |
| Methods inherited from class org.griphyn.cPlanner.transfer.implementation.AbstractMultipleFTPerXFERJob |
|---|
createTransferJob, defaultTCEntry, prepareSTDIN |
| Methods inherited from class org.griphyn.cPlanner.transfer.implementation.Abstract |
|---|
addSetXBitJobs, addSetXBitJobs, addSetXBitJobs, applyPriority, checkAndTransferProxy, construct, createNoOPJob, createSetXBitJob, determineDisabledChmodSites, disableChmodJobCreation, getNOOPJobName, getPathToUserProxy, getPriority, getSetXBitJobName, setRefiner |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String TRANSFORMATION_NAMESPACE
public static final String TRANSFORMATION_NAME
public static final String TRANSFORMATION_VERSION
public static final String DERIVATION_NAMESPACE
public static final String DERIVATION_NAME
public static final String DERIVATION_VERSION
public static final String DESCRIPTION
public static final String PROPERTIES_PREFIX
public static final String HOST_KEY
public static final String PORT_KEY
public static final String BINARY_KEY
public static final String BLOCK_SIZE_KEY
public static final String TCP_BUFFER_SIZE_KEY
public static final String NO_TPT_KEY
public static final String STREAMS_KEY
public static final String DCAU_KEY
public static final String PROCESSES_KEY
public static final String RETRY_KEY
private Properties mRFTProps
| Constructor Detail |
|---|
public RFT(PegasusProperties properties,
PlannerOptions options)
properties - the properties object.options - the options passed to the Planner.| Method Detail |
|---|
public boolean doesPreserveXBit()
public boolean addSetXBitJobs(String computeJobName,
String txJobName,
Collection execFiles,
int transferClass)
computeJobName - the name pf the computeJob for which the files are
being staged.txJobName - the name of the transfer job that is staging the files.execFiles - the executable files that are being staged.transferClass - the class of transfer job
public boolean useThirdPartyTransferAlways()
PegasusProperties.getThirdPartySites(String)protected String generateArgumentString(TransferJob job)
generateArgumentString in class AbstractMultipleFTPerXFERJobjob - the object containing the transfer node.
public void postProcess(TransferJob job)
postProcess in class AbstractMultipleFTPerXFERJobjob - the TransferJob that has been created.
protected void writeJumboStdIn(FileWriter writer,
Collection files)
throws Exception
writeJumboStdIn in class AbstractMultipleFTPerXFERJobwriter - the writer to the stdin file.files - Collection of FileTransfer objects containing
the information about sourceam fin and destURL's.
Exceptionpublic String getDescription()
public TransformationCatalogEntry getTransformationCatalogEntry(String siteHandle)
siteHandle - the handle of the site where the transformation is
to be searched.
protected List getEnvironmentVariables(String site)
getEnvironmentVariables in class AbstractMultipleFTPerXFERJobsite - the site where the job is going to run.
protected String getDerivationNamespace()
getDerivationNamespace in class AbstractMultipleFTPerXFERJobprotected String getDerivationName()
getDerivationName in class AbstractMultipleFTPerXFERJobprotected String getDerivationVersion()
getDerivationVersion in class AbstractMultipleFTPerXFERJobprotected String getCompleteTCName()
getCompleteTCName in class AbstractMultipleFTPerXFERJob
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||