Buenas, estoy teniendo un problema raro, y acabo de ver una punta que pueda estar afectando, y quería pedirles su opinión al respecto.
1ero, el problema: una aplicación en java, con pool de conexiones manejadas por c3p0[1], las querys resueltas desde hibernate[2] y jdbctemplate[3], el nro de conexiones crece y decrece normalmente, pero en períodos de mucha actividad, el nro crece y las conexiones se quedan en idle ( no idle in transaction ) y no bajan más, provocando que la aplicación se cuelgue. 2do, la punta: haciendo un movimiento de datos de una tabla de 116 millones de registros dentro de un ciclo begin/commit, el cliente gráfico que estaba utilizando quedó 'esperando' la confirmación del postgres, pero en el servidor la conexión estaba marcada como 'idle' y la transacción se había realizado, y el cliente seguía diciendo que estaba ejecutando el query. Ahora la tesis: puede que en determinadas circunstancias el postgres no 'avise' que la transacción ya fué realizada, y que sea eso lo que provoca que c3p0 llegue al tope de conexiones permitidas y no bajen más (que se quede esperando el aviso de 'transacción terminada' y no lo esté recibiendo)? Gracias de antemano, y disculpas por el largo del mail, pero quería explicar el tema lo mejor posible. Slds! [1] http://www.mchange.com/projects/c3p0/ [2] https://www.hibernate.org/ [3] http://static.springsource.org/spring/docs/2.0.8/api/org/springframework/jdbc/core/JdbcTemplate.html -- Manuel Fernando Aller -- TIP 4: No hagas 'kill -9' a postmaster