Memory leak causing OOM error in idle server
Zanata is leaking memory. Running in Docker, I found it hit the upper limit overnight, while it was idle.
The only actions that were performed were:
Click sign in
Enter username and password
Click Sign in
I can see using top -p (pid) that the process gradually uses more % memory.
Potentially caused by the introduction of the transaction reaper.
I tried attaching IntelliJ's debugger to an idle Zanata server, and according to the Memory View, over a period of several minutes the process apparently leaked a variety of objects:
Given the absence of org.zanata.* classes, and the presence of Thread, Finalizer and various Artemis classes, I think this could be https://issues.jboss.org/browse/JBEAP-2947, which was fixed in EAP 7.0 GA and (I think) WildFly 10.1.
This leak doesn't seem to occur with WildFly 10.1, at least in a quick test.
Note: I think this problem may affect Zanata 3.9 on WildFly 10.0, but not on EAP 6 (which uses HornetQ, not ActiveMQ/Artemis). Zanata 3.8 (WildFly 9) should be unaffected.
I think we should consider changing the recommended WildFly version for Zanata 3.9 to 10.1.