Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-61745

Scan multibranch with date range or dop '@now'

    Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: p4-plugin
    • Labels:
    • Environment:
      p4-plugin 10.1.9
    • Similar Issues:

      Description

      When scanning for changes in multibranch pipelines we use p4 changes -m1 //Path/...@now. This is triggering a similar resource behavior to:

      JENKINS-57870

      For example with a big dataset in the multibranch scan log we see:

      p4 changes -m1 //Path/branch/...@now
      Request too large (over 500000); see 'p4 help maxresults'.
      ERROR: [Mon Mar 30 13:07:05 CEST 2020] Could not fetch branches from source d5fe37f7-6c40-4111-af23-d4f539fec120
      com.perforce.p4java.exception.RequestException: Request too large (over 500000); see 'p4 help maxresults'.
      

      When checking this at the command line we see that limiting the query or dropping '@now' works:

      $ p4 changes -m1 //path/branch/...@now
      Request too large (over 500000); see 'p4 help maxresults'.$ p4 changes -m1 //path/branch/...@2020/03/30
      Request too large (over 500000); see 'p4 help maxresults'.$ p4 changes -m1 //path/branch/...
      Change 62552 on 2020/03/30 by user@PC1 'CL Description'$ p4 changes -m1 //path/branch/...@52552,62552
      Change 62552 on 2020/03/30 by user@PC1 'CL Description'
      

      Would be great if we could either drop the usage of '@now' or restrict to the last n changes.

       

       

        Attachments

          Issue Links

            Activity

            Hide
            p4paul Paul Allen added a comment -

            I doubt the p4d is scanning the wrong way (the -m1 flag should be minimal load).  The Build user should not have MaxResults set; perhaps MaxLockTime would be more appropriate or run off a replica to minimise load.

            Notes: Possibly apply ConnectionHelper::getHeadLimit() to AbstractP4ScmSource::findLatestChange(...)

            Show
            p4paul Paul Allen added a comment - I doubt the p4d is scanning the wrong way (the -m1 flag should be minimal load).  The Build user should not have MaxResults set; perhaps MaxLockTime would be more appropriate or run off a replica to minimise load. Notes: Possibly apply ConnectionHelper::getHeadLimit() to AbstractP4ScmSource::findLatestChange(...)
            Show
            p4paul Paul Allen added a comment - Added fix:  https://github.com/jenkinsci/p4-plugin/commit/62c83c4368a10a2538a04f1988ae59c9c00d11cc
            Show
            p4paul Paul Allen added a comment - Latest build:  https://ci.jenkins.io/job/Plugins/job/p4-plugin/job/master/446/
            Hide
            p4paul Paul Allen added a comment -

            Release in 1.10.13

            Show
            p4paul Paul Allen added a comment - Release in 1.10.13

              People

              • Assignee:
                p4paul Paul Allen
                Reporter:
                p4karl Karl Wirth
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: