Our installation is using CocoBase 4.5 tied to an Oracle 9.i database running under iPlanet 6.5 application server. We are having an issue with large volume updates (4,000+ rows - 1 at a time) where it appears that CCB is closing or losing DB connections. Within the web application, we have a Java Collection of 4,000+ objects that represent 4,000 database rows that need to updated. The rows are iterated from the Collection and the PersistenceMgr.updateInstance() is called. Within 2-3 minutes we encounter the error.
The actual runtime error is:
2006-04-21 13:44:36,830,ERROR,,[CocoBasePersistenceManager.updateInstance] : Exception: Closed Statement,Closed Statement thought.CocoBase.CocoBaseException: CBMessage=Update failed in Database SQL.CoreMessage=Closed Statement CocoBaseErrorCode=DBUPDATE_FAILURE
at thought.CocoBase.CocoPowder.update(CocoPowder.java:13007)
at thought.CocoBase.CocoPowderPlugin20.update(CocoPowderPlugin20.java:2332)
...etc...
Sometimes we get additional messages from the application server indicating "java.sql.SQLException: Logical handle no longer valid". So perhaps it is a DB issue and not a CCB issue?
Is there a configuration setting someplace that needs to be set for CCB to handle this type of volume?
Is there a way in CCB to have multiple updates occur in the equivelant of a single SQL update statement?
Any other suggestions to help us track down this issues would be appreciated.
|