詹金斯的Sonar快照失败

时间:2014-07-16 09:36:10

标签: jenkins sonarqube

这是我第二次遇到Sonar版本3.7.4的问题。上一次我刚刚在新的MS SQL数据库上创建了一个新的声纳,因为之前它是在H2数据库上。所以这个问题暂时得到解决,但今天它又出现了,我得到了Jenkins工作的以下输出:

INFO:
------------------------------------------------------------------------ INFO: EXECUTION FAILURE INFO:
------------------------------------------------------------------------ Total time: 17.312s Final Memory: 42M/101M INFO:
------------------------------------------------------------------------ ERROR: Error during Sonar runner execution ERROR: Unable to execute


Sonar ERROR: Caused by: Expected single result, but got :
[Snapshot[resourceId=774,buildDate=2014-07-16
10:39:21.243,createdAt=2014-07-16
10:39:20.0,version=1.0-SNAPSHOT,last=true,status=P,purgeStatus=1,scope=PRJ,path=946316.,depth=1,qualifier=BRC,rootId=946316,parentId=946316,rootProjectId=773,period1Mode=previous_analysis,period2Mode=days,period3Mode=previous_version,period4Mode=<null>,period5Mode=<null>,period1Param=2014-07-16,period2Param=30,period3Param=<null>,period4Param=<null>,period5Param=<null>,period1Date=2014-07-16 10:35:47.0,period2Date=2014-06-16
10:39:20.0,period3Date=<null>,period4Date=<null>,period5Date=<null>,id=946317],Snapshot[resourceId=774,buildDate=2014-07-16
10:39:29.867,createdAt=2014-07-16
10:39:29.0,version=1.0-SNAPSHOT,last=true,status=P,purgeStatus=<null>,scope=PRJ,path=946353.,depth=1,qualifier=BRC,rootId=946353,parentId=946353,rootProjectId=970,period1Mode=previous_analysis,period2Mode=days,period3Mode=previous_version,period4Mode=<null>,period5Mode=<null>,period1Param=2014-07-16,period2Param=30,period3Param=<null>,period4Param=<null>,period5Param=<null>,period1Date=2014-07-16 10:35:47.0,period2Date=2014-06-16
10:39:29.0,period3Date=<null>,period4Date=<null>,period5Date=<null>,id=946357]]

因此快照出现了问题。我之前做了一些研究,但没有找到一个好的解决方案。这是Sonar中的一个错误,是否可以在较新版本中解决?

在我的声纳项目中,还有&#39; Components&#39; (可以在GUI中找到)。这些组件也有快照。上面的声纳输出说它正在寻找resource_id 774.所以我选择了这个id的快照,我看到有两个快照,其中is_last = 1。

SELECT * FROM snapshots where project_id=774
Order by 2 desc

所以我在最后一个之前更新了它,所以它有is_last = 0。

UPDATE snapshots SET islast = 0 WHERE id=yoursnapshotid

旁注

这解决了这个问题。由于我还试图删除数据库中的一些快照(删除了记录),我遇到了另一个问题告诉我

  

&#34;无法找到id为x&#34的org.sonar.api.database.model.Snapshot;

我通过使用snapshot_id x删除事件表中的事件来解决此问题。

delete from events where snapshot_id=946316

1 个答案:

答案 0 :(得分:1)

我可以看到有多个快照。请转到设置并检查快照。您将同时看到多个快照。你需要删除其中一个。这是一个声纳缺陷。如果情况不是这样,或者您需要更多帮助,可以在这里问我。