p4 pull
Retrieve metadata or versioned files from a
      P4 Server
      master server to a replica, or display status information about pending
      transfers, although there is a special syntax for a commit server to pull from a replica. In most situations, server replication with p4 pull
      is preferable to p4
	    replicate.
Syntax for a replica to pull from a commit server
p4 [g-opts] pull [-J prefix] [-i interval] [-b interval] [-T excluded_tables] [-P serverid]
p4 [g-opts] pull -u [-i interval -b interval --batch=number --min-size=number --max-size=number --trigger]
p4 [g-opts] pull -l [-s | -j [-J prefix] [-v]]
p4 [g-opts] pull -d -f file -r revision p4 [g-opts] pull -L [-i interval]
p4 [g-opts] pull -R [file] p4 pull -T
Syntax for a commit server to pull from a replica
p4 pull -u -t target [-i interval -b interval]
Description
Except for testing purposes, p4 pull is rarely run
      from the command line. Instead, set the
      startup.N configurable to start the
      p4 pull processes every time the replica server
      starts.
The p4 pull command provides syntax
      variants, such as:
- 
                                                    p4 [g-opts] pull [-J prefix] [-i interval] [-b interval] [-T excluded_tables] [-P serverid] 
 Retrieves journal records from a target server specified byP4TARGET
- 
                                                    p4 [g-opts] pull -u [-i interval -b interval --batch=number --min-size=number --max-size=number --trigger] 
 Retrieves file contents from a target server specified byP4TARGET
- 
                                                    p4 [g-opts] pull -l [-s | -j [-J prefix]] 
 Displays information about scheduled file transfers.
- 
                                                    p4 [g-opts] pull -d -f file -r revision 
 Cancels a scheduled file transfer.
- 
                                                    p4 [g-opts] pull -L [-i interval] 
 Specifies that journal records be retrieved from a local journal file (produced by thep4 journalcopycommand) rather than from the journal file of the target server. These records are then written to the replica’s database. For a standby replica for failover.
p4 [g-opts] pull -R
retries all failed transfers.
p4 [g-opts] pull -R file
retries the failed transfer of the specified file.
The state file
When you stop either the master server or a replica server, the replica
      server tracks the most recent journal position in a small text file
      called the state file. By default, the state file is named
      state and resides in the replica server’s root directory.
      You can specify a different file name by setting the
      statefile configurable with p4 configure.
Retrieving journal and file content
The p4 pull command instructs the current replica
      server to retrieve either journal records or file contents from a target
      server specified by P4TARGET.
      Some replica servers do not need both journal records and file contents:
      for example, if you are creating a replica to help with offline
      checkpointing, you do not need to transfer file contents.
To replicate both metadata and file contents, you must run at least two
      p4 pull commands: 
- 
                                                    one p4 pull(without the-uoption) to replicate the master server’s metadata, and
- 
                                                    at least one p4 pull(with the-uoption) to replicate the server’s versioned files.
Setting the rpl.compress configurable allows you to
	compress journal record data that is transmitted using p4
	    pull.
Getting status information
Use the -l option to display a list of files that are
      scheduled for transfer. If -s is specified along with
      -l, a summary of scheduled file transfers is displayed. An
      additional line specifies the oldest changelist number that has at least
      one pending transfer. This provides a clue about how far the replica is
      lagging in its transfer of archive content.
An operator can run the p4 journalcopy -l,
      p4 pull -l -j, and p4 pull -l -s
      commands. This makes it possible for an operator to confirm the state of
      a replica.
File transfers: n active/m total, bytes: nnn active/mmmmm total. Oldest change with at least one pending file transfer: n
For example, the following output:
File transfers: 1 active/63 total, bytes: 745 active/23684 total.
Tells us that there are 63 pending archive file transfers, one of which is currently active; and there are 23,684 bytes needed to be transferred of which 745 are currently actively being transferred.
If -j is specified with -l, report the current
      journal state at the current replica and its master, the last time the
      state file was modified, and the server’s local time and time zone. For
      example:
Current replica journal state is: Journal jjj, Sequence: sssss. Current master journal state is: Journal jjj, Sequence: sssss. The statefile was last modified at: 2012/01/10 14:23:23. The Server time is currently: 2012/01/10 14:23:23 -0800 PST
The value of jjj specifies a journal number;
      sssss specifies an offset in that journal.
Options
| 
 | Specify a polling interval in seconds for retries after failed retrieval attempts. If you do not specify this option, the pull is retried after 60 seconds. | 
| 
 | Transfer archive files Versioned files that users have submitted to a depot. instead of journal records. If you omit this option, the command retrieves journal records. Multiple p4 pull -u commands can be active on a single replica server. | 
| 
 | Use this option to specify the number of files a pull thread should process in a single request. For high-latency configurations, providing a larger value than the default might improve archive transfer speed for large numbers of small files. Default:  | 
| 
 
 | The  
 Pull threads called with these options pull files within the data size range specified with these options. The default size unit is bytes, but K, M, G, and T modifiers can also be used, such as 2K. See Example for min and max sizes. | 
| 
 
 | |
| 
 | Cancel a pending file content transfer, where
	       The archive revision reported by the  
 | 
| 
 | Specify a polling interval in seconds for content retrieval. The smallest interval is one second. If you omit this option, the command runs once and exits. If you set the interval to be  | 
| 
 | Specify a prefix for the rotated journal file; overrides
	       If your master server uses a non-default rotated journal location, this allows you to specify the rotated journal file location on the master server. | 
| 
 | List files that are scheduled for transfer. The archive revision reported by the  If you use this option on an edge server or build server that
	      has  p4 pull -l (and  | 
| 
 | Display the current journal state on the replica and the master. During the process of journal rotation on the master, the output
	      of  
 | 
| 
 | Display a summary of scheduled file content transfers. If this
	      list is unexpectedly long or is growing, you might consider
	      running additional  | 
| 
 | Retrieve journal records from a local journal file, normally
	      produced by the  | 
| 
 | Filter data from  In older releases, this option confirmed filters defined in the
	      filter spec. This confirmation is no longer required. The option
	      is retained for continued support of earlier releases. It can
	      also be useful if you want to share filter configuration among
	      multiple servers. In this case, the  For compatibility with earlier releases of
		P4 Server, you can
		also supply filter patterns directly within this field by using
		the same syntax used by the  | 
| -R | p4 pull -R file retries the failed transfer of the specified file. p4 pull -R retries ALL failed transfers. The  | 
| 
 | Supply a list of database tables (for example,
	       To specify multiple tables, double-quote the list and separate
	      the table names with spaces. Table names can also be separated by
	      commas. For example,  | 
| --trigger | The  | 
| -t target | On the commit server, if p4 pull -l indicates that the commit server is not able to pull the archives from the edge, issue the following command manually: p4 pull -u -t target where: 
 | 
| 
 | See Global options. | 
Usage notes
| Can File Arguments Use Revision Specifier? | Can File Arguments Use Revision Range? | Minimal Access Level Required | 
|---|---|---|
| N/A | N/A | 
 the  | 
For more about configuring P4 Server to run in a replicated environment, see Replication in the P4 Server Administration Documentation.
Example for min and max sizes
startup.2=pull -u -i 1 --batch=1000 --min-size=1 --max-size=2047 startup.3=pull -u -i 1 --batch=5 --min-size=2048 --max-size=4096 startup.4=pull -u -i 1 --batch=5 --min-size=4097
Related commands
| To configure a
	      P4 Server to run a set of  | |
| To replicate metadata from one server to another | |
| To display journal or checkpoint records in raw form | |
| To copy journal data to a replica’s local file system. |