[JIRA] (JENKINS-55253) Client MODTIME is not set using source: depotSource(spec)

6 views
Skip to first unread message

alisdair.robertson@seeingmachines.com (JIRA)

unread,
Dec 19, 2018, 1:55:02 AM12/19/18
to jenkinsc...@googlegroups.com
Alisdair Robertson created an issue
 
Jenkins / Bug JENKINS-55253
Client MODTIME is not set using source: depotSource(spec)
Issue Type: Bug Bug
Assignee: Unassigned
Components: p4-plugin
Created: 2018-12-19 06:54
Priority: Major Major
Reporter: Alisdair Robertson

We are using the p4sync step in the following way, inside our pipeline to sync some thirdparty libraries:

p4sync charset: 'none',
    credential: 'p4-buildserver-credentials',
    format: "j-\${NODE_NAME}-\${JOB_NAME}-\${EXECUTOR_NUMBER}-${suffix}",
    populate: autoClean(
        delete: true,
        modtime: true,
        parallel: [
            enable: true, minbytes: '1024', minfiles: '1', threads: '8'
        ],
        pin: "$env.GLOBAL_P4_CHANGELIST",
        quiet: true,
        replace: true,
        tidy: false
    ),
    source: depotSource(spec) // spec is a variable defined elsewhere

The problem seems to be that the modtime: true appears to be useless, because the workspace as created in perforce does not have the MODTIME option set so files are not being synced with the modification time from the depot, and are having their modification times updated each time by the p4 reconcile command.

An argument to depoSource to specify that the workspace should have modtime enabled seems like it would be very useful.

Alternatively, perhaps the modtime and other options should be passed to the workspace spec here:
https://swarm.workshop.perforce.com/projects/p4-jenkins/files/main/src/main/java/org/jenkinsci/plugins/p4/workflow/source/DepotSource.java#33

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

alisdair.robertson@seeingmachines.com (JIRA)

unread,
Dec 19, 2018, 9:39:01 AM12/19/18
to jenkinsc...@googlegroups.com
Alisdair Robertson commented on Bug JENKINS-55253
 
Re: Client MODTIME is not set using source: depotSource(spec)

Seems like this report may have been a bit premature - I'm seeing the expected behaviour after a few builds have populated the workspaces of most of our nodes.

Does the workspace MODTIME option not have influence over the -m option for p4 reconcile?

pallen@perforce.com (JIRA)

unread,
Dec 20, 2018, 9:42:02 AM12/20/18
to jenkinsc...@googlegroups.com

kwirth@perforce.com (JIRA)

unread,
Jul 1, 2019, 12:31:02 PM7/1/19
to jenkinsc...@googlegroups.com
Karl Wirth updated an issue
Change By: Karl Wirth
Attachment: image-2019-07-01-17-30-47-996.png

kwirth@perforce.com (JIRA)

unread,
Jul 1, 2019, 12:32:01 PM7/1/19
to jenkinsc...@googlegroups.com
Karl Wirth commented on Bug JENKINS-55253
 
Re: Client MODTIME is not set using source: depotSource(spec)

The following option in the 'p4sync' syntax generator is misleading:

It refers to a performance option on the reconcile command:

	The -m flag used in conjunction with -e can be used to minimize
	costly digest computation on the client by checking file modification
	times before checking digests to determine if files have been
	modified outside of Perforce.

If date stamp on file is the same assume the file has not been touched. If it differs from the stamp in the database run the costly digest calculation. For example to calculate digest of a 10GB file all 10GB needs to be read from agent disk. This skips that read.

 

kwirth@perforce.com (JIRA)

unread,
Jul 1, 2019, 12:35:02 PM7/1/19
to jenkinsc...@googlegroups.com

kwirth@perforce.com (JIRA)

unread,
Jul 1, 2019, 12:35:02 PM7/1/19
to jenkinsc...@googlegroups.com
Karl Wirth closed an issue as Not A Defect
 

Closing for now. Th echeckbox control the '-m' option being appended to 'reconcile' and is not related to sync modtime.

 

Please feel free to reopen if you have further questions.

Change By: Karl Wirth
Status: Open Closed
Resolution: Not A Defect
Reply all
Reply to author
Forward
0 new messages