Fixed a bug that results in unbounded memory consumption in SplittableBuildListener side buffer.
Previously, a forked life cycle resulted in MavenBuildProxy2.start/end callbacks. When a module X build forks a life cycle and comes back to building module X, end callback from the fork completion made Jenkins believe that it's not building any module, when Maven is actually coming back to building module X. So if the sequence of mojos that follow the forked mojo produces a lot of output, it can saturate memory (and even if it doesn't, Jenkins fails to capture the entire log for a module.) This fix also addresses the synchronization problem, so that when we do split the log, we make sure all the output from Maven prior to that indeed arrived to the master.
Loading
Please register or sign in to comment