# The form data below was edited by tom_tyler
# Perforce Workshop Jobs
#
# Job: The job name. 'new' generates a sequenced job number.
#
# Status: Job status; required field. There is no enforced or
# promoted workflow for transition of jobs from one
# status to another, just a set of job status values
# for users to apply as they see fit. Possible values:
#
# open - Issue is available to be worked on.
#
# inprogress - Active development is in progress.
#
# blocked - Issue cannot be implemented for some reason.
#
# fixed - Fixed, optional status to use before closed.
#
# closed - Issue has been dealt with definitively.
#
# punted - Decision made not to address the issue,
# possibly not ever.
#
# suspended - Decision made not to address the issue
# in the immediate future, but noting that it may
# have some merit and may be revisited later.
#
# duplicate - Duplicate of another issue that.
#
# obsolete - The need behind the request has become
# overcome by events.
#
# Project: The project this job is for. Required.
#
# Severity: [A/B/C] (A is highest) Required.
#
# ReportedBy The user who created the job. Can be changed.
#
# ReportedDate: The date the job was created. Automatic.
#
# ModifiedBy: The user who last modified this job. Automatic.
#
# ModifiedDate: The date this job was last modified. Automatic.
#
# OwnedBy: The owner, responsible for doing the job. Optional.
#
# Description: Description of the job. Required.
#
# DevNotes: Developer's comments. Optional. Can be used to
# explain a status, e.g. for blocked, punted,
# obsolete or duplicate jobs. May also provide
# additional information such as the earliest release
# in which a bug is known to exist.
#
# Component: Projects may use this optional field to indicate
# which component of the project a givenjob is associated
# with.
#
# For the SDP, the list of components is defined in:
# //guest/perforce_software/sdp/tools/components.txt
#
# Type: Type of job [Bug/Feature/Problem]. Required.
# Feature and Bug are common terms.
# A Problem is suspected bug, or one without a clear
# understanding of exactly what is broken.
#
# Release: Release in which job is intended to be fixed.
Job: SDP-791
Status: open
Project: perforce-software-sdp
Severity: C
ReportedBy: tom_tyler
ReportedDate: 2022/05/13 10:01:20
ModifiedBy: tom_tyler
ModifiedDate: 2022/05/13 10:01:20
OwnedBy: tom_tyler
Description:
Support /hxtmp being a separate storage volume.
DevNotes:
2022/05/13 ttyler: It's not clear whether this is a good idea or
really needed. This job is being filed more to encourage pondering
rather than an ask.
This was driven in part for by a situation where H4G was deployed,
too-large repos were used, cauing the P4TMP directory (which lives
on the /hxlogs volume, long with critical P4JOURNAL file), caused the
P4JOURNAL get corrupted.
The customer in question did not have filesys.*.min safety features
enabled; they do now to prevent recurrence. That might be the end
of story? Filling up disk space on P4JOURNAL is bad, and can lead
to worse things (e.g. neededing a live checkpoint and global topology
reseed). Having a separate /hxtmp (as an option) could provide a
way to reduce one situation in which P4JOURNAL gets corrupted. So
that's a reason to consider it. But, is setting filesys.*.min a
good enough defense that we don't need a structural change?
Aside from the historical solution, does it make sense to make it
make it a standard option in SDP to provide separate storage for a
/hxtmp volume? The goal would be to help reduce failure modes of
the overall p4d infrastructure. Are the needs of P4TMP different
enough from other things on /hxlogs (mainly P4JOURNAL and P4LOG) to
allow a separate /hxtmp volume as a standard SDP feature?
Various SDP scripts as well as any custom automation (including
triggers) use both $LOGS (/hxlogs) and $P4TMP.
It could easily be done as a custom configuration at any site with
a few symlink tweaks.
From an effort perspctive, it would entail changes to various docs
and scripts to account for symlinks needed for structural change,
and would also require an update to the Helix Installer, mkdirs.sh,
verify_sdp.sh, etc.
Separately, we could make a simpler doc change to describe how
linking /p4/N/tmp to /hxtmp/p4/N/tmp could be done as a custom
option, and make sure it doesn't trip up the verify_sdp.sh script.
Component: core-unix
Type: Feature