# This file is sourced by scripts that work with edge servers. # It sets the correct list db.* files that are edge-specific in the # federated architecture. This version is dependent on the version of # p4d in use. # # See: https://www.perforce.com/perforce/doc.current/manuals/p4sag/Content/P4SAG/commit-edge-start.html # Note: $P4D_VERSION looks something like "2020.2.2202902." In comparisons # below, a lexigraphical rather than numeric comparison operator is used. # The greater-than symbol '>' can be thought of as "greater to or equal to" # in this context, because a version string like "2020.2.2292902" is # lexigraphically greater than the string "2020.2", so checking # '> "2020.2"' can be interpreted as "If the p4d major version is greater # than or equal to 2020.2. if [[ "${P4D_VERSION:-1970.1}" > "2020.2" ]]; then ExcludedTables=db.have,db.working,db.locks,db.resolve,db.revsh,db.workingx,db.resolvex,db.stash,db.haveg,db.workingg,db.locksg,db.resolveg,db.storagesh,db.storagesx elif [[ "${P4D_VERSION:-1970.1}" > "2019.0" ]]; then ExcludedTables=db.have,db.working,db.locks,db.resolve,db.revsh,db.workingx,db.resolvex,db.stash,db.haveg,db.workingg,db.locksg,db.resolveg,db.storagesh elif [[ "${P4D_VERSION:-1970.1}" > "2018.2" ]]; then ExcludedTables=db.have,db.working,db.locks,db.resolve,db.revsh,db.workingx,db.resolvex,db.stash,db.haveg,db.workingg,db.locksg,db.resolveg elif [[ "${P4D_VERSION:-1970.1}" > "2015.1" ]]; then ExcludedTables=db.have,db.working,db.locks,db.resolve,db.revsh,db.workingx,db.resolvex,db.stash,db.haveg,db.workingg,db.locksg,db.resolveg else ExcludedTables=db.have,db.working,db.locks,db.resolve,db.revsh,db.workingx,db.resolvex,db.stash fi CheckpointTables=$ExcludedTables,db.view,db.label,db.revsx,db.revux,db.storage
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#3 | 29653 | C. Thomas Tyler |
Added db.storage to set of tables to checkpoint on an edge during edge recovery operations. This is related to p4d server jobs. The impact of missing data is limited to loss of db.storage entries related to the spec depot for edge-specific clients, entries which are not available in the commit servers slightly diverged db.storage. #review-29654 @russel_jackson @amo @jack_clucas @robert_cowham |
||
#2 | 27803 | C. Thomas Tyler |
Updated list p4d version-specific list of federated db.* tables for edges. Added reference to core docs re: version-specific list of tables. Added comment block describing usage of lexigraphical comparison. #review-27804 @d_benedict |
||
#1 | 25920 | C. Thomas Tyler |
Added new 'edge_vars' file to dynamically set list of edge-specific db tables based on current P4D version. Updated edge_dump.sh, recover_edge.sh, and load_checkpoint.sh to use the new edge_vars file. Made edge_dump.sh and recover_edge.sh shellcheck v0.6.0 compliant, along with load_checkpoint.sh. |