Behind the Blackboard! KeyNotFoundException or NullPointerException Accessing My Grades if Course Copied with Specific Options - Behind the Blackboard Skip Navigation
Download PDF  Icon Download PDF    Print article

KeyNotFoundException or NullPointerException Accessing My Grades if Course Copied with Specific Options

Date Published: Jun 14,2021


CategoryPlanned First Fix Release:SaaS - v3900.15.0,Learn 9.1 3900.17.0 Release; Product:My Blackboard,Grade Center; Version:Learn 9.1, 3900.10.0,SaaS
Article No.: 000075515
Product:
Blackboard Learn
Release:
9.1;SaaS
Service Pack(s):
Learn 9.1, 3900.10.0, SaaS
Description:
If a course is copied with specific options, after grades are assigned a "blackboard.persist.KeyNotFoundException" or "java.lang.NullPointerException" Runtime Exception may occur.
Steps to Repeat:
  1. Create an Original Experience Course
  2. Create a Test with one question and deploy the test to any Content Area
  3. Copy the course into into New Course. In the copying options check the boxes for Gradecenter Columns and Settings and Tests, Surveys and Pools. Uncheck the box for the Content Area 
  4. After the copy finishes enroll test Students into the course or use Student Preview 
  5. Go to Course Menu → Course Mgmt → Grade center → Full Grade Center
  6. Assign an override grade to the Column corresponding to the test created in step 2.
  7. Return to the student view
  8. Go to My Grades

Expected Behavior:

The Grades appear.
 

Observed Behavior:
A Java error occurs:

java.lang.RuntimeException: blackboard.persist.KeyNotFoundException: The specified object was not found.
For reference, the Error ID is 14b125f3-f781-4f71-8cf2-b7f5ba735517.


Symptoms:

A blackboard.persist.KeyNotFoundException or java.lang.NullPointerException Runtime Exception may occur when if gradebook settings and tests, surveys and pools are copied into another course without the corresponding content areas and a grade assigned.

Existing courses in which this type of copying previously took place may become affected from 3900.10.0.

Cause:

In an Original course tests can be created without actually being 'deployed' — undeployed tests or surveys do not have a content item and do not have a Gradecenter column. Only when an Assessment is "deployed" to a Original Experience course does it receives its course content and grade center column. At this point the test has "options". For example one option is the ability to restrict if and when test attempt feedback may be seen by students.

When the course was copied in step 3: the test copied, the gradecenter column copied, but the course content did not copy. The "options" are dependent upon the content item against which a test is deployed: though they are not strictly speaking part of it.

The issue here is when the grade is applied in step 6 there is now a sufficient minimum amount of data that when the student goes to My Grades, the application needs to decide "how much" to show them. So: it attempts to look up the test options including its attempt feedback options. These do not exist, and the issue occurs.

Resolution/Workaround:

This issue will be fixed in a reissue of Learn SaaS 3900.15. The exact build version is 3900.15.0-rel.20+da3f4c5 or higher.

For other hosting options: this issue is fixed in Learn 3900.17.

Information:

If the test is deleted from the second course after step 3, a java.lang.NullPointerException occurs instead. It's the same issue.
 

Target Release:

Learn 9.1, 3900.17.0 Release SaaS - Fixed (v3900.15.0 - repush)

Patch Available:

No






The information contained in the Knowledge Base was written and/or verified by Blackboard Support. It is approved for client use. Nothing in the Knowledge Base shall be deemed to modify your license in any way to any Blackboard product. If you have comments, questions, or concerns, please send an email to kb@blackboard.com. © 2024 Blackboard Inc. All rights reserved