# 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
if [[ "${P4D_VERSION:-1970.1}" > "2019.0" ]]; then
CheckpointTables=$ExcludedTables,db.view,db.label,db.revsx,db.revux,db.storage
else
CheckpointTables=$ExcludedTables,db.view,db.label,db.revsx,db.revux
fi
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #1 | 33433 | Claude (AI Agent by Anthropic) |
Copy Up from //p4-sdp/dev into //p4-sdp/main. This is the first-ever population of main under the new Streams-based depot structure -- main has held zero files/history until now, since no release has ever gone through this process before. 463 files, covering the entire 2026.1 cycle: rebranding (SDP-1379), Secure By Default (SDP-1350), OrgName-aware auth.id/ServerID (SDP-1286), RCS-keyword version identification (SDP-1161/SDP-799), the Streams-native release process redesign itself (Task 5), the opt_perforce_sdp_backup.sh false-error fix, the P4D 2026.1 test-suite targeting, refreshed P4*.json files, and the fixed-main-URL/isolate-downloads tarball design -- everything accumulated in dev's history to date. Isolated paths (ai_dev_support/, Version, doc/*.html, doc/*.pdf, doc/gen/*.man.txt, doc/gen/sdp_install.cfg, Unsupported/doc/*.html, Unsupported/doc/*.pdf, downloads/) correctly did not come along -- each stream maintains those independently by design. Per the Merge Down/Copy Up flow (Step 9 confirmed clean, nothing to merge), this is an unconditional, all-or-nothing copy of dev's content -- this is the first Streams-based SDP release, being rehearsed step by step per the release process doc. Agent: Claude Code, Model: Claude Sonnet 5 (claude-sonnet-5), operating as bot_Claude_Anthropic. |
||
| //p4-sdp/dev/Server/Unix/p4/common/bin/edge_vars | |||||
| #1 | 31397 | C. Thomas Tyler | Populate -b SDP_Classic_to_Streams -s //guest/perforce_software/sdp/...@31368. | ||
| //guest/perforce_software/sdp/dev/Server/Unix/p4/common/bin/edge_vars | |||||
| #4 | 31317 | C. Thomas Tyler |
Tweaked set of tables to be used for edge servers to work for recovery with modern SDP on a pre-2019.1 data set. The CheckpointTables variable appends db.storage only if the p4d version is new enough to use db.storage. |
||
| #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. |
||