Unable to access review - No row with the given identifier exists

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

症状

Unable to access certain review.

atlassian-fisheye-<date>.log に次のメッセージが表示される。

2014-03-07 16:29:54,393 WARN  [qtp151680292-241952 ] org.eclipse.jetty.servlet.ServletHandler ServletHandler-doHandle - 
javax.servlet.ServletException: javax.servlet.ServletException: javax.el.ELException: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.cenqua.crucible.model.FileRevisionExtraInfo#3041180]
...
Caused by: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.cenqua.crucible.model.FileRevisionExtraInfo#3041180]
	at org.hibernate.impl.SessionFactoryImpl$2.handleEntityNotFound(SessionFactoryImpl.java:449)
	at org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.java:189)
	at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:178)
	at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
	at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:191)
	at com.cenqua.crucible.model.FileRevisionExtraInfo_$$_javassist_43.hashCode(FileRevisionExtraInfo_$$_javassist_43.java)
	at java.util.HashMap.hash(HashMap.java:366)
	at java.util.HashMap.put(HashMap.java:496)
	at java.util.HashSet.add(HashSet.java:217)
	at com.cenqua.crucible.model.ReviewParticipant.getCompletedFrxs(ReviewParticipant.java:223)

診断

Run the following SQL query to check if there is database integrity issue:

SELECT * FROM cru_file_read_status WHERE cru_frx NOT IN (SELECT cru_frx_id FROM cru_frx); 

原因

There is database integrity issue. The table cru_file_read_status has content in the column cru_frx that does not exist in the table cru_frx.

The database integrity issue can also be caused by having more than one Fisheye/Crucible instance connected to the same database, if no results are returned from the above query, check if this may be the case.

ソリューション

There are two possible resolutions outlined below, depending on the cause from above.

Fix integrity issue in cru_file_read_status

  1. Shutdown Fisheye/Crucible

  2. Backup database for rollback purposes
  3. Run the following SQL query to delete the problematic data:

    DELETE * FROM cru_file_read_status WHERE cru_frx NOT IN (SELECT cru_frx_id FROM cru_frx); 
  4. Restart Fisheye/Crucible

Connecting only one Fisheye/Crucible instance to the database

  1. Stop all Fisheye/Crucible instances that are connecting to the same database
  2. Modify config.xml so that only one instance is pointed to each database
  3. Start Fisheye/Crucible

 

最終更新日 2018 年 7 月 31 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.