The XPPCMD post-processing user exit is taking a long time, i.e. 10 seconds, to execute.
It has been found that if the transfer userid is logged on to the receiving partner server the transfer takes less than 2 seconds i.e. the result is much faster if the transfer userid has a session open on the partner server.
Please provide some insight as to why the XPPCMD batch job called from XCOM runs faster when the userid is logged into the partner XCOM server?
This is causing queuing and slow performance for customers.
Also what can be seen from a Process Monitor session is that when XCOM calls XPPCMD it is trying to run this as the client user and not LocalSystem which XCOM is installed as. This appears to cause an additional delay which does not occur when the client user is already logged into the server.
XCOM™ Data Transport® for Windows
The XPPCMD will run under the security context of the transfer userid so the process monitor observation is expected.
That is covered on the page Create the CA XCOM Batch Interactive Group.
All jobs, scripts, and remote SMTP notifications received by XCOM Transfer are submitted to the operating system by creating a process.
The new process runs in the security context of the user receiving the XCOM transfer that caused the process to be created.
XCOM Data Transport adds an access control entry (ACE) to the window station and desktop to allow the process to interact with the user.
Once the process is complete, the entry point is removed from the window station and desktop.
If the process created by the transfer creates an additional process, this additional process will not have access to the
window station or desktop after XCOM Data Transport has removed the entry control point that is created by the original process.
The difference in running the XPPCMD script with the user logged on or not logged on to the partner XCOM server, is the script being run in the user’s session or in session 0. The delay can also be reproduced by executing the XPPCMD on the partner server outside of XCOM using the "runas" command, so this is not a XCOM related problem.
To debug this issue outside of XCOM on the partner XCOM server: