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

p4publish and unexpected timeout - 300 seconds

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • p4-plugin

      In case long publish (more than 300s) - pipeline failed with error:
      ERROR: java.lang.InterruptedException
      Short/small submits - no errors

      Network activity show normal submit (200+ mbit/s)

      p4d logs - brocken pipe

      Timeout period looks like not on p4 submit, but on all stack of p4publish groovy commands (ex: 21:02:56 - 21:07:56)

      [Pipeline] p4publish
      21:02:56 ... p4 client -o XXX +
      21:02:56 ... p4 info +
      21:02:56 ... p4 client -o XXX +
      21:02:56 ... p4 client -i +
      21:02:56 ... client: XXX
      21:02:56 ... p4 client -o XXX  +
      21:02:56 ... p4 info +
      21:02:56 
      21:02:56 P4 Task: establishing connection.
      21:02:56 ... server: XXX:1666
      21:02:56 ... node: XXX
      21:02:56 
      21:02:56 P4 Task: reconcile files to changelist.
      21:02:56 ... p4 revert -k //XXX/... +
      21:02:56 ... p4 sync -k //XXX/... +
      21:02:56 ... p4 reconcile -e -a -f -d //XXX/... +
      21:02:59 ... p4 opened -CXXX //XXX/... +
      21:02:59 duration: 0m 2s
      21:02:59 
      21:02:59 P4 Task: publish files to Perforce.
      21:02:59 ... p4 change -i +
      21:02:59 ... p4 change -o 343 +
      21:02:59 ... pending change: 343
      21:02:59 ... p4 reopen -c343 -t+S1 //XXX/... +
      21:02:59 ... p4 opened -CXXX //XXX/... +
      21:02:59 ... ... add //XXX
      ...1500+ files
      21:02:59 ... ... add //XXX
      21:03:00 ... p4 describe -s 343 +
      21:03:00 ... p4 fixes -c343 +
      21:03:00 ... p4 submit -i +
      21:03:00 
      [Pipeline] }
      [Pipeline] // node
      [Pipeline] }
      [Pipeline] // stage
      [Pipeline] node
      21:07:56 Running on node_name in c:\jenkins-web\workspace\main_build
      [Pipeline] {
      [Pipeline] echo
      [Pipeline] error
      [Pipeline] }
      [Pipeline] // node
      [Pipeline] }
      [Pipeline] // timestamps
      [Pipeline] End of Pipeline
      ERROR: java.lang.InterruptedException
      Finished: FAILURE
      

      Pipeline(fragment):

       

         try {
              stage('Push results'){
                  node(WN_NODE) {
                      def p4_spec_name = "jenkins-${env.NODE_NAME}-${env.JOB_NAME}-bin"
                      def p4_mapping = """XXX"""
                      def p4_description = "${build_desc} ${job_tag}"
          p4publish credential: p4_credentials,
              publish: [$class: 'SubmitImpl', delete: true, description: p4_description, onlyOnSuccess: false, reopen: false, purge: '1'],
              workspace: [$class: 'ManualWorkspaceImpl', charset: 'auto', name: p4_spec_name, pinHost: false,
                  spec: [allwrite: true, clobber: false, compress: false, line: 'LOCAL', locked: false, modtime: false, rmdir: true, streamName: '', view: p4_mapping]]
      
                  }
      
              }
          }
          catch (err){
              node(WN_NODE){
                      error "${err}"
              }
          }
      
      

       

      p4sync - no error on long/big sync > 300s

      After failure - in perforce remain good changelist, p4v submit his without problem and timeout limits.

       

      In p4 credentials RPC_SOCKET_SO_TIMEOUT_NICK == 0

       

      Jenkins docker-compose.yml

       

      version: '2'
      services:
        jenkins:
          image: "jenkins:latest"
          restart: always
          ports:
            - 50000:50000
            - 8080:8080
          volumes:
            - ./jenkins_home:/var/jenkins_home
          logging:
            driver: json-file
            options:
              max-size: "10m"
              max-file: "3"
          environment:
            - JAVA_OPTS="-Duser.timezone=Europe/Kiev"
      

       

       

      docker logs at this period:

      May 22, 2017 9:00:35 PM org.jenkinsci.plugins.p4.PerforceScm guessBrowser
      INFO: Unable to guess repository browser.
      May 22, 2017 9:07:56 PM org.jenkinsci.plugins.workflow.job.WorkflowRun finish
      INFO: main_build #29 completed: FAILURE
      

       

       

            p4karl Karl Wirth
            t_rex Oleksii Trekhov
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: