We are experiencing occasional lockups in "p4 sync" with the p4-plugin which we did not see with the legacy perforce-plugin.
It does not seem possible to interrupt these lockups which means the entire server process has to be restarted.
I have attached the threadDump for the thread in question.
The last output from the job was:
P4 Task: syncing files at change: 2131788
p4 sync -q <workspace_dir>/...@2131788
... totalFileSize 879498020
... totalFileCount 100
There should be a timeout or something similar implemented in p4-plugin which should prevent such problems locking up the executor in jenkins.
Actually I saw the opposite in ConnectionFactory.java:
// disable timeout for slow servers / large db lock times
props.put(RpcPropertyDefs.RPC_SOCKET_SO_TIMEOUT_NICK, "0");
Could that be changed to a user defined setting in the jenkins global configuration like the legacy perforce-plugin uses?
Code changed in jenkins
User: Paul Allen
Path:
src/main/java/org/jenkinsci/plugins/p4/client/ConnectionConfig.java
src/main/java/org/jenkinsci/plugins/p4/client/ConnectionFactory.java
src/main/java/org/jenkinsci/plugins/p4/credentials/P4BaseCredentials.java
src/main/java/org/jenkinsci/plugins/p4/credentials/P4PasswordImpl.java
src/main/java/org/jenkinsci/plugins/p4/credentials/P4TicketImpl.java
src/main/resources/org/jenkinsci/plugins/p4/credentials/P4PasswordImpl/config.jelly
src/main/resources/org/jenkinsci/plugins/p4/credentials/P4PasswordImpl/help-timeout.html
src/main/resources/org/jenkinsci/plugins/p4/credentials/P4TicketImpl/config.jelly
src/main/resources/org/jenkinsci/plugins/p4/credentials/P4TicketImpl/help-timeout.html
src/test/java/org/jenkinsci/plugins/p4/P4Server.java
src/test/java/org/jenkinsci/plugins/p4/client/ConnectionTest.java
src/test/java/org/jenkinsci/plugins/p4/credentials/PerforceCredentialsTest.java
src/test/java/org/jenkinsci/plugins/p4/review/ReviewImplTest.java
http://jenkins-ci.org/commit/p4-plugin/e80c3eaeabfe80d38d54f025c9d5179bb7353b7d
Log:
Advanced Credentials option for RPC_SOCKET_SO_TIMEOUT_NICK
JENKINS-31196