Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
In progress

Date

Authors

Philip Wilsdon (Unlicensed)

Status

Resolved

Summary

  1. An issue with matching the outcome correctly

  2. When we don't find the matching outcome we still try to use it fix so the error is at least returned instead of "internal server errorThe uploaded outcome value was not matched correctly to our reference values.

  3. The outcome being missing due to the mismatch caused an internal error which was not reported properly.

Impact

Bulk upload

Table of Contents

Non-technical summary

Reval was showing information that had not been updated from GMC, on further investigation it turned out that the jobs that run overnight to get the data from GMC and then add it into TIS had not run successfully. Once they had been fixed and rerun, Reval showed the correct informationThe “Outcome” column of the Assessment bulk upload template was not being handled correctly and failed to match the existing reference values. This was made worse by the server failing to properly report the error as part of the upload verification process, instead causing an “internal server error” with no specific detail available.

Timeline

09:40 am

Issue raised in teams, team looking into it

12:44

Initial investigations

  1. Adding UUIDs broken generic upload - already have a fix ready

  2. Trying to use a null outcome when no match found - fix ready

  3. The10The 10.2 outcomes outcome causing issues in bulk upload 

Root Causes

G
  1. upload due to incorrect conversion between numerical and text values.

14:04

Fix submitted for review

14:40

Fix deployed/released

15:57

User confimed fixed

Image Added

Root Causes

  • The addition of a UUID column to the Outcome and Reason tables in the database was not reflected in the upload service’s Outcome and Reason objects, causing a failure to load any Outcomes or Reasons from our reference data.

  • When an Outcome was not found for the uploaded value the null value was still used, causing an error on the server. This caused immediate failure rather than including the correct error message in the validation report.

  • Outcome 10.2 was not correctly converted from numeric to text, resulting in a mismatched outcome of “10.199999999”. This field is meant to be a text field, but due to the absence of text values Excel had converted it to numerical.

Trigger

  • A user reported in the team's channel they had issues with bulk upload

Resolution

  • UUID added to the upload service’s Outcome and Reason objects.

  • A null check added for the Outcome before using it.

  • Implemented better handling of numeric to text conversion to avoid the float point issues.

Detection

  • A user reported in Teams Support Channel

Actions

  • GInvestigate a more robust way to specify or determine the XLS cell’s type (numeric, text, date etc.) instead of relying on Excel to set it correctly during authoring.

Lessons Learned (Good and Bad)

  • EdCasting numbers to strings don’t always behave as expected.