shipping_server

Store-and-forward packet transport server

Applicability

Product Command type
MultiSite MultiSite command
Platform
UNIX®
Linux
Windows®

Synopsis

shipping_server
[ –scl/ass storage-class-name ] { –pol/l | sources ... }

This command is located in versionvault-home-dir/etc on Linux® and the UNIX system and in versionvault-home-dir\bin on Windows.

Description

This command processes one or more shipping orders on the local host and sends the associated packets or files to remote sites. After it delivers a file to all its destinations, shipping_server deletes the file unless one of the destinations is the local host.

Note: When shipping_server starts processing a shipping order, it locks the order. The lock prevents subsequent invocations of shipping_server from processing the order.

TCP/IP connection

To transmit a file, shipping_server uses UDP to contact the albd_server process on the receiving host, and albd_server invokes shipping_server in receive mode on the receiving host.

If you are sending packets through a firewall (that is, the CLEARCASE_MIN_PORT and CLEARCASE_MAX_PORT environment variables are set), shipping_server tries to use TCP to contact the remote albd_server. If that connection fails, shipping_server uses UDP. You can also specify a port or port range that is to be used for sending packets through a firewall by editing the file albd_rt_params.conf. If port values are set in this file, any port values that are specified in the file shipping.conf and the VersionVault startup script are ignored. albd_rt_params.conf is stored in the following directories:
  • /var/adm/hcl/versionvaultclearcase/config/ (UNIX and Linux)
  • Program Files\HCL\CCM\VersionVault\config\services\ (Windows)

On Linux and the UNIX system, shipping_server forks one subprocess for each packet that it sends. As many as 10 shipping_server subprocesses, each trying to send a single packet, can be started for each invocation of shipping_server. The same number of subprocesses are forked on the receiving machine. As a subprocess finishes, another can be started, but only 10 can run simultaneously.

After a TCP connection is established between the two shipping_server processes, they transfer the file. The receiving shipping_server selects a storage bay using the configuration settings in the shipping.conf file (Linux and the UNIX system) or MultiSite Control Panel (Windows). If a storage class is assigned multiple storage bays, available disk space determines the selection of a bay.

On Linux and the UNIX system, the packet file is created with the same owner and group as the storage bay directory, and its access mode is taken from the directory's read and write permissions. (The execute permission and special permissions, if any, are ignored.)

On Windows, the packet file inherits permissions from the Windows ACL on the storage bay directory.

Colon characters in packet names

If a packet name contains a colon ( : ), shipping_server changes the colon to a period ( . ) during processing. This change allows packets to be delivered to Windows machines, which do not allow colons in file names.

Handling of file name conflicts

You can use the mkorder and shipping_server commands to transmit nonpacket files if the files are in the same directory as their associated shipping orders. If a file with the same name already exists on the receiving host, the new file is renamed to filename_1 (if you send another file with the same name, it is renamed to filename_2, and so on).

Setting a timeout period for unreachable hosts

You can set a timeout period during which the shipping server will not try to send packets to hosts that it previously identified as unreachable. This configuration is set in the shipping.conf (Linux and the UNIX system) or MultiSite Control Panel (Windows).For more information, see the shipping.conf (Linux and the UNIX system) or MultiSite Control Panel (Windows) reference page.

Log

On Linux and the UNIX system, shipping_server writes records of all packets sent and received, along with all errors, to file /var/adm/hcl/versionvault/log/shipping_server_log.

On Windows, shipping_server writes records of all packets sent and received, notification messages, log messages, and all errors to the Windows Event Viewer. You can use the cleartool getlog shipping command to view shipping_server messages from the Event Viewer.

Restrictions

Identities: You must have write and execute permissions on the directory containing the shipping order. On Linux and the UNIX system, you must own the data file or be root.

Locks: No locks apply.

Mastership: No mastership restrictions.

Other: The shipping order and the data file it specifies must be located in the same directory.

Options and arguments

Restricting processing to a storage class

Default
With –poll, processes all shipping orders in all outgoing storage bays and return bays on this host. With sources, processes all specified shipping orders.
–scl/ass storage-class-name
Processes shipping orders for the specified storage class only.

Specifying the shipping orders

Default
None.
–pol/l
Processes shipping orders located in some (if you use –sclass) or all storage and return bays defined in the shipping.conf file on Linux and the UNIX system or the MultiSite Control Panel on Windows.
Note: shipping_server processes only shipping orders whose file names start with the characters sh_o_. If you create shipping orders, name them according to this convention, or omit the –poll option and specify the shipping order pathnames.

On Linux and the UNIX system, only shipping order files that you own are processed. However, when root runs this program, shipping order files are processed regardless of ownership.

sources ...
One or more pathnames of files or directories. Each file you specify is processed if it contains a valid shipping order. For each directory you specify, shipping_server processes some (if you use –sclass) or all shipping orders stored in that directory.

Examples

In these examples, the lines are broken for readability. You must enter each command on a single physical line.

  • Process all shipping orders in all MultiSite storage bays.



    shipping_server –poll


    <no output means command succeeded or did not find any
    shipping orders>

  • Process a particular shipping order. Note that the pathname argument specifies the shipping order file, not the data file to be transmitted.

    /opt/hcl/ccm/versionvaultclearcase/etc/shipping_server

    /var/adm/hcl/versionvaultclearcase/
    shipping/ms_ship/sh_o_sync_sydney_19-May-02.09:
    48:45_7660_1


    <no output means command succeeded>

  • Process all shipping order files in a specified directory.



    shipping_server "c:\Program Files\HCL\CCM\VersionVaultclearcase\var\shipping\
    ms_ship\outgoing"


    <no output means command succeeded or did not find any shipping orders>

  • Process all shipping orders in the storage bays of a specified storage class.


    /opt/hcl/ccm/versionvaultclearcase/etc/shipping_server –poll –sclass daily


    <no output means command succeeded or did not find any shipping orders>