-Reducing the unit test running time
Henry Robinson 2012-01-16, 07:39
The unit tests are taking longer and longer to run, particularly locally. I
was poking about looking for some easy wins, and I noticed that a lot of
the time is spent waiting for servers to come up, which is heavily
dependent on the tick time. Lo and behold, dropping the tick time on (for
example) QuorumPeerMainTest from 4s to 100ms made the test suite quicker by
On builds.apache.org it's not a great idea to reduce the tick time too far
because it generally runs on more contended hardware so timeouts get hit,
but what if we just increase the session expiration time commensurately? We
could set a 500ms tick time with a 30s (or more) max session expiration
time. Latencies due to waiting for servers to start should be lower, but
the tests should remain as stable.
Any thoughts? Any other ways we can tighten up the test suite runtime?