I have a strange problem with GAE Java. There are two instances with basic scaling for the version I am using, with one being used and the other idling, from what I can see in the log. Response times are fine. I can see that my idle instance did not receive any requests for the last hour. Strangely, on the idle instance the memory usage goes up constantly at around a 2MB/minute. For the last hour. The instance is using a google JDBC connection to a mysql cloud sql instance. I am using a DBCP 1.4 connection pool with 2 connections, but I don't think there would be any active processing being done, as a background thread should not even be possible on appengine. It is on ca. 730MB for a B2 instance (256MB?) and will probably get restarted soon because of memory usage.
I am also using tracing on the connection (com.google.cloud.trace.instrumentation.jdbc 0.1.1) but again I dont think this will do anything as long as there are not queries.
How could this happen? And how could I find the memory leak? I think normally threads would be stopped after 30s. And the JDBC driver from google should not be somehow filling up memory by itself I would guess.