Hi,
In my particular case i am running an Oracle database (11g) with the chargeback software on a seperate server.
Trying to run a report says "Unable to commit the transaction" and from looking in the logs (C:\Program Files (x86)\VMware\VMware vCenter Chargeback\apache-tomcat-6.0.29\logs\VcenterCB.log) i found this:
2011-10-14 12:16:20,046 ERROR [pool-3-thread-2] impl.GenerateReportOperation: Execution of task with id 11 ended in error.<Response><Error majorErrorCode="404" minorErrorCode="152" message="Unable to commit the transaction." /></Response>at com.vmware.vim.vcenter.das.transaction.impl.HibernateTransactionImpl.commit(HibernateTransactionImpl.java:55)at com.vmware.vim.vcenter.das.utils.DBTransaction.execute(DBTransaction.java:67)at com.vmware.vim.vcenter.chargeback.reporting.buslogic.ReportingDataAccess.saveReportData(ReportingDataAccess.java:319)at com.vmware.vim.vcenter.chargeback.reporting.operation.impl.ReportXmlDataHandler.flushXMLDataToDB(ReportXmlDataHandler.java:116)at com.vmware.vim.vcenter.chargeback.reporting.operation.impl.ReportXmlDataHandler.populateXMLDataToReport(ReportXmlDataHandler.java:61)at com.vmware.vim.vcenter.chargeback.reporting.operation.impl.GenerateReportOperation.doDFSTraversal(GenerateReportOperation.java:553)at com.vmware.vim.vcenter.chargeback.reporting.operation.impl.GenerateReportOperation.doDFSTraversal(GenerateReportOperation.java:565)at com.vmware.vim.vcenter.chargeback.reporting.operation.impl.GenerateReportOperation.doDFSTraversal(GenerateReportOperation.java:565)at com.vmware.vim.vcenter.chargeback.reporting.operation.impl.GenerateReportOperation.doDFSTraversal(GenerateReportOperation.java:565)at com.vmware.vim.vcenter.chargeback.reporting.operation.impl.GenerateReportOperation.doDFSTraversal(GenerateReportOperation.java:565)at com.vmware.vim.vcenter.chargeback.reporting.operation.impl.GenerateReportOperation.constuctReportHierarchy(GenerateReportOperation.java:503)at com.vmware.vim.vcenter.chargeback.reporting.operation.impl.GenerateReportOperation.calculateCostConstuctAndMerge(GenerateReportOperation.java:345)at com.vmware.vim.vcenter.chargeback.reporting.operation.impl.GenerateReportOperation.run(GenerateReportOperation.java:120)at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)at java.lang.Thread.run(Thread.java:619)Caused by: org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch updateat org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)at com.vmware.vim.vcenter.das.transaction.impl.HibernateTransactionImpl.commit(HibernateTransactionImpl.java:48)... 15 moreCaused by: java.sql.BatchUpdateException: ORA-01691: unable to extend lob segment CHARGEBACK.SYS_LOB0000086098C00006$ by 128 in tablespace CHARGEBACKat oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10070)at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:213)at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)... 23 moreWhich is a scarey mess of a log file except for the bit where it says:
Caused by: java.sql.BatchUpdateException: ORA-01691: unable to extend lob segment CHARGEBACK.SYS_LOB0000086098C00006$$ by 128 in tablespace CHARGEBACK
So, in other words, the tablespace "CHARGEBACK" is full and it cant put the report in that tablespace. When it tries to extend the tablespace to put the data in their it is not allowed to (probably by Oracle). I now need to go and check the Oracle server and find out why the tablespace is not automatically extending!
Hope that helps someone as it took me a while to figure out that the nested error was actually oracle and not Chargeback.
To clean this up (and finish talking to myself) the particular tablespace was not set to autoextend.
When creating tablespaces in Oracle it's worth checking after you have installed Chargeback to ensure that the tablespace you have installled against is set to auto extend.....
