Dedicated job serialiser for event logging #10257
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and context
JobReadSerializer has a field
issues. The field is only filled when jobs are requested in API.When update handler for jobs is triggered, the field is empty for old job instance.
Due to that, if the job has X issues, every update to the job, even if it does not involve issues, creates a server event which incorrectly says that number of issues changed from 0 to X.
Since the only way to fix the value is to introduce an additional join on every update, and since there exists another way to get changes of issues (their own create/delete events), the best way to deal with the problem is to split JobReadSerializer into two serialisers: JobReadForEventSerializer for logging events and JobReadSerializer(JobReadForEventSerializer) which is used in API
How has this been tested?
Checklist
developbranchLicense
Feel free to contact the maintainers if that's a concern.