Application was down because its files had consumed up all server space
症状
Users try to perform login on Fisheye and face the following UI error message:
"Your request was unable to be processed
org.hibernate.exception.GenericJDBCException - Could not execute JDBC batch update
Could not execute JDBC batch update failed batch"
Or even:
***************************************************** JSP Exception ***********************************************************
An error occurred trying to render this page
javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: javax.el.ELException: Problems calling function 'cruReview:canDo'
Also inside fisheye-error.log and fisheye-debug.log is possible to find many occurrences of the following stack trace:
2012-08-05 23:11:34,304 ERROR [btpool0-2910 ] org.hibernate.util.JDBCExceptionReporter org.hibernate.util.JDBCExceptionReporter-logExceptions - failed batch
2012-08-05 23:11:34,307 ERROR [btpool0-2910 ] org.hibernate.event.def.AbstractFlushingEventListener org.hibernate.event.def.AbstractFlushingEventListener-performExecutions - Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
原因
This happens when using HSQLDB database (which comes bundled with Fisheye) in production environments (which is not recommended) and application ran out of memory to perform all requests. So application got problem to communicate with database and start to populate logs with repeated stack traces which depending on disk space available could result in application crash because of lack free of disk space..
ソリューション
As workaround we recommend migrating application to an external database.