Conflict Policy
On This Page
Overview
When a conflict is detected on either the source or the destination, Conflict Policy determines how DryvIQ will behave.
Keep Both Files
This is also referred to a Conflict Copy. When a file changes on both the source and the destination, DryvIQ will identify the versions for the file and append a timestamp to preserve the integrity of each. We will make a copy of the earliest version and override the content with the latest. This is the default conflict policy.
Based on the transfer type selected for the job, you can expected the following behavior for Conflict Copy Policy.
Transfer Type | Behavior |
---|---|
Synchronize | Will always prefer the latest version and put the Conflict Copy on the side that is the earliest. Using this setting for a sync job will result in duplicate copies of files. Therefore, for sync jobs, the “Prefer Most Recently Modified File” is the preferred setting. |
Copy | Will always prefer the version located on the source and put the conflict copy on the destination. |
Migrate | Conflict Copy Policy is not applicable. |
Publish | Conflict Copy Policy is not applicable. |
Move | Conflict Copy Policy is not applicable. |
Copy Folder Structure | Conflict Copy Policy is not applicable. |
Prefer Most Recently Modified File
This policy prefers the latest version When a file changes on both the source and the destination, DryvIQ will identify the latest versions for the file and override the content with the latest.
Based on the transfer type selected for the job, you can expected the following behavior for Prefer Latest Policy.
Transfer Type | Behavior |
---|---|
Synchronize | If the latest version is on the source, the application will transfer from the source and override the destination with the latest version. If the latest version is on the destination, the application will transfer from the destination and override the source with the latest version |
Copy | If the latest version is on the source, the application will transfer from the source and override the destination with the latest version. If the latest version is on the destination, the application will skip the file for transfer and flag with a "Not Allowed" failure in the log. |
Migrate | Prefer Latest Conflict Policy is not applicable. |
Publish | Prefer Latest Conflict Policy is not applicable. |
Move | Prefer Latest Conflict Policy is not applicable. |
Copy Folder Structure | Prefer Latest Conflict Copy Policy is not applicable. |
Prefer the Version on Source
When a file changes on both the source and the destination, the destination copy will always be overridden regardless of version.
Based on the transfer type selected for the job, you can expected the following behavior for Prefer Source Policy.
Transfer Type | Behavior |
---|---|
Synchronize | Will always transfer from the source and override on the destination, regardless of which version is later. |
Copy | Will always transfer from the source and override on the destination, regardless of which version is later. |
Migrate | Prefer Source Conflict Policy is not applicable. |
Publish | Prefer Source Conflict Policy is not applicable. |
Move | Prefer Source Conflict Policy is not applicable. |
Copy Folder Structure | Prefer Source Conflict Copy Policy is not applicable. |
Prefer the Version on Destination
When a file changes on both the source and the Destination, the source copy will always be overridden regardless of version.
Based on the transfer type selected for the job, you can expected the following behavior for Prefer destination Policy.
Transfer Type | Behavior |
---|---|
Synchronize | Will always transfer from the destination and override on the source; regardless of which version is later. |
Copy | Will always transfer from the destination and override on the source; regardless of which version is later. |
Migrate | Prefer Destination Conflict Policy is not applicable. |
Publish | Prefer Destination Conflict Policy is not applicable. |
Move | Prefer Destination Conflict Policy is not applicable. |
Copy Folder Structure | Prefer Destination Conflict Copy Policy is not applicable. |
Flag the File
When a file changes on both the source and the destination, Failure will flag the file and log it. The conflict file will be skipped and no changes will occur.
Based on the transfer type selected for the job, you can expected the following behavior for Failure Policy.
Transfer Type | Behavior |
---|---|
Synchronize | If the application detects a conflict, it will be flagged and logged as failure. The conflict file will be skipped and no changes will occur. Manual remediation is required. |
Copy | If the application detects a conflict, it will be flagged and logged as failure. The conflict file will be skipped and no changes will occur. Manual remediation is required. |
Migrate | Failure Conflict Policy is not applicable. With transfer type Migrate, the application will always prefer the source. Also, since the application does not run change detection on subsequent job runs for Migrate, Failure Conflict Policy would not be applicable |
Publish | Failure Conflict Policy is not applicable. With transfer type Publish, the application will always prefer the source; regardless of conflict |
Move | Failure Conflict Policy is not applicable. With transfer type Move, the application will always prefer the latest version. Also, since the application does not run change detection on subsequent job runs with Move, Failure Conflict Policy would not be applicable |
Copy Folder Structure | Failure Conflict Copy Policy is not applicable. Since there are no conflicts when copying folders, Failure Conflict Policy would not be applicable |
Copy Conflict Using the REST API
Configuration options available in using the REST API correspond directly with the user interface options.
REST API Setting | UI Setting |
---|---|
copy | Keep both files |
latest | Prefer most recently modified file |
source | Prefer the version on source |
destination | Prefer the version on destination |
failure | Flag the file |
POST {{url}}v1/jobs |
{
"name":"Conflict Policy Test",
"kind": "transfer",
"transfer": {
"audit_level": "trace",
"transfer_type": "copy",
"conflict_resolution": "latest",
"source": {
"connection": { "id": "{{cloud_connection_source}}" },
"target":
{"path":"/SourcePath"}
},
"destination": {
"connection": { "id": "{{cloud_connection_destination}}" },
"target": {
"path": "/DestinationPath"
}
}
},
"schedule": {
"mode": "manual"
}
} |