Unable to view or open a review - Your request was unable to be processed - NullPointerException
Symptoms
A review cannot be viewed and results in an error on screen after clicking on it - "Your request was unable to be processed". The following error appears in the log fisheye.out
:
2013-04-01 00:09:06,399 ERROR - Exception "javax.servlet.ServletException: javax.el.ELException: java.lang.NullPointerException" (javax.servlet.ServletException) while processing "/cru/TEST_PROJECT-224" (Referer:"null")
javax.servlet.ServletException: javax.servlet.ServletException: javax.el.ELException: java.lang.NullPointerException
...
Caused by: javax.servlet.ServletException: javax.el.ELException: java.lang.NullPointerException
... 100 more
Caused by: javax.el.ELException: java.lang.NullPointerException
... 175 more
Caused by: java.lang.NullPointerException
... 190 more
Diagnosis
Run the following database queries and post the results in a comment on this ticket:
This query will return a cru_review_id
for the review:
select * from cru_revpermaid t where t.cru_proj_key='TEST_PROJECT' and t.cru_number=224;
Next, run the following query with the previously acquired cru_review_id
:
select t.cru_participant_id, cru_user, cru_author from
cru_review_participant t where
t.cru_review_id=<CRU_REVIEW_ID_HERE>;
Sample result:
cru_participant_id | cru_user | cru_author |
---|---|---|
160135 | 95 | |
160132 | 254 | |
160137 | 285 | |
160131 | 286 | |
160134 | 287 | |
160136 | 484 | |
160133 | 488 |
Cause
The author field will be blank and thus the reason for the NullPointerException. To work around this we can temporarily assign an author to the review or delete the hung review manually.
Resolution
You can assign any of the users to be the author:- Make a backup of the database.
- You can find a user's number by querying the table with their username using the following query:
select cru_user_id from cru_user where cru_user_name='<user_name_here>';
- Then, match the user with
cru_participant_id
and run this command to set the author to TRUE:
update cru_review_participant set cru_author=1 where cru_participant_id=<CRU_PARTICIPANT_ID>;