sync_export_list

Generates and sends update packets

Applicability

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

Synopsis

  • Generate update packets:
    sync_export_list
    [ –c/ompress ] [ –lo/gdir log-directory ] [ –f/ship | –sh/ip ] [ –lockwait minutes ] [ –q/uiet mode ] [ –wo/rkdir directory ] [ –m/axsize max-packet-size ] [ –sc/lass storage-class ] [ –u/pdate ] [ –li/mit num-packets ] [ –t/race ] [ –p/oll ] [ –i/terate num-tries [ –wa/it num-seconds ] ] { –a/ll | –r/eplicas replica-list [ script-file ] | script-file }
  • Process shipping orders in the host's storage bays:
    sync_export_list
    –p/oll [ –sc/lass storage-class ]
  • Print help about command options:
    sync_export_list
    –h/elp

On Linux® and the UNIX system, sync_export_list is located in versionvault-home-dir/config/scheduler/tasks. On Windows, sync_export_list is located in versionvault-home-dir\config\scheduler\tasks.

Description

sync_export_list generates update packets for one or more replicas. You can specify options for packet generation and transport on the command line, in a script file, or by using a combination of the command line and a script file.

You can run sync_export_list manually or run it automatically with the schedule command. For more information, see the schedule reference page in the VersionVault Command Reference.

Retrying synchronization when the VOB is locked

By default, synchronization exports fail if the VOB is locked. To allow sync_export_list to retry an export when it encounters a lock, use the –lockwait option, which specifies the amount of time (in minutes) for sync_export_list to keep trying to write to the VOB. During that time, sync_export_list retries the write operation every minute. If the time elapses and the VOB is still locked, sync_export_list exits with an error.

The –lockwait option sets the CLEARCASE_VOBLOCKWAIT environment variable in the script's environment. If –lockwait is not used, sync_export_list ignores CLEARCASE_VOBLOCKWAIT if it is set outside the script's environment.

Note: sync_export_list waits only if it detects the lock before it starts processing operations. If an administrator locks the VOB during operation processing, sync_export_list exits with an error.

Configuration file

You can modify the behavior of the sync_export_list script by creating a file named MSimport_export.conf and setting values in it. On Linux and the UNIX system, create the file in the directory /var/adm/hcl/versionvault/config. On Windows, create the file in the directory versionvault-home-dir\var\config.

The file can include the following export setting:

disable_export_locking = 1
Disables use of the export lockfile, allowing multiple exports from a single replica to run simultaneously. Setting the value to 0 (default) enables use of the lockfile. This setting and the –lockwait option are not related. This setting configures use of the lock created by the sync_export_list process to prevent interference among export processes, and the –lockwait option handles VOB locks.

Troubleshooting

sync_export_list fails if another sync_export_list process is exporting data from the same replica, unless export locking is disabled (see Configuration file). This failure prevents interference among export processes. To retry an export, use the –iterate and –wait options.

To display informational messages, specify the –trace option on the command line.

To display all debugging print statements, set the TRACE_SUBSYS environment variable to the value sync_export_list.

sync_export_list creates a log file during execution. This log file is deleted unless sync_export_list fails or you use –trace or set TRACE_SUBSYS.

By default, log files are stored in the /var/adm/hcl/versionvault/log/sync_logs directory on Linux and the UNIX system, and in the versionvault-home-dir\var\log directory on Windows. The file name includes the process ID of the sync_export_list command and the time (in UTC format) at which you ran the command.

The Weekly Log Scrubbing job installed with HCL VersionVault deletes log files in /var/adm/hcl/versionvault/log/sync_logs (Linux and the UNIX system) or versionvault-home-dir\var\log (Windows) that have the prefix send or recv and the suffix _log and are more than 14 days old.

Restrictions

Identities: You must have one of the following identities:
  • VOB owner
  • root (Linux and the UNIX system)
  • Member of the VersionVault administrators group (Windows)

With –poll, you must have write and execute permissions on the directory containing the shipping orders, and on Linux and the UNIX system, you must own the shipping order files or be root.

Locks: An error occurs if one or more of these objects are locked: VOB.

Mastership: No mastership restrictions.

Options and arguments

–h/elp
Prints help about command options.
–c/ompress
Compresses update packets.
–lo/gdir log-directory
Writes log file to log-directory. You must have write access to log-directory.
–f/ship –sh/ip
By default, sync_export_list ships packets immediately (–fship). To store packets in the storage bay, specify –ship.
–lockwait minutes
Number of minutes for the script to keep retrying to write to the VOB, if the VOB is locked.
–q/uietmode
Suppresses messages sent to STDOUT. mode can have the following values:
0
(default) Prints errors, warnings, and informational messages
1
Prints errors and warnings
2
Suppresses all messages
–wo/rkdir directory
Writes temporary files to directory. directory must exist and be writable by the user who enters the sync_export_list command. If you do not specify –workdir, the script uses GetTmpdir() to find a directory.
–m/axsize max-packet-size
Maximum size for a physical packet, expressed as a number followed by a single letter. For example:
500k
500 kilobytes
20m
20 megabytes
1.5g
1.5 gigabytes

If you do not specify –maxsize, sync_export_list uses the value specified in the shipping.conf file (Linux and the UNIX system) or MultiSite Control Panel (Windows). To specify no size limit, use –maxsize 0.

–sc/lass storage-class
Uses the shipping parameters associated with storage-class. If you do not specify –sclass, sync_export_list uses the parameters for the default storage class. You can create or modify storage classes in the shipping.conf file on Linux and the UNIX system or in the MultiSite Control Panel on Windows.
–u/pdate
For each current replica, queries the sibling replicas for their actual states and updates the current replica's epoch table accordingly, and then generates update packets. The sites must have IP connections.
–li/mit num-packets
Limits the number of packets syncreplica generates. If you also specify –maxsize, each packet is no larger than max-packet-size; otherwise, each packet is no larger than the value specified in the shipping.conf file (Linux and the UNIX system) or MultiSite Control Panel (Windows). Use this option when the disk space for your shipping bay or staging area is limited, or when you are creating packets to be placed on magnetic tape (Linux and the UNIX system) or diskettes.
–t/race
Lists command-line options you specified, displays commands as they are executed, displays a success or failure message, and forces sync_export_list to keep its log file.
–p/oll
Executes shipping_server –poll before exporting any data. If you also specify –sclass, shipping_server –poll processes only the shipping orders for the specified storage class.
–i/terate num-tries –wa/it num-seconds
Tries a maximum of num-tries times to complete all exports successfully, and waits num-seconds seconds between tries. By default, sync_export_list does not retry failed exports (–iterate 1). If you specify –iterate without –wait, sync_export_list waits 30 seconds between tries.
–a/ll
Generates update packets from all replicas on the current host to all sibling replicas in their respective families.
–r/eplicas replica-list
Generates update packets for the replicas you specify in replica-list. You can specify replica-list in any of the following forms:
replica-name@VOB-tag Generates a packet for a replica
replica-name@VOB-tag,replica-name,replica-name,... Generates packets for two or more replicas in a VOB family
VOB-tag Generates update packets for all sibling replicas in a VOB family

Examples:

rep1@/vobs/dev

(generate an update packet for a single replica)

"rep1@\dev,rep2,rep3"

(generate update packets for multiple replicas in a
VOB family)

\tromba

(generate update packets for all replicas in a family)

You can specify only one VOB family with –replicas. To specify multiple VOB families, use multiple replicas: lines in a script-file. You must specify at least one replica, either on the command line, or in a script-file.

script-file
Path to file that contains directives for sync_export_list. You must specify this argument last on the command line. You can include the following directives:
compress
Compresses the packet.
nocompress
Does not compress the packet
fship
Ships packets immediately.
ship
Stores packets in storage bay.
lockwait: minutes
Number of minutes to wait for VOB locks.
workdir: directory
Writes temporary files to the specified directory.
maxsize: max-packet-size
Sets maximum packet size.
sclass: storage-class
Sets a different storage class. To unset the storage class, do not specify a storage-class value.
update noupdate
Controls whether epoch table is updated before export.
limit: num-packets
Sets maximum number of packets to generate per replica.
replicas: replica-list
Exports packets from specified replicas. Specify replica-list as described in the –replicas option.

sync_export_list processes all directives in the order listed in script-file. Rules for directives:

  • You can include multiple replicas directives in script-file.
  • Each replicas directive can have different shipping directives (a shipping directive is any directive except replicas).
  • Shipping directives must precede the replicas directive to which they apply.
  • A shipping directive remains in effect for all subsequent replicas directives unless you override it.
  • sync_export_list exports packets for replicas specified on the command line, and then exports packets for replicas specified in the script file.

    For example, in the following script file the directives sclass:daily and limit:10 apply to both replicas directives.


    compress ship maxsize:2g sclass:daily update limit:10 replicas:
    rep1@\myvob nocompress fship maxsize:1g noupdate replicas:rep2@
    \myvob,rep3

Examples

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

  • Send update packets from all replicas on the host to all their siblings.


    /opt/hcl/ccm/versionvault/config/scheduler/tasks/sync_export_list –all


    SUCCESSFUL COMPLETION: log file removed.

  • Create a script file for the VOB families \tests and \dev. Create a job that runs sync_export_list every night at 1:00 a.m.

    Script file:

    compress fship sclass:tests noupdate replicas:sanfran_hub@\tests,
    sydney sclass:dev update replicas:\dev

    Job definition:

    Job.Begin
    Job.Id: 25
    Job.Name: "Sync Export tests dev"
    Job.Description.Begin:
    Every midnight, export update packets to replicas in VOB
    families \tests and \dev.
    Job.Description.End:
    Job.Schedule.Daily.Frequency: 1
    Job.Schedule. FirstStartTime: 01:00:00
    Job.DeleteWhenCompleted: FALSE
    Job.Task: 13
    Job.Args: -quiet 1 \\shinjuku\scripts\sync_export_tests_dev
    Job.End

  • Generate update packets for replicas in the family /vobs/dev. Store the packets in the storage bay, limit the packet size to 500 KB, and display messages during processing.



    /opt/hcl/ccm/versionvault/config/scheduler/tasks/sync_export_list –ship
    –maxsize 500k –trace –replicas /vobs/dev


    command options specified or defaulted:
       compress: 0
       logdir:
       storage-class:
       workdir:
       maxpacket: 500k
       limit: 0
       all: 0
       fship: 0
       ship: 1
       poll: 0
       lockwait: 0 minutes
       retries: 1 times, wait 30 seconds
       script:
    CMD: bin/cleartool lsvob /vobs/dev > /dev/null
       vob: /vobs/dev
       replicas: bangalore buenosaires
    CMD: bin/multitool syncreplica -export -maxsize 500k -ship
    replica:bangalore@/vobs/dev >&2
    CMD: bin/multitool syncreplica -export -maxsize 500k -ship
    replica:buenosaires@/vobs/dev >&2
    SUCCESSFUL COMPLETION: see log file at:
    "/var/adm/hcl/versionvault/log/sync_logs/send-000815-183301Z-6043_log".

Files

On Linux and the UNIX system

/var/adm/hcl/versionvault/log/sync_logs

/var/adm/hcl/versionvault/config/shipping.conf

versionvault-home-dir/config/scheduler/multisite.schedule

On Windows

versionvault-home-dir\var\log