| Issue 3547: | its-jira plugin: Issue check won't work if Gerrit has been started up while Jira is not up and running yet | |
| 6 people starred this issue and may be notified of changes. | Back to list |
*****************************************************************
***** *****
***** !!!! THIS BUG TRACKER IS FOR GERRIT CODE REVIEW !!!! *****
***** *****
***** DO NOT SUBMIT BUGS FOR CHROME, ANDROID, CYANOGENMOD, *****
***** INTERNAL ISSUES WITH YOUR COMPANY'S GERRIT SETUP, ETC.*****
***** *****
***** THOSE ISSUES BELONG IN DIFFERENT ISSUE TRACKERS *****
***** *****
*****************************************************************
Affected Version:
Gerrit 2.11 & its-jira plugin 2.11
What steps will reproduce the problem?
1. Shutdown Jira
2. Startup Gerrit with its-jira plugin configured
3. Startup Jira
4. Push a commit with valid Jira issue ID to Gerrit code review
What is the expected output? What do you see instead?
Expected: The commit is pushed successfully
What I see:
remote: Failed to check whether or not issue XYZ-42 exists
remote: java.lang.NullPointerException
To ssh://user@mygerrit.com:29418/test
! [remote rejected] HEAD -> refs/for/master (Failed to check whether or not issue XYZ-42 exists)
error: failed to push some refs to 'ssh://user@mygerrit.com:29418/test'
Please provide any additional information below.
It seems that if Jira isn't up when its-jira plugin is loaded and establishes the initial connection during Gerrit startup the issue check won't work even if Jira would be back up at some point. Only Gerrit restart (while JIra is up and running for sure) will fix the situation. So if for example Jira and Gerrit are automatically stopped and started for backup purposes this could be an issue. It would be good if establishing the connection would work even if Jira connection fails during the Gerrit startup.
Log from Gerrit startup when Jira isn't running:
[2015-09-02 10:57:13,047] INFO com.googlesource.gerrit.plugins.hooks.jira.JiraModule : JIRA is configured as ITS
[2015-09-02 10:57:14,955] ERROR com.googlesource.gerrit.plugins.hooks.jira.JiraItsFacade : I was unable to login
AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (503)Service Unavailable
faultActor:
faultNode:
faultDetail:
{}:return code: 503
{http://xml.apache.org/axis/}HttpErrorCode:503
(503)Service Unavailable
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.atlassian.jira.rpc.soap.client.JirasoapserviceV2SoapBindingStub.login(JirasoapserviceV2SoapBindingStub.java:3790)
at com.googlesource.gerrit.plugins.hooks.jira.JiraClient.login(JiraClient.java:47)
at com.googlesource.gerrit.plugins.hooks.jira.JiraItsFacade.login(JiraItsFacade.java:174)
at com.googlesource.gerrit.plugins.hooks.jira.JiraItsFacade.login(JiraItsFacade.java:169)
at com.googlesource.gerrit.plugins.hooks.jira.JiraItsFacade.client(JiraItsFacade.java:200)
at com.googlesource.gerrit.plugins.hooks.jira.JiraItsFacade.<init>(JiraItsFacade.java:61)
at com.googlesource.gerrit.plugins.hooks.jira.JiraModule.configure(JiraModule.java:50)
at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:253)
at com.google.inject.spi.Elements.getElements(Elements.java:108)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:135)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:225)
at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:232)
at com.google.gerrit.server.plugins.ServerPlugin.startPlugin(ServerPlugin.java:187)
at com.google.gerrit.server.plugins.ServerPlugin.start(ServerPlugin.java:170)
at com.google.gerrit.server.plugins.PluginLoader.runPlugin(PluginLoader.java:461)
at com.google.gerrit.server.plugins.PluginLoader.rescan(PluginLoader.java:390)
at com.google.gerrit.server.plugins.PluginLoader.start(PluginLoader.java:295)
at com.google.gerrit.lifecycle.LifecycleManager.start(LifecycleManager.java:74)
at com.google.gerrit.pgm.Daemon.start(Daemon.java:293)
at com.google.gerrit.pgm.Daemon.run(Daemon.java:205)
at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:64)
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:497)
at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:166)
at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:93)
at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:50)
at Main.main(Main.java:25)
Log when trying to push a commit after Gerrit has started and Jira is now already up and running:
[2015-09-02 11:03:25,399] WARN com.googlesource.gerrit.plugins.hooks.validation.ItsValidateComment : Failed to check whether or not issue XYZ-42 exists
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.NullPointerException
faultActor:
faultNode:
faultDetail:
{}faultData:null
{http://xml.apache.org/axis/}hostname:jira-staging
java.lang.NullPointerException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.atlassian.jira.rpc.soap.client.JirasoapserviceV2SoapBindingStub.getIssue(JirasoapserviceV2SoapBindingStub.java:3998)
at com.googlesource.gerrit.plugins.hooks.jira.JiraClient.getIssue(JiraClient.java:56)
at com.googlesource.gerrit.plugins.hooks.jira.JiraItsFacade$4.call(JiraItsFacade.java:151)
at com.googlesource.gerrit.plugins.hooks.jira.JiraItsFacade$4.call(JiraItsFacade.java:148)
at com.googlesource.gerrit.plugins.hooks.jira.JiraItsFacade.execute(JiraItsFacade.java:211)
at com.googlesource.gerrit.plugins.hooks.jira.JiraItsFacade.exists(JiraItsFacade.java:148)
at com.googlesource.gerrit.plugins.hooks.validation.ItsValidateComment.validCommit(ItsValidateComment.java:77)
at com.googlesource.gerrit.plugins.hooks.validation.ItsValidateComment.onCommitReceived(ItsValidateComment.java:158)
at com.google.gerrit.server.git.validators.CommitValidators$PluginCommitValidationListener.onCommitReceived(CommitValidators.java:364)
at com.google.gerrit.server.git.validators.CommitValidators.validateForReceiveCommits(CommitValidators.java:119)
at com.google.gerrit.server.git.ReceiveCommits.validCommit(ReceiveCommits.java:2422)
at com.google.gerrit.server.git.ReceiveCommits.selectNewAndReplacedChangesFromMagicBranch(ReceiveCommits.java:1504)
at com.google.gerrit.server.git.ReceiveCommits.processCommands(ReceiveCommits.java:564)
at com.google.gerrit.server.git.AsyncReceiveCommits$Worker.run(AsyncReceiveCommits.java:89)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at com.google.gerrit.server.util.RequestScopePropagator$5.call(RequestScopePropagator.java:222)
at com.google.gerrit.server.util.RequestScopePropagator$4.call(RequestScopePropagator.java:201)
at com.google.gerrit.server.util.ThreadLocalRequestScopePropagator$1.call(ThreadLocalRequestScopePropagator.java:55)
at com.google.gerrit.server.util.RequestScopePropagator$1.call(RequestScopePropagator.java:98)
at com.google.gerrit.server.util.RequestScopePropagator$2.run(RequestScopePropagator.java:131)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:379)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Sep 5, 2015
#1
i.d.rath...@gmail.com
Sep 8, 2015
its-annoying, patches really welcome! |
|
| ► Sign in to add a comment |