[JIRA] (JENKINS-39824) Plugin does not work with read-only perforce replica

3 views
Skip to first unread message

daniel.mic.spencer@hpe.com (JIRA)

unread,
Nov 17, 2016, 8:29:03 AM11/17/16
to jenkinsc...@googlegroups.com
Daniel Spencer created an issue
 
Jenkins / Bug JENKINS-39824
Plugin does not work with read-only perforce replica
Issue Type: Bug Bug
Assignee: Unassigned
Components: p4-plugin
Created: 2016/Nov/17 1:28 PM
Environment: Jenkins 2.7.3; p4-plugin 1.4.9
Priority: Major Major
Reporter: Daniel Spencer

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.

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo

kwirth@perforce.com (JIRA)

unread,
Nov 25, 2016, 10:27:05 AM11/25/16
to jenkinsc...@googlegroups.com
Karl Wirth commented on Bug JENKINS-39824
 
Re: Plugin does not work with read-only perforce replica

Hi Daniel,

A read only replica is a use case we never envisaged because you cannot update the have list during sync. The reason it stopped working in 1.4.9 is that we realized there were a lot of failures the plugin was silently ignoring so invalid builds may have been generated without being flagged to the end users. Therefore the plugin now flags most errors.

Can you please confirm that the replica is a read-only and not forwarding replica. Which major version of P4D is this on?

Also would it be possible to get a general description of the build that used to work so we can see how you use it.

Thanks in advance,

Karl

daniel.mic.spencer@hpe.com (JIRA)

unread,
Nov 28, 2016, 5:07:01 AM11/28/16
to jenkinsc...@googlegroups.com

Hi Karl,

The replica is a read-only replica - the configuration is:
Services: build-server
db.replication=readonly (configure)
lbr.replication=readonly (configure)

The master and replica are both running on P4D version P4D/LINUX26X86_64/2015.1/1204891 (2015/07/17).

We have not yet fully implemented the P4 plugin, as we are currently looking to transition to this from the perforce plugin. Therefore, we do not yet have working builds.

Thanks,

Daniel

jenkins@tomhollis.co.uk (JIRA)

unread,
Feb 3, 2017, 10:31:01 AM2/3/17
to jenkinsc...@googlegroups.com

I am also experiencing this problem on a build farm replica.

We are running:
P4D/LINUX26X86_64/2015.1/1415928 (2016/07/25)

Tom

pallen@perforce.com (JIRA)

unread,
Feb 8, 2018, 11:52:02 AM2/8/18
to jenkinsc...@googlegroups.com
Paul Allen closed an issue as Won't Fix
 

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

Change By: Paul Allen
Status: Reopened Closed
Resolution: Won't Fix
This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e)
Atlassian logo

luckyhorang@nate.com (JIRA)

unread,
May 10, 2018, 7:13:02 AM5/10/18
to jenkinsc...@googlegroups.com
Hokwang Lee commented on Bug JENKINS-39824
 
Re: Plugin does not work with read-only perforce replica

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??

kwirth@perforce.com (JIRA)

unread,
May 10, 2018, 8:45:02 AM5/10/18
to jenkinsc...@googlegroups.com

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.

luckyhorang@nate.com (JIRA)

unread,
May 10, 2018, 10:26:02 PM5/10/18
to jenkinsc...@googlegroups.com

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 .

kwirth@perforce.com (JIRA)

unread,
Jun 19, 2019, 11:36:02 AM6/19/19
to jenkinsc...@googlegroups.com

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.
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)
Reply all
Reply to author
Forward
0 new messages