XCOM Queue Corruption and Maintenance
search cancel

XCOM Queue Corruption and Maintenance

book

Article ID: 56038

calendar_today

Updated On:

Products

XCOM Data Transport XCOM Data Transport - Windows XCOM Data Transport - Linux PC

Issue/Introduction

How best to manage the queues and avoid/resolve any queue corruption.
NOTE: Error messages like "XCOMU0602E General error in queue function; rc=0." may be reported after queue corruption.

Environment

Component: XCOM Data Transport for Windows, UNIX and Linux

Cause

Queue corruption can be caused by a number of things and is not limited to items in this list:

  • Killing the XCOMD daemon or TP processes
  • Forcing the XCOMD daemon to shutdown using command 'xcomd -cy' with or without active transfers
  • Invalid permission access to the Q or other permissions
  • The XCOMD daemon or active transfers crashing
  • System glitches such as lack of or access to regarding the XCOMD shared memory/semaphores
  • Lack of system resources

Resolution

Regular Queue Maintenance:
It is important to schedule regular queue maintenance so that possible problems with the queue are detected and corrected before problems occur.

Detecting Queue Corruption:

  1. Verify the output of the command 'xcomqm -La' against the number of members (xxxxxx.mbr files) that are actually present in the Q directory. If the number of items do not match, the queue is corrupted.
  2. .MBR files that are missing their TID prefix indicate corruption.
  3. Use command 'xcomqm -Dtid#' to display detailed information about a queue entry. If the information is garbage then the entry is corrupt.

Correcting Queue Corruption:
To deal with a corrupt queue and/or to re-allocate the needed XCOM system resources, follow this procedure:

  1. Stop the XCOMD daemon using the recommended command 'xcomd -s'.
  2. Backup the Q directory.
  3. Make a note of any incomplete transfers.
  4. Delete all the files within the Q directory.
  5. Restart the XCOMD daemon 'xcomd'.
  6. Resubmit any incomplete transfers, if needed.
  7. Verify permissions on the Q are correct

This process will remove the corrupt files and build a new IDX index file. Once the XCOMD daemon is recycled it will remove and then re-allocate these resources.

Additional Information

Global parameter AGE_TIME set in the xcom.glb file will cause XCOM to remove any waiting queue entries older than specified value.