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

Recent Changes / changelog not shown correctly by P4 Plugin

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      When using p4 plugin version 1.7.4, changes are shown correctly.

      In more recent versions of the plugin, "No changes" is always reported (both in the project view when selecting Recent Changes and in the build view).

      I double-checked the changelog.xml and it is not empty.

      Insofar I understand, it is the SCM plugin which parses the changelog.xml ?

      A slightly redacted version of the changelog.xml (strings 'anonymized' to either 'abc' or 'xyz'):

       

      <?xml version='1.0' encoding='UTF-8'?>
      <changelog>
              <entry>
                      <changenumber><changeInfo>4171234</changeInfo>
                      <clientId>abc_xyz</clientId>
                      <msg>abc-&gt;xyz [4170123]: abcxyz
      </msg>
                      <changeUser>abc</changeUser>
                      <changeTime>2018-01-08 16:17:48</changeTime>
                      <shelved>false</shelved>
                      <files>
                      <file endRevision="#42" action="EDIT" depot="%2F%2Fdepot%2Fabc%2Fabc%2Fabc%2Fabc%2Fxyz.xml" />
                      <file endRevision="#560" action="EDIT" depot="%2F%2Fdepot%2Fabc%2Fabc%2Fabc%2Fabc%2Fabc%2Fabc%2Fabc%2Fabc.dita" />
                      </files>
                      <jobs>
                      </jobs>
                      </changenumber>
              </entry>
      </changelog>
      

        Attachments

          Activity

          Hide
          phrx Philip Arickx added a comment - - edited

          Found these issues (repeated many times) in jenkins.log, which almost certainly are about this case. The 'unknown command' seems to point to an issue with older server versions (we're running at 2012.1, an upgrade is apparently planned this year).

          My guess is that ConnectionHelper.getSwarm(ConnectionHelper.java:597) is not supported by 2012.1 and will always fail.

          --------- Issue 1 ----------

          INFO: getBuildChange:return:4173514
          Jan 08, 2018 12:04:50 PM hudson.model.AbstractBuild calcChangeSet
          WARNING: Failed to parse /home/jenkins/jobs/[...snip...]/builds/1/changelog.xml
          org.xml.sax.SAXException: Could not parse perforce changelog:
          com.perforce.p4java.exception.RequestException: Unknown command.  Try 'p4 help' for info.
          
                  at org.jenkinsci.plugins.p4.changes.P4ChangeParser.parse(P4ChangeParser.java:53)
                  at hudson.scm.ChangeLogParser.parse(ChangeLogParser.java:57)
                  at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:875)
                  at hudson.model.AbstractBuild.access$500(AbstractBuild.java:103)
                  at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:586)
                  at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
                  at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
                  at hudson.model.Run.execute(Run.java:1724)
                  at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
                  at hudson.model.ResourceController.execute(ResourceController.java:97)
                  at hudson.model.Executor.run(Executor.java:421)
          Caused by: com.perforce.p4java.exception.RequestException: Unknown command.  Try 'p4 help' for info.
          
                  at com.perforce.p4java.impl.mapbased.server.cmd.ResultMapParser.handleErrorStr(ResultMapParser.java:145)
                  at com.perforce.p4java.impl.mapbased.server.cmd.ResultListBuilder.buildNonNullObjectListFromCommandResultMaps(ResultListBuilder.java:36)
                  at com.perforce.p4java.impl.mapbased.server.cmd.PropertyDelegator.getProperty(PropertyDelegator.java:75)
                  at com.perforce.p4java.impl.mapbased.server.Server.getProperty(Server.java:2278)
                  at org.jenkinsci.plugins.p4.client.ConnectionHelper.getSwarm(ConnectionHelper.java:597)
                  at org.jenkinsci.plugins.p4.changes.P4ChangeParser$ChangeLogHandler.<init>(P4ChangeParser.java:73)
                  at org.jenkinsci.plugins.p4.changes.P4ChangeParser.parse(P4ChangeParser.java:48)
                  ... 10 more

           

          --------- Issue 2 ----------

          Jan 08, 2018 1:04:30 PM hudson.model.AbstractBuild calcChangeSet
          WARNING: Failed to parse /home/jenkins/jobs/[...snip...]/builds/1/changelog.xml
          org.xml.sax.SAXException: Could not parse perforce changelog:
          com.perforce.p4java.exception.RequestException: Unknown command.  Try 'p4 help' for info.
          
                  at org.jenkinsci.plugins.p4.changes.P4ChangeParser.parse(P4ChangeParser.java:53)
                  at hudson.scm.ChangeLogParser.parse(ChangeLogParser.java:57)
                  at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:875)
                  at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:843)
                  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  at java.lang.reflect.Method.invoke(Method.java:498)
                  at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125)
                  at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314)
                  at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185)
                  at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75)
                  at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)
                  at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)
                  at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51)
                  at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
                  at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate(JexlExpression.java:69)
                  at org.apache.commons.jelly.expression.jexl.JexlExpressionFactory$ExpressionSupportLocal.evaluate(JexlExpressionFactory.java:122)
                  at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134)
                  at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
                  at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
                  at hudson.plugins.emailext.plugins.content.JellyScriptContent.convert(JellyScriptContent.java:91)
                  at hudson.plugins.emailext.plugins.content.JellyScriptContent.renderContent(JellyScriptContent.java:82)
                  at hudson.plugins.emailext.plugins.content.JellyScriptContent.evaluate(JellyScriptContent.java:54)
                  at hudson.plugins.emailext.plugins.content.AbstractEvalContent.evaluate(AbstractEvalContent.java:76)
                  at org.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:202)
                  at org.jenkinsci.plugins.tokenmacro.Parser.processToken(Parser.java:306)
                  at org.jenkinsci.plugins.tokenmacro.Action$KiHW1UeqOdqAwZul.run(Unknown Source)
                  at org.parboiled.matchers.ActionMatcher.match(ActionMatcher.java:96)
                  at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
                  at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
                  at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
                  at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
                  at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
                  at org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41)
                  at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
                  at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
                  at org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41)
                  at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
                  at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
                  at org.parboiled.matchers.ZeroOrMoreMatcher.match(ZeroOrMoreMatcher.java:39)
                  at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
                  at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
                  at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)
                  at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
                  at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
                  at org.parboiled.parserunners.BasicParseRunner.run(BasicParseRunner.java:72)
                  at org.parboiled.parserunners.ReportingParseRunner.runBasicMatch(ReportingParseRunner.java:86)
                  at org.parboiled.parserunners.ReportingParseRunner.run(ReportingParseRunner.java:66)
                  at org.parboiled.parserunners.AbstractParseRunner.run(AbstractParseRunner.java:81)
                  at org.parboiled.parserunners.AbstractParseRunner.run(AbstractParseRunner.java:76)
                  at org.jenkinsci.plugins.tokenmacro.Parser.process(Parser.java:68)
                  at org.jenkinsci.plugins.tokenmacro.TokenMacro.expand(TokenMacro.java:204)
                  at org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:234)
                  at hudson.plugins.emailext.plugins.ContentBuilder.transformText(ContentBuilder.java:80)
                  at hudson.plugins.emailext.ExtendedEmailPublisher.addContent(ExtendedEmailPublisher.java:862)
                  at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:741)
                  at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:451)
                  at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:441)
                  at hudson.plugins.emailext.ExtendedEmailPublisher.perform(ExtendedEmailPublisher.java:349)
                  at org.jenkinsci.plugins.emailext_template.ExtendedEmailTemplatePublisher.perform(ExtendedEmailTemplatePublisher.java:73)
                  at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
                  at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
                  at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
                  at hudson.model.Build$BuildExecution.post2(Build.java:186)
                  at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
                  at hudson.model.Run.execute(Run.java:1749)
                  at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
                  at hudson.model.ResourceController.execute(ResourceController.java:97)
                  at hudson.model.Executor.run(Executor.java:421)
          Caused by: com.perforce.p4java.exception.RequestException: Unknown command.  Try 'p4 help' for info.
          
                  at com.perforce.p4java.impl.mapbased.server.cmd.ResultMapParser.handleErrorStr(ResultMapParser.java:145)
                  at com.perforce.p4java.impl.mapbased.server.cmd.ResultListBuilder.buildNonNullObjectListFromCommandResultMaps(ResultListBuilder.java:36)
                  at com.perforce.p4java.impl.mapbased.server.cmd.PropertyDelegator.getProperty(PropertyDelegator.java:75)
                  at com.perforce.p4java.impl.mapbased.server.Server.getProperty(Server.java:2278)
                  at org.jenkinsci.plugins.p4.client.ConnectionHelper.getSwarm(ConnectionHelper.java:597)
                  at org.jenkinsci.plugins.p4.changes.P4ChangeParser$ChangeLogHandler.<init>(P4ChangeParser.java:73)
                  at org.jenkinsci.plugins.p4.changes.P4ChangeParser.parse(P4ChangeParser.java:48)
                  ... 69 more
          

           

           

           

          Show
          phrx Philip Arickx added a comment - - edited Found these issues (repeated many times) in jenkins.log, which almost certainly are about this case. The 'unknown command' seems to point to an issue with older server versions (we're running at 2012.1, an upgrade is apparently planned this year). My guess is that ConnectionHelper.getSwarm(ConnectionHelper.java:597) is not supported by 2012.1 and will always fail. --------- Issue 1 ---------- INFO: getBuildChange: return :4173514 Jan 08, 2018 12:04:50 PM hudson.model.AbstractBuild calcChangeSet WARNING: Failed to parse /home/jenkins/jobs/[...snip...]/builds/1/changelog.xml org.xml.sax.SAXException: Could not parse perforce changelog: com.perforce.p4java.exception.RequestException: Unknown command.  Try 'p4 help' for info.         at org.jenkinsci.plugins.p4.changes.P4ChangeParser.parse(P4ChangeParser.java:53)         at hudson.scm.ChangeLogParser.parse(ChangeLogParser.java:57)         at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:875)         at hudson.model.AbstractBuild.access$500(AbstractBuild.java:103)         at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:586)         at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)         at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)         at hudson.model.Run.execute(Run.java:1724)         at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)         at hudson.model.ResourceController.execute(ResourceController.java:97)         at hudson.model.Executor.run(Executor.java:421) Caused by: com.perforce.p4java.exception.RequestException: Unknown command.  Try 'p4 help' for info.         at com.perforce.p4java.impl.mapbased.server.cmd.ResultMapParser.handleErrorStr(ResultMapParser.java:145)         at com.perforce.p4java.impl.mapbased.server.cmd.ResultListBuilder.buildNonNullObjectListFromCommandResultMaps(ResultListBuilder.java:36)         at com.perforce.p4java.impl.mapbased.server.cmd.PropertyDelegator.getProperty(PropertyDelegator.java:75)         at com.perforce.p4java.impl.mapbased.server.Server.getProperty(Server.java:2278)         at org.jenkinsci.plugins.p4.client.ConnectionHelper.getSwarm(ConnectionHelper.java:597)         at org.jenkinsci.plugins.p4.changes.P4ChangeParser$ChangeLogHandler.<init>(P4ChangeParser.java:73)         at org.jenkinsci.plugins.p4.changes.P4ChangeParser.parse(P4ChangeParser.java:48)         ... 10 more   --------- Issue 2 ---------- Jan 08, 2018 1:04:30 PM hudson.model.AbstractBuild calcChangeSet WARNING: Failed to parse /home/jenkins/jobs/[...snip...]/builds/1/changelog.xml org.xml.sax.SAXException: Could not parse perforce changelog: com.perforce.p4java.exception.RequestException: Unknown command.  Try 'p4 help' for info.         at org.jenkinsci.plugins.p4.changes.P4ChangeParser.parse(P4ChangeParser.java:53)         at hudson.scm.ChangeLogParser.parse(ChangeLogParser.java:57)         at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:875)         at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:843)         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)         at java.lang.reflect.Method.invoke(Method.java:498)         at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125)         at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314)         at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185)         at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75)         at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)         at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)         at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51)         at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)         at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate(JexlExpression.java:69)         at org.apache.commons.jelly.expression.jexl.JexlExpressionFactory$ExpressionSupportLocal.evaluate(JexlExpressionFactory.java:122)         at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134)         at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)         at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)         at hudson.plugins.emailext.plugins.content.JellyScriptContent.convert(JellyScriptContent.java:91)         at hudson.plugins.emailext.plugins.content.JellyScriptContent.renderContent(JellyScriptContent.java:82)         at hudson.plugins.emailext.plugins.content.JellyScriptContent.evaluate(JellyScriptContent.java:54)         at hudson.plugins.emailext.plugins.content.AbstractEvalContent.evaluate(AbstractEvalContent.java:76)         at org.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:202)         at org.jenkinsci.plugins.tokenmacro.Parser.processToken(Parser.java:306)         at org.jenkinsci.plugins.tokenmacro.Action$KiHW1UeqOdqAwZul.run(Unknown Source)         at org.parboiled.matchers.ActionMatcher.match(ActionMatcher.java:96)         at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)         at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)         at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)         at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)         at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)         at org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41)         at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)         at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)         at org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41)         at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)         at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)         at org.parboiled.matchers.ZeroOrMoreMatcher.match(ZeroOrMoreMatcher.java:39)         at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)         at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)         at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46)         at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)         at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)         at org.parboiled.parserunners.BasicParseRunner.run(BasicParseRunner.java:72)         at org.parboiled.parserunners.ReportingParseRunner.runBasicMatch(ReportingParseRunner.java:86)         at org.parboiled.parserunners.ReportingParseRunner.run(ReportingParseRunner.java:66)         at org.parboiled.parserunners.AbstractParseRunner.run(AbstractParseRunner.java:81)         at org.parboiled.parserunners.AbstractParseRunner.run(AbstractParseRunner.java:76)         at org.jenkinsci.plugins.tokenmacro.Parser.process(Parser.java:68)         at org.jenkinsci.plugins.tokenmacro.TokenMacro.expand(TokenMacro.java:204)         at org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:234)         at hudson.plugins.emailext.plugins.ContentBuilder.transformText(ContentBuilder.java:80)         at hudson.plugins.emailext.ExtendedEmailPublisher.addContent(ExtendedEmailPublisher.java:862)         at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:741)         at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:451)         at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:441)         at hudson.plugins.emailext.ExtendedEmailPublisher.perform(ExtendedEmailPublisher.java:349)         at org.jenkinsci.plugins.emailext_template.ExtendedEmailTemplatePublisher.perform(ExtendedEmailTemplatePublisher.java:73)         at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)         at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)         at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)         at hudson.model.Build$BuildExecution.post2(Build.java:186)         at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)         at hudson.model.Run.execute(Run.java:1749)         at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)         at hudson.model.ResourceController.execute(ResourceController.java:97)         at hudson.model.Executor.run(Executor.java:421) Caused by: com.perforce.p4java.exception.RequestException: Unknown command.  Try 'p4 help' for info.         at com.perforce.p4java.impl.mapbased.server.cmd.ResultMapParser.handleErrorStr(ResultMapParser.java:145)         at com.perforce.p4java.impl.mapbased.server.cmd.ResultListBuilder.buildNonNullObjectListFromCommandResultMaps(ResultListBuilder.java:36)         at com.perforce.p4java.impl.mapbased.server.cmd.PropertyDelegator.getProperty(PropertyDelegator.java:75)         at com.perforce.p4java.impl.mapbased.server.Server.getProperty(Server.java:2278)         at org.jenkinsci.plugins.p4.client.ConnectionHelper.getSwarm(ConnectionHelper.java:597)         at org.jenkinsci.plugins.p4.changes.P4ChangeParser$ChangeLogHandler.<init>(P4ChangeParser.java:73)         at org.jenkinsci.plugins.p4.changes.P4ChangeParser.parse(P4ChangeParser.java:48)         ... 69 more      
          Hide
          phrx Philip Arickx added a comment - - edited

          One way to fix this backwards-compatibility issue might be to harden lines 72-77 in P4ChangeParser for backwards compatibility, from the current :

          if (browser == null) {
              String url = p4.getSwarm();
              if (url != null) {
                  this.browser = new SwarmBrowser(url);
              }
          }
          

          into :

          if (browser == null) {
              try {
                  String url = p4.getSwarm();
                  if (url != null) {
                      this.browser = new SwarmBrowser(url);
                  }
              } catch(RequestException re) {
                  if(re.getMessage() != null && !re.getMessage().contains("Unknown command")) {
                      throw re;
                  }
                  // else : Ignore, the command is not supported by older versions
              }
          }
          
          
          Show
          phrx Philip Arickx added a comment - - edited One way to fix this backwards-compatibility issue might be to harden lines 72-77 in P4ChangeParser for backwards compatibility, from the current : if (browser == null ) {      String url = p4.getSwarm();      if (url != null ) {          this .browser = new SwarmBrowser(url);     } } into : if (browser == null ) { try {      String url = p4.getSwarm();       if (url != null ) {          this .browser = new SwarmBrowser(url);      } } catch (RequestException re) { if (re.getMessage() != null && !re.getMessage().contains( "Unknown command" )) { throw re; } // else : Ignore, the command is not supported by older versions } }
          Hide
          phrx Philip Arickx added a comment - - edited

          I forked p4-plugin, fixed and created a pull request

          I tested by applying this fix to a 1.8.4 release tarball, building and deploying on our production system, where it works nicely.

          Show
          phrx Philip Arickx added a comment - - edited I forked p4-plugin, fixed and created a pull request I tested by applying this fix to a 1.8.4 release tarball, building and deploying on our production system, where it works nicely.
          Hide
          p4paul Paul Allen added a comment -

          Hi Philip,

          Great work, thank you for the PR - I'll get that merged in. 

          It looks like the 'p4 property' command used by Swarm to get the URL is the issue (it was introduced in 2013.1).  Is there anything we could do to help with the upgrade? 2012.1 is kind of old.

          Kind regards,

          Paul

          Show
          p4paul Paul Allen added a comment - Hi Philip, Great work, thank you for the PR - I'll get that merged in.  It looks like the 'p4 property' command used by Swarm to get the URL is the issue (it was introduced in 2013.1).  Is there anything we could do to help with the upgrade? 2012.1 is kind of old. Kind regards, Paul
          Hide
          phrx Philip Arickx added a comment -

          Hi Paul,

          Thanks for the quick turnaround, I'm looking forward to the next release.

          I'm not responsible for maintaining our P4 servers. I was in touch with our P4 team, and they are planning the upgrade, but apparently the situation is non-trivial, so it might take some time.

          Best regards,

          Philip

          Show
          phrx Philip Arickx added a comment - Hi Paul, Thanks for the quick turnaround, I'm looking forward to the next release. I'm not responsible for maintaining our P4 servers. I was in touch with our P4 team, and they are planning the upgrade, but apparently the situation is non-trivial, so it might take some time. Best regards, Philip
          Hide
          p4paul Paul Allen added a comment -

          Ready for release.

          Show
          p4paul Paul Allen added a comment - Ready for release.
          Hide
          p4paul Paul Allen added a comment -

          Released in 1.8.5

          Show
          p4paul Paul Allen added a comment - Released in 1.8.5
          Hide
          roberta_t123 Roberta T guo added a comment -

          We are using P4 pluginin v1.8.7. In jenkins.log, we saw a lot of such exceptions threw when the plugin executed silently in Jenkin master for the SCM-perforce related jobs, even they are not running and even was disabled. Sometimes when there are many Jenkins jobs are triggered, this could cause the 'java.lang.OutOfMemoryError: GC overhead limit exceeded' error in Jenkins master.

          How should we workaround this issus? Is this a direct cause for our Jenkins went dead today?

          Thanks

           

          Show
          roberta_t123 Roberta T guo added a comment - We are using P4 pluginin v1.8.7. In jenkins.log, we saw a lot of such exceptions threw when the plugin executed silently in Jenkin master for the SCM-perforce related jobs, even they are not running and even was disabled. Sometimes when there are many Jenkins jobs are triggered, this could cause the 'java.lang.OutOfMemoryError: GC overhead limit exceeded' error in Jenkins master. How should we workaround this issus? Is this a direct cause for our Jenkins went dead today? Thanks  

            People

            • Assignee:
              p4paul Paul Allen
              Reporter:
              phrx Philip Arickx
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: