Sonarqube SocketTimeoutException导致声纳分析失败

Sonarqube SocketTimeoutException导致声纳分析失败,sonarqube,Sonarqube,在尝试从ant运行Sonar时,由于SocketTimeoutException,我遇到了零星的故障 设置:我已经在RHEL6设备上运行Sonar4.0,配置为与Postgres9.2一起运行。我使用Jenkins 1.544每晚构建175个项目。我让Jenkins在一台从机上用一个执行器连续构建项目,但最近我通过swarm添加了第二个从机,所以现在我有两个节点(每个节点都有一个执行器),并行构建。我使用sonar ant任务从ant运行sonar,这在很大程度上运行得很好 当我只有一个从机时,

在尝试从ant运行Sonar时,由于SocketTimeoutException,我遇到了零星的故障

设置:我已经在RHEL6设备上运行Sonar4.0,配置为与Postgres9.2一起运行。我使用Jenkins 1.544每晚构建175个项目。我让Jenkins在一台从机上用一个执行器连续构建项目,但最近我通过swarm添加了第二个从机,所以现在我有两个节点(每个节点都有一个执行器),并行构建。我使用sonar ant任务从ant运行sonar,这在很大程度上运行得很好

当我只有一个从机时,在尝试加载引导属性时,偶尔会有一个作业因SocketTimeoutException而失败。现在我已经添加了第二个节点,这种情况似乎发生得更频繁。有趣的是,当我使用ant在命令行上构建项目时,我也看到了同样的失败。这似乎不是服务器资源问题。我是sonar服务器的唯一用户,我能够在没有任何实际负载的情况下得到这个错误

这是我今天早上从命令行运行时得到的堆栈跟踪:

我记录了一段时间内的负载,发现它比我在夜间构建周期中预期的要高。除了声纳失灵,我仍然没有看到任何其他奇怪的行为。最近有了一些新的硬件,所以我把声纳移到了一个新的盒子上。自从这么做以来,我再也没有看到过与超时相关的构建失败

因此,如果有人看到类似的错误,这种类型的错误似乎表明您需要投入更多的资源


谢谢-山姆

你应该试着在声纳邮件列表上问这个问题。我刚刚遇到了同样的问题,从浏览器请求这个url似乎可以解决这个问题。
 [exec] BUILD FAILED
 [exec] /var/lib/jenkins/sonar.buildfile:113: org.sonar.runner.impl.RunnerException: Unable to execute Sonar
 [exec]     at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:79)
 [exec]     at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:63)
 [exec]     at java.security.AccessController.doPrivileged(Native Method)
 [exec]     at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:57)
 [exec]     at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
 [exec]     at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:71)
 [exec]     at org.sonar.runner.api.Runner.execute(Runner.java:89)
 [exec]     at org.sonar.ant.SonarTask.launchAnalysis(SonarTask.java:53)
 [exec]     at org.sonar.ant.SonarTask.execute(SonarTask.java:48)
 [exec]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
 [exec]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
 [exec]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 [exec]     at java.lang.reflect.Method.invoke(Method.java:601)
 [exec]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
 [exec]     at org.apache.tools.ant.Task.perform(Task.java:348)
 [exec]     at org.apache.tools.ant.Target.execute(Target.java:392)
 [exec]     at org.apache.tools.ant.Target.performTasks(Target.java:413)
 [exec]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
 [exec]     at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
 [exec]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
 [exec]     at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
 [exec]     at org.apache.tools.ant.Main.runBuild(Main.java:811)
 [exec]     at org.apache.tools.ant.Main.startAnt(Main.java:217)
 [exec]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
 [exec]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
 [exec] Caused by: org.sonar.api.utils.SonarException: Unable to request: /batch_bootstrap/properties?dryRun=false
 [exec]     at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:92)
 [exec]     at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:82)
 [exec]     at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:78)
 [exec]     at org.sonar.batch.bootstrap.BatchSettings.downloadSettings(BatchSettings.java:97)
 [exec]     at org.sonar.batch.bootstrap.BatchSettings.init(BatchSettings.java:72)
 [exec]     at org.sonar.batch.bootstrap.BatchSettings.<init>(BatchSettings.java:55)
 [exec]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 [exec]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
 [exec]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 [exec]     at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
 [exec]     at org.picocontainer.injectors.AbstractInjector.newInstance(AbstractInjector.java:145)
 [exec]     at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:342)
 [exec]     at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
 [exec]     at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
 [exec]     at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
 [exec]     at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
 [exec]     at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
 [exec]     at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631)
 [exec]     at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
 [exec]     at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
 [exec]     at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
 [exec]     at org.picocontainer.injectors.SingleMemberInjector.getMemberArguments(SingleMemberInjector.java:61)
 [exec]     at org.picocontainer.injectors.MethodInjector.getMemberArguments(MethodInjector.java:100)
 [exec]     at org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.java:112)
 [exec]     at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
 [exec]     at org.picocontainer.injectors.MethodInjector.decorateComponentInstance(MethodInjector.java:120)
 [exec]     at org.picocontainer.injectors.CompositeInjector.decorateComponentInstance(CompositeInjector.java:58)
 [exec]     at org.picocontainer.injectors.Reinjector.reinject(Reinjector.java:142)
 [exec]     at org.picocontainer.injectors.ProviderAdapter.getComponentInstance(ProviderAdapter.java:96)
 [exec]     at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631)
 [exec]     at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
 [exec]     at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
 [exec]     at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
 [exec]     at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
 [exec]     at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
 [exec]     at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
 [exec]     at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
 [exec]     at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
 [exec]     at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
 [exec]     at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
 [exec]     at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:698)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:646)
 [exec]     at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:631)
 [exec]     at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
 [exec]     at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
 [exec]     at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
 [exec]     at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
 [exec]     at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
 [exec]     at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
 [exec]     at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
 [exec]     at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
 [exec]     at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
 [exec]     at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
 [exec]     at org.picocontainer.DefaultPicoContainer.instantiateComponentAsIsStartable(DefaultPicoContainer.java:1033)
 [exec]     at org.picocontainer.DefaultPicoContainer.addAdapterIfStartable(DefaultPicoContainer.java:1025)
 [exec]     at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1002)
 [exec]     at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:766)
 [exec]     at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:91)
 [exec]     at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)
 [exec]     at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:92)
 [exec]     at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:74)
 [exec]     at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:45)
 [exec]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 [exec]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 [exec]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 [exec]     at java.lang.reflect.Method.invoke(Method.java:601)
 [exec]     at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:75)
 [exec]     ... 24 more
 [exec] Caused by: java.net.SocketTimeoutException: Read timed out
 [exec]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 [exec]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
 [exec]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 [exec]     at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1674)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1672)
 [exec]     at java.security.AccessController.doPrivileged(Native Method)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1670)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1243)
 [exec]     at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
 [exec]     at org.sonar.api.utils.HttpDownloader$BaseHttpDownloader$HttpInputSupplier.getInput(HttpDownloader.java:274)
 [exec]     at org.sonar.api.utils.HttpDownloader$BaseHttpDownloader$HttpInputSupplier.getInput(HttpDownloader.java:235)
 [exec]     at org.sonar.batch.bootstrap.ServerClient.request(ServerClient.java:88)
 [exec]     ... 94 more
 [exec] Caused by: java.net.SocketTimeoutException: Read timed out
 [exec]     at java.net.SocketInputStream.socketRead0(Native Method)
 [exec]     at java.net.SocketInputStream.read(SocketInputStream.java:150)
 [exec]     at java.net.SocketInputStream.read(SocketInputStream.java:121)
 [exec]     at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
 [exec]     at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
 [exec]     at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
 [exec]     at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:633)
 [exec]     at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1322)
 [exec]     at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:2677)
 [exec]     at java.net.URLConnection.getContentEncoding(URLConnection.java:533)
 [exec]     at org.sonar.api.utils.HttpDownloader$BaseHttpDownloader$HttpInputSupplier.getInput(HttpDownloader.java:272)
 [exec]     ... 96 more
 [exec] 
 [exec] Total time: 23 seconds
2014.12.24 03:42:28 ERROR web[o.s.s.s.SearchClient]  could not execute request: org.elasticsearch.action.get.GetRequestBuilder@48c9ec56
org.elasticsearch.client.transport.NoNodeAvailableException: No node available