Why is jenkins repeatingly querying old sonar qube

2019-09-04 20:25发布

问题:

We are using jenkins 2.146 and sonar qube 7.0. Both system are only available for authenticated users. Jenkins calls sonar qube as user "jenkins" which has all privileges in sonar qube.

In the jenkins UI administration (https:///log/all) we find lots of the following lines below (with full stack trace at the end). There are no jenkins build jobs running at this time.

When requesting the named urls manually a valid json response from sonar qube is shown. The date of the analysis is quite old, days or weeks before.

So why is jenkins still querying this old analysis?

A second question would be: Why does it fail? But if the query can just got rid of, this would not matter any more.

Okt 18, 2018 10:55:41 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWYNhQ4RAtWCPsUXwXp_

Okt 18, 2018 10:57:02 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWY39Kh5hCpu0D3Pvdh1

Okt 18, 2018 10:58:23 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWZ7xQz_9SBz3Fa82ws9

Okt 18, 2018 10:59:12 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWZ7yMkG9SBz3Fa82ws-

Okt 18, 2018 10:59:15 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWZ_ZkS-9SBz3Fa82wuv

Okt 18, 2018 10:59:47 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWVXvXR1Yg3nplJVgWLY

Okt 18, 2018 11:00:15 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWY0L5zpV1zFWd3xD87a

Okt 18, 2018 11:00:23 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWZhNCQhhTXOTNfxiXb1

Okt 18, 2018 11:07:36 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWYNhQ4RAtWCPsUXwXp_

Okt 18, 2018 11:08:57 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on     https://sonar.mycompany.de/api/ce/task?id=AWY39Kh5hCpu0D3Pvdh1

Okt 18, 2018 11:10:18 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWZ7xQz_9SBz3Fa82ws9

Okt 18, 2018 11:11:08 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWZ7yMkG9SBz3Fa82ws-

Okt 18, 2018 11:11:13 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWZ_ZkS-9SBz3Fa82wuv

Okt 18, 2018 11:11:42 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWVXvXR1Yg3nplJVgWLY

Okt 18, 2018 11:12:07 AM WARNUNG hudson.plugins.sonar.client.SQProjectResolver resolve
Error fetching project information
org.sonarqube.ws.client.HttpException: Error 401 on https://sonar.mycompany.de/api/ce/task?id=AWY0L5zpV1zFWd3xD87a

at org.sonarqube.ws.client.BaseResponse.failIfNotSuccessful(BaseResponse.java:34)
at hudson.plugins.sonar.client.HttpClient.getHttp(HttpClient.java:38)
at hudson.plugins.sonar.client.WsClient.getCETask(WsClient.java:51)
at hudson.plugins.sonar.client.SQProjectResolver.requestCETaskDetails(SQProjectResolver.java:85)
at hudson.plugins.sonar.client.SQProjectResolver.resolve(SQProjectResolver.java:69)
at hudson.plugins.sonar.action.SonarCacheAction.get(SonarCacheAction.java:76)
at hudson.plugins.sonar.action.SonarCacheAction.get(SonarCacheAction.java:51)
at hudson.plugins.sonar.action.SonarProjectActionFactory.createProjectPage(SonarProjectActionFactory.java:118)
at hudson.plugins.sonar.action.SonarProjectActionFactory.createFor(SonarProjectActionFactory.java:83)
at hudson.plugins.sonar.action.SonarProjectActionFactory.createFor(SonarProjectActionFactory.java:42)
at hudson.model.Actionable.createFor(Actionable.java:114)
at hudson.model.Actionable.getAllActions(Actionable.java:100)
at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:72)
at org.kohsuke.stapler.export.ExportInterceptor$1.getValue(ExportInterceptor.java:41)
at org.kohsuke.stapler.export.Property.writeTo(Property.java:135)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:219)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:219)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:219)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:219)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:219)
at org.kohsuke.stapler.export.Model.writeTo(Model.java:194)
at org.kohsuke.stapler.ResponseImpl.writeOne(ResponseImpl.java:287)
at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:278)
at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:234)
at hudson.model.Api.doJson(Api.java:222)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:734)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:864)
at org.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:209)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:734)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:864)
at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:734)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:864)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:668)
at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
at javax.servlet.http.HttpServlet.service(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:243)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at com.smartcodeltd.jenkinsci.plugin.assetbundler.filters.LessCSS.doFilter(LessCSS.java:47)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:92)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:105)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.BasicHeaderProcessor.success(BasicHeaderProcessor.java:140)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:82)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Unknown Source)
at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source)
at org.apache.catalina.connector.CoyoteAdapter.service(Unknown Source)
at org.apache.coyote.http11.AbstractHttp11Processor.process(Unknown Source)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Unknown Source)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(Unknown Source)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)

回答1:

Finally we found the reason: Each time a job view is requested from browser or job data is requested via json API an unauthenticated request to the last sonar analysis result is triggered.

We still don't know why jenkins behaves like this and opened a ticket: https://issues.jenkins-ci.org/browse/JENKINS-54583