Hi devs,

Recently we were plagued with OOM errors and as a result we decided to
limit the number of testing forks/disable fork reuse for almost all tests.
Currently AFAIK each JVM fork has assigned 4GB of memory (2GB heap and 2GB
off heap) and we are running two forks, on a machine that has 7GB of RAM in
total.

What I would like to discuss is to introduce test categories, for example
small and large tests, where small tests would require less memory and thus
we would be able to increase the number of forks for them. We could
probably achieve this differentiation via different means (annotations,
test naming conventions, etc), but I would propose to just re-use our
pre-existing convention of suffixing more "unity" testing classes with
`Test` suffix, while more "integration like" classes with `ITCase` suffix.
We could keep running `ITCase`'s with two forks 4GB memory each, while for
example unit tests we could run with four forks 2GB memory each.

What do you think?

Best,
Piotrek

Reply via email to