KB Article #178489
Resubmit of SendToPartner step push in AR subscrtiption fails after switching to local sandbox
Under certain circumstances Resubmit functionality may not operate as expected.
Issue is observed after TM restart in ST cluster (either Standard or LEC one), with Archiving enabled and Advanced Routing sandbox folder on a local storage is being used, instead of one located on a network share accessible by all ST cluster nodes.
Issue could be easily replicated using the following sequence of steps in a ST cluster 5.3.5/6 enviroment :
- Enable Archiving ;
- Configure Advanced Route with SendToPartner step (with enabled archiving) and subscribe an account to it ;
- Push some files using the route and account from steps 2 ;
- Modify route setting by switching to local sandbox (say /tmp/sandbox as route sandbox value where /tmp is a local partition )
- Restart TMs on all ST cluster nodes
- Resubmit some of the outbound transfers created in step 3
Result :
Resubmit action itself is successful, but consequential transfers fail with error messages similar to :
Message: Error during transfer operation: File '/.stfs/objects/8a/883f75a13c4a0015a236518990045/6ad26c64-85e4-4464-89f7-80176aebe90d/056f889f-971c-4fa0-825e-8bf9bf6e6f4d/8a6883f75a13c4a0015a236510110033/trigger' not found.
Stack Trace:java.io.FileNotFoundException: File
'/.stfs/objects/8a/883f75a13c4a0015a236518990045/6ad26c64-85e4-4464-89f7-80176aebe90d/056f889f-971c-4fa0-825e-8bf9bf6e6f4d/8a6883f75a13c4a0015a236510110033/trigger' not found.
Issue is also observed when switching back to the default behaviour, but there were no new triggers of the route for the user (and/or symlink to the local sandbox is still present).
Explanation of the cause
The above issue presents a design limitation.
When , in clustered ST enviroment, sandbox folder location is set on a local drive the file is copied from the archive to the local sandbox on a local drive of one of the nodes. Upon resubmit of push transfer initiated by the SendToPartner step it might happen that the actual push event is processed by another cluster node lacking a local archive copy in its local sandbox folder.
The above sequence leads to the error reported since the cluster node, which is processing the SendToPartner resubmitted event, cannot find the file to push it as it is not present in its local sandbox folder .
Resolution
There are couple of possible workarounds to remedy the issue :
- Define a sandbox location on a shared storage that is mounted with sufficient privileges and is accessible by all ST cluster nodes using same mount point paths on each individual node.
- Switch back to the default behaviour (don't use external sandbox not accessible by all ST cluster nodes).