One regression with this approach is that the required option is not validated for subelement types; since this is more of a validation of assumptions of the data format rather than an expected error case, it should be fine.
[CL 33038497 by ben marsh in ue5-main branch]
-- The "SUMMARY" message is the only log line treated as an error since it is information (description of problem, and file+line to address) but also not overly specific such that we should be able to make JIRA issues from these log lines without generating duplicate issues for the same race from different callsites.
- Changes EditorPerf TSAN job to use -VeryVerbose in UAT so that stdout and stderr are redirected for logging. TSAN emits logs to stderr/stdout (depends on environement variable, stderr by default). The logs can be redirected to a log file via envvar TSAN_OPTIONS and specifying a path, however, Horde will only use whatever is written to stdout/stderr for generating issues, so unless a post process is added to forward the TSAN log output after the application has terminated, having stdout redirected stderr/stdout by default for TSAN jobs is simplest approach.
- Added two new KnownLogEvents `Sanitizer_Thread` and `Sanitizer`. `Sanitizer_Thread` is used by the added matcher, but `Sanitizer` was also added so that we may follow the pattern of letting the first id represent the broader category of events
#rb Bryan.Johnson, Ben.Marsh
#jira UE-207074
[FYI] Francis.Hurteau
[CL 33007156 by kevin macaulayvacher in ue5-main branch]
- Max length of a string id is now increased to 128 characters.
- Identifiers generated from template parameter names are now capped at MaxLength - 10, to allow space for a number to be added afterwards.
- Sanitization of strings will cap the maximum length of parameters at MaxLength.
- Existing string ids that are deserialized from BSON are assumed to be valid and will not throw an exception on deserialization, in order to handle any data that already exists in the DB.
[CL 32934650 by ben marsh in ue5-main branch]