jenkinsci / jenkinsci/junit-plugin
[JENKINS-42063] Master/Slave serialization problems with DefaultTestResultParserImpl
- Dominant language
- Java
- Stars
- 87
- Forks
- 351
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 2
Description
In https://github.com/jenkinsci/junit-plugin/blob/master/src/main/java/hudson/tasks/test/DefaultTestResultParserImpl.java#L79 a Run instance (typically AbstractBuild), and additionally a Launcher are passed into a MasterToSlaveFileCallable. AFAIU, for this to work, they needed to be serializable in a Master/Slave scenario, alas, they are not.
The Run is actually not needed in the closure, so this can be fixed easily.
See JENKINS-34334 for a similar problem with a not serializable AbstractBuild instance, unrelated to DefaultTestResultParserImpl.
---
Originally reported by capf, imported from: Master/Slave serialization problems with DefaultTestResultParserImpl
Raw content of original issue
In https://github.com/jenkinsci/junit-plugin/blob/master/src/main/java/hudson/tasks/test/DefaultTestResultParserImpl.java#L79 a Run instance (typically AbstractBuild), and additionally a Launcher are passed into a MasterToSlaveFileCallable. AFAIU, for this to work, they needed to be serializable in a Master/Slave scenario, alas, they are not.
The Run is actually not needed in the closure, so this can be fixed easily.
See
JENKINS-34334for a similar problem with a not serializable AbstractBuild instance, unrelated to DefaultTestResultParserImpl.
Contributor guide
Research direction
Start in src/main/java/hudson/tasks/test/DefaultTestResultParserImpl.java around line 79 and inspect the MasterToSlaveFileCallable closure and its captured arguments. Verify the master/slave execution path no longer requires the unnecessary Run instance or non-serializable inputs, and confirm the parser still works when run on a slave node.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100