[ODLPARENT-261] Maximize the amount odlparent-based default can be run in parallel Created: 29/Sep/21  Updated: 30/May/23

Status: Confirmed
Project: odlparent
Component/s: General
Affects Version/s: None
Fix Version/s: 14.0.0

Type: Epic Priority: Medium
Reporter: Robert Varga Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: pt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Name: Faster Builds

 Description   

Our current build system utilization seems to be low in the CPU usage area and our projects builds are typicaly just below 60 minutes.

This is mainly caused by two factors:

  1. our maven builds are not parallel in the mvn -T1C sense, and
  2. our CSIT test suite has sequential execution

Since we run a ton of different plugins, each executing in a single thread – so we end up with awkward pauses where git-plugin does something, then we check the license, then we run checkstyle...

A quick run of 'mvn clean install -Pq` with or without threading shows some 5x improvement IIRC, which would be on par with this blog. But I got complaints resulting in ODLPARENT-220.

SFT is the next obvious step, as those will cause failures due to concurrent Karaf invocation. Perhaps this could be solved through a launcher plugin, which would allocate Karaf instances using global JVM state.

We obviously need to run some unit tests downstream as well, to see in what shape they are. I suspect controller, netconf and bgpcep will be problematic.



 Comments   
Comment by Robert Varga [ 24/Jan/23 ]

Actually using  mvnd makes things mostly work, except the SFT failures now pile up easily.

Generated at Wed Feb 07 20:28:03 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.