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

Plugin does not work with read-only perforce replica

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Won't Fix
    • Component/s: p4-plugin
    • Labels:
      None
    • Environment:
      Jenkins 2.7.3; p4-plugin 1.4.9
    • Similar Issues:

      Description

      Our Jenkins instance uses a read-only perforce replica.

      After updating the p4 plugin to v1.4.9, the error 'Replica does not support this command' for p4 revert is no longer quietly ignored and causes the Jenkins job to terminate.

      The full output is now:
      p4 revert [...]
      Replica does not support this command.
      ERROR: P4JAVA: Error(s):
      Replica does not support this command.

      This error now means that the plugin does not work with perforce replicas.

      Unfortunately, reverting to 1.4.8 is not an option, as we require one of the other changes in 1.4.9.

        Attachments

          Issue Links

            Activity

            Hide
            p4paul Paul Allen added a comment -

            I am unable to fix this issue due to the behaviour of a read-only replica server. 

            Show
            p4paul Paul Allen added a comment - I am unable to fix this issue due to the behaviour of a read-only replica server. 
            Hide
            horangs Hokwang Lee added a comment -

            Paul Allen 

            Hello.

            I am using Jenkins with P4 first time.

            I have master and one read-only replica and broker and one build farm replica.

            Did you mean that Jenkins admin should not use broker, read-only replica, build farm replica, right??

            Show
            horangs Hokwang Lee added a comment - Paul Allen   Hello. I am using Jenkins with P4 first time. I have master and one read-only replica and broker and one build farm replica. Did you mean that Jenkins admin should not use broker, read-only replica, build farm replica, right??
            Hide
            p4karl Karl Wirth added a comment -

            Hi Hokwang Lee. The only option that will work is if you choose static pre-configured workspaces and the option:

            'Sync Only' with 'Populate have list' unticked:

            as mentioned above.

            For anything else P4Jenkins expects to be able to run non readonly commands so an 'edge' or 'forwarding replica' is required.

            Show
            p4karl Karl Wirth added a comment - Hi Hokwang Lee . The only option that will work is if you choose static pre-configured workspaces and the option: 'Sync Only' with 'Populate have list' unticked: as mentioned above. For anything else P4Jenkins expects to be able to run non readonly commands so an 'edge' or 'forwarding replica' is required.
            Hide
            horangs Hokwang Lee added a comment -

            Karl Wirth

            Thanks for your comment.

             

            But I can't understand well.

             

            I think process is like below,

            1. perforce create workspace for reading Jenkinsfile(s) and creating pipeline. (In this case, I want to create workspace and read it and delete workspace automatically)
            2. and then running pipeline of some branch,
            3. kubernetes create pod for this
            4. and perforce create workspace written in Jenkinsfile
            5. and sync file, compile, and delete workspace automatically I want 

            In this senario, why need master server ? I don't know which action is needed for workspace

            I just think create workspace and then sync and the delete it.

            and If so many jobs in Jenkins and scheduling very often, is that correct way ?

            I don't think so, Jenkins should use broker or build farm replica .

            Show
            horangs Hokwang Lee added a comment - Karl Wirth Thanks for your comment.   But I can't understand well.   I think process is like below, perforce create workspace for reading Jenkinsfile(s) and creating pipeline. (In this case, I want to create workspace and read it and delete workspace automatically) and then running pipeline of some branch, kubernetes create pod for this and perforce create workspace written in Jenkinsfile and sync file, compile, and delete workspace automatically I want  In this senario, why need master server ? I don't know which action is needed for workspace I just think create workspace and then sync and the delete it. and If so many jobs in Jenkins and scheduling very often, is that correct way ? I don't think so, Jenkins should use broker or build farm replica .
            Hide
            p4karl Karl Wirth added a comment -

            Only just seen above comment. I beleive it's the revert that is blocking this.

             

            Note: Review builds are also not allowed on build-servers because the do not support unshelving:

            p4 unshelve -f -s568 -cdefault
            
            Replica does not support this command.
            
            P4JAVA: Replica does not support this command.
            P4 Task: attempt: 1
            ERROR: P4: Task Exception: hudson.AbortException: P4JAVA: Error(s):
            P4JAVA: Replica does not support this command.
            
            Show
            p4karl Karl Wirth added a comment - Only just seen above comment. I beleive it's the revert that is blocking this.   Note: Review builds are also not allowed on build-servers because the do not support unshelving: p4 unshelve -f -s568 -cdefault Replica does not support this command. P4JAVA: Replica does not support this command. P4 Task: attempt: 1 ERROR: P4: Task Exception: hudson.AbortException: P4JAVA: Error(s): P4JAVA: Replica does not support this command.

              People

              • Assignee:
                Unassigned
                Reporter:
                dspencer12 Daniel Spencer
              • Votes:
                1 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: