Details
-
Type:
Bug
-
Status: CLOSED
-
Priority:
Blocker
-
Resolution: Fixed
-
Affects Version/s: 12.0, 19.0
-
Component/s: Assignments
-
Labels:None
-
12 status:Resolved
-
Test Plan:
Description
Some issues encountered migrating assignments from production data from 11.x to 12.x:
- Some older assignments are missing a context field in the XML (no idea why) - we have six in our production db (select * from ASSIGNMENT_ASSIGNMENT WHERE CONTEXT IS NULL). As these are invalid assignments (they couldn't possibly show up in any site) they could be excluded in the initial SELECT statement that identifies the set of assignments to migrate.
- javax.xml.stream.XMLStreamException: Attribute limit (1000) exceeded (deserialization of a submission failed in assignment ... skipping submission)
- NullPointerException here (middle line): getGroups() may be null or one of the groups is null.
if (a.getTypeOfAccess() == Assignment.Access.GROUP) { assignment.getGroups().forEach(g -> a.getGroups().add(g.getAuthzGroup())); }
- org.hibernate.engine.jdbc.spi.SqlExceptionHelper - (conn:245540) Data too long for column 'PEER_ASSESSMENT_INSTRUCTIONS' at row 1. This is varchar(8000)
- org.hibernate.engine.jdbc.spi.SqlExceptionHelper - (conn:248709) Data too long for column 'GRADED_BY' at row 1
GRADED_BY is varchar(36) which looks right. Running this query:
select distinct ExtractValue(XML, '//submission/@gradedBy') from ASSIGNMENT_SUBMISSION where LENGTH(ExtractValue(XML, '//submission/@gradedBy')) > 36;
shows submissions with a gradeBy value of "org.sakaiproject.assignment.api.AssignmentPeerAssessmentService", 63 chars.
A good idea to put a try/catch around
convert(assignment);
in AssignmentConversionServiceImpl.java so a single failure doesn't stop the conversion.