SDP-885 #1

  • //
  • spec/
  • job/
  • SDP-885
  • View
  • Commits
  • Open Download .zip Download (5 KB)
# 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 given job 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/Doc/Feature/Problem].  Required.
#                 
#                 Bug: is a problem that is fairly well understood,
#                 e.g. one for which there is a reproduction or clear
#                 articulation of the problem.
#                 
#                 Doc: A Documentation fix.
#                 
#                 Feature: An enhancement request, perhaps adding
#                 a new product features, improving maintainability,
#                 essentially any new software improvement other than
#                 a fix to something broken.
#                 
#                 Problem: a 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-885

Status:	open

Project:	perforce-software-sdp

Severity:	B

ReportedBy:	tom_tyler

ReportedDate:	2023/02/22 17:33:01

ModifiedBy:	tom_tyler

ModifiedDate:	2023/02/22 17:33:01

OwnedBy:	tom_tyler

Description:
	Revise SDP script log handling so checkpoint.log is a symlink (Windows).
	
	In several places in SDP script logging, there is a theme that the "simply
	named" file name, i.e. the log file without a date/time stamp, is always
	the most recent log.  The 'checkpoint.log' is a prime example; there are
	several others, such as sync_replica.log.
	
	Having a consistent name to go to in order to see the latest log is
	very useful and familiar to SDP users.
	
	However, it also contributes to a problem where a log can get jumbled with
	contents from multiple runs of a script, e.g. if a checkpoint script scheduled
	to run daily runs for more than 24 hours, or if it is run concurrently by
	multiple human admins or crontab interfering with human admins (regardless
	of whether or not the given script supports concurrent operation).
	
	This job calls for a change so that scripts start writing a new log file
	immediately, and in early processing update the symlink to refer to the new
	log file name.
	
	Goals of this change:
	* No more script log jumbling or log file overwriting/corruption due to
	concurrent operation (or any other reason).
	* No changes required to documentation or operational procedures. For example,
	the familiar way of interacting with 'checkpoint.log' of doing a 'tail 
	checkpoint.log' just after starting one of the scripts that write to checkpoint.log
	should work as expected.
	
	This would apply to the following:
	* checkpoint.log
	* sync_replica.log
	* replica_cleanup.log
	* request_checkpoint.log
	* recreate_offline_db.log
	* p4verify.log
	
	This job is for the Windows implementation; see SDP-884 for the UNIX/Linux implementation.

Component:	core-win

Type:	Feature
# Change User Description Committed
#1 default