Re:Faster Maven Builds
by chenxiaolong on Monday October 04, 2021 @06:09PM
(#28752722)
100% agreed re. bringing concurrency issues to the surface.
Another nasty one I encountered a couple years ago: After switching the build servers to using ramdisks, the app started breaking in subtle ways. Turns out there were two conflicting dependencies, but building on a server using ext4 and with the specific number of concurrent threads caused the "right" one to appear first the .jar's central directory.
Gotta add filesystem directory entry ordering to the list too.
However, it requires designing your tests such you can do this. One key trick is using randomized data and test fixtures. Another one is avoiding the overhead of initializing databases, etc. over and over again. Of course, all that stuff is useful in just about any language. But some languages make this easier than others.