【问题标题】:SonarQube 5.1 on Solaris doesn't show source filesSolaris 上的 SonarQube 5.1 不显示源文件
【发布时间】:2015-10-09 14:28:14
【问题描述】:

我一直在尝试从过时的声纳安装迁移到更新的 SonarQube 版本 5.1.2。 该应用程序在 Solaris 平台上运行并受 Oracle 数据库支持。

除了在任何上下文中未显示任何源文件的源代码外,大多数情况下一切正常。

对 */api/sources/lines?uuid=...&from=1&to=1000 的任何请求都会导致 404,其中包含以下消息的 json 对象:

"File '...' has no sources"

我尝试从我们的 Hudson 服务器和 maven 运行分析,结果相同。 在浏览了几个小时的网页并没有发现具有相同症状的问题后,我转向 SO 寻求帮助。 在我读过的所有主题中,要么分析没有运行(例如Unable to run analysis on SonarQube 5.1),要么针对某些问题显示代码而不针对其他问题(例如Sonarqube Javascript Coverage doesn't show source files)。

出于完全的懒惰,我尝试在我的本地计算机(运行 Linux)上安装完全相同的 SonarQube 版本(5.1.2,与在 solaris 上提取的相同 zip 文件),并具有相同的配置。 唯一的区别是:

  • 支持的操作系统(Solaris / Linux)
  • 数据库 (Oracle / H2)
  • JDK(虽然都是 oracle 的 1.8.0_45)

令我沮丧的是,它工作得非常好。

我已在服务器上启用 DEBUG 日志,但无法获得有关弹性搜索索引如何/为何找不到我们项目的源的更多详细信息。

欢迎提供有关我如何进一步调查此问题的任何信息。

【问题讨论】:

  • 你从哪个版本升级?
  • 您应该检查您的帐户是否具有“查看源代码”和“浏览”权限(请参阅控制台设置 -> 安全 -> 项目权限)
  • 我必须用我升级的确切版本回复你,但我相信它是 3.2.1...
  • 权限没问题。浏览和“查看源代码”被授予“任何人”......我得到一个 404 错误,带有消息“文件......没有源”,而不是 403,如果权限是我期望的错误的。 (跟踪 chrome 的开发者窗口中的 Ajax 调用)
  • 3.2和5.1之间的版本太多了。调查pb太痛苦了。在升级到 5.1 之前,您应该尝试升级到长期支持版本 (4.5.x)。

标签: java sonarqube solaris sonarqube5.1.2


【解决方案1】:

从(非常)旧版本(例如 3.2)升级时,必须再次分析项目。这应该会重新显示来源。

【讨论】:

  • 我已经重新运行了几次分析。同时使用 maven runner 和 Hudson 插件。
  • 感谢您的帮助!这确实是一个很好的理由。源从数据库移动到弹性搜索索引,对吧?
【解决方案2】:

我已经能够按照 Simon 的建议解决我的问题。

我已经

  1. 从 3.2.1 升级到 5.1.2 之前从数据库中恢复了备份
  2. 升级到 4.5.6 LTS 版本
  3. 在几天内对 4.5.6 版本运行一些分析,确保一切正常
  4. 为 4.5.6 版本创建了数据库备份
  5. 已升级到版本 5.1.2

在迁移到 5.1.2 的过程中,IndexSynchronizer 遇到了一些麻烦(由于 elasticsearch 显然使主机的 CPU 过载):

 2015.11.03 13:21:23 INFO  web[o.s.s.s.IndexSynchronizer] Index source lines
 2015.11.03 13:22:10 INFO   es[o.e.monitor.jvm]  [sonar-1446552525578] [gc][young][766][38] duration [784ms], collections [1]/[1s], total [784ms]/[6.6s], memory [194mb]->[126.7mb]/[989.8mb], all_pools {[young] [58.6mb]->[2.1kb]/[273mb]}{[survivor] [8.5mb]->[8.5mb]/[34.1mb]}{[old] [126.8mb]->[118.2mb]/[682.6mb]}
 2015.11.03 13:22:23 INFO  web[o.s.s.es.BulkIndexer] 110525 requests processed (1842 items/sec)
 2015.11.03 13:22:30 WARN   es[o.e.monitor.jvm]  [sonar-1446552525578] [gc][young][784][51] duration [2.1s], collections [2]/[2.9s], total [2.1s]/[10.7s], memory [175.6mb]->[148.3mb]/[989.8mb], all_pools {[young] [42.2mb]->[37.3kb]/[273mb]}{[survivor] [8.5mb]->[8.5mb]/[34.1mb]}{[old] [124.9mb]->[139.7mb]/[682.6mb]}
 2015.11.03 13:23:23 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (269 items/sec)
 2015.11.03 13:24:23 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:25:23 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:26:23 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:27:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:28:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:29:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:30:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:31:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:32:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:33:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:34:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:35:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:36:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:37:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:38:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:39:24 INFO  web[o.s.s.es.BulkIndexer] 126712 requests processed (0 items/sec)
 2015.11.03 13:40:07 INFO  web[o.e.client.transport] [sonar-1446552525578] failed to get node info for [#transport#-1][localhost][inet[/127.0.0.1:9001]], disconnecting...
 org.elasticsearch.transport.ReceiveTimeoutTransportException: [][inet[/127.0.0.1:9001]][cluster:monitor/nodes/info] request_id [3417] timed out after [5834ms]
    at org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:366) ~[elasticsearch-1.4.4.jar:na]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_45]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
 2015.11.03 13:40:07 WARN   es[o.e.monitor.jvm]  [sonar-1446552525578] [gc][young][788][54] duration [17.5m], collections [1]/[17.5m], total [17.5m]/[17.7m], memory [101mb]->[104.3mb]/[989.8mb], all_pools {[young] [7.8mb]->[380.8kb]/[273mb]}{[survivor] [8.5mb]->[8.5mb]/[34.1mb]}{[old] [84.7mb]->[95.5mb]/[682.6mb]}
 Wrapper Process has not received any CPU time for 978 seconds.  Extending timeouts.
 2015.11.03 13:40:07 ERROR web[o.s.s.ui.JRubyFacade] Fail to upgrade database
 java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Fail to execute ES search request '{"size":100,"query":{"filtered":{"query":{"match_all":{}},"filter":{"bool":{"must":[{"term":{"fileUuid":"3d674506-5a64-4b1e-a849-2c051e736e55","_cache":false}},{"range":{"line":{"from":250,"to":null,"include_lower":false,"include_upper":true},"_cache":false}}],"_cache":false}}}},"_source":false}' on indices '[sourcelines]' on types '[sourceline]'
    com.google.common.base.Throwables.propagate(Throwables.java:156)
    org.sonar.server.es.BaseIndexer.index(BaseIndexer.java:77)
    org.sonar.server.search.IndexSynchronizer.execute(IndexSynchronizer.java:90)

之后,它只是挂起,不会继续升级,也不会显示索引页面(/ 重定向到 /maintenance 和 /setup 都显示错误消息)。 停止并重新启动声纳后,它最终完成了源文件索引的迁移,并且从那里开始它似乎按预期工作。

【讨论】:

    猜你喜欢
    • 2015-09-13
    • 2015-09-24
    • 2016-02-03
    • 1970-01-01
    • 2018-11-08
    • 2020-03-16
    • 2015-01-21
    • 2016-01-08
    • 1970-01-01
    相关资源
    最近更新 更多