It's all about the answers!

Ask a question

Build Forge: problem with SQL_Server AutoCommit mode setting


Jozef Vandenmooter (16332933) | asked Jul 25 '13, 2:26 p.m.
Hi,

I see errors like the following in the Catalina log:

Jul 25, 2013 10:47:57 AM com.buildforge.services.server.db.DBConnection rollback
WARNING: Rollback failed, so assuming connection is dead.
Jul 25, 2013 10:47:57 AM com.buildforge.services.server.db.DBConnection errorRollback
SEVERE: SQL 1564564801 rollback failed: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot invoke a rollback operation when the AutoCommit mode is set to "true".
Jul 25, 2013 10:47:57 AM com.buildforge.services.server.api.ServerContext rollbackNoEx
WARNING: Rollback failed: com.buildforge.services.common.db.DBException: CRRBF0562I: A failure occurred while trying to [rollback] a database transaction.

Is this caused by something we didn't set up right with the database? Just wanted to check here before submitting a PMR.

Thanks,

Jozef


2 answers



permanent link
Ryan Ruscett (1.0k413) | answered Jul 25 '13, 2:52 p.m.
 Hello,

The data that Build Forge sends to the DB is in "chunks". If I have 100 statements, it will grab 20 at a time. Sometimes statement 20 can not be completed before statement 21. In the event that this occurs, the database will do a rollback in order to keep the integrity of the data. In most cases, this occurs and the rollback errors are just a part of the process. In this event, it appears that you have AutoCommit mode set to true. You may want to turn off AutoCommit. AutoCommit will execute every transaction, save the information and commit data immediately and automatically. This makes it very difficult to rollback. This is most likely the cause of your ability to not roll back the database. Turning off AutoCommit is fairly simple depending on the version of DB that you are using. 

If the errors still occur and or you have loss of functionality, I would then open a PMR.

Thanks!

Comments
Jozef Vandenmooter commented Jul 25 '13, 3:27 p.m.

Thanks for the reply. I cannot find how to disable AutoCommit at the database level. It appears this has to be done by the application by initiating a transaction, which automatically turns AutoCommit off. When the transaction is completed, the connection reverts back to AutoCommit = on.
Can you tell me how to turn AutoCommit off for a SQL_Server 2005 database?

Thanks,

Jozef


permanent link
Ryan Ruscett (1.0k413) | answered Jul 25 '13, 3:44 p.m.
 Hello,

One thing to check is the this "SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name='build'" The value should return a 1 if set correctly. I am not sure if this is part of it, but it is something easy to check. 

For this type of troubleshooting and due to lack of additional information. I would suggest opening a PMR so that the support team can gather additional information to make a better decision. 

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.