Error: Connection Reset when inserting events into the database.

  • 3585082
  • 04-Jul-2007
  • 26-Apr-2012

Environment


Sentinel 5.1.3
Sentinel 6.0.xx
Sentinel

Situation

Insertion of events from the Sentinel system into the database fails for most if not all events. The database seems to be responding correctly to administrator access and reading events out of the database is working properly. The Java exception is listed below.

As a result of this failure events were being backed up to the insertion buffer on disk and, after the default eight hours, were moved to the expired events directory.

Resolution

The database was set to allow 200 connections but only six of those were for insertions. When the six were consumed any additional connections to insert data were allowed until the INSERT started at which time the database disconnected the client pending another connection being freed.

Be sure, when creating a custom database, to allow enough connections for both INSERT operations and other operations.

Events in the insertion buffer on disk will be retried until they are expired. Those that are expired can be retried as well b moving their files to the main buffer after stopping Sentinel. Once they are moved restart Sentinel and they will be retried and processed.

Additional Information

||||esecurity.ccs.comp.event.jdbc.JDBCLoadStrategy|loadEvents|
Fri Jun 29 16:57:46 ART 2007|Thread-28|INFO|Storing 84 events, first FA8CE449-089F-102A-9642-0019BB39F41A, handler esecurity.ccs.comp.event.SmallFileMultiDirectoryEventMessageCache@1e1ec86||||esecurity.ccs.comp.event.EventInsertErrorHandlerService|store|
Fri Jun 29 16:57:46 ART 2007|Thread-28|SEVERE|Failed to insert 84 events to DB--Events were stored for later insertion. Check the log files and the database for more information. The error: java.lang.RuntimeException: Error saving events, cause java.sql.BatchUpdateException: Io exception: Connection reset||||esecurity.ccs.comp.event.jdbc.BaseBulkLoaderImpl|insertionFailure|
Fri Jun 29 16:57:51 ART 2007|Thread-230|INFO|Sending 1 system events on channel ewizard_binary_event||||esecurity.ccs.comp.dispatcher.BatchEventSender$Sender|run|
Fri Jun 29 16:57:56 ART 2007|Thread-36|SEVERE|Error rolling back transaction.; Exception Closed Connection; java.sql.SQLException; ||||esecurity.ccs.comp.event.jdbc.JDBCLoadStrategy|loadEvents|
Fri Jun 29 16:57:56 ART 2007|Thread-36|SEVERE|java.sql.SQLException: Closed Connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleConnection.rollback(OracleConnection.java:1453)
at esecurity.ccs.comp.event.jdbc.JDBCLoadStrategy.loadEvents(JDBCLoadStrategy.java:354)
at esecurity.ccs.comp.event.jdbc.JDBCLoadStrategy.load(JDBCLoadStrategy.java:108)
at esecurity.ccs.comp.event.jdbc.BaseBulkLoaderImpl.bulkLoad(BaseBulkLoaderImpl.java:114)
at esecurity.ccs.comp.event.jdbc.JDBCEventStore.procAddEvents(JDBCEventStore.java:320)
at esecurity.ccs.comp.event.jdbc.JDBCEventStore.store(JDBCEventStore.java:216)
at esecurity.ccs.comp.event.jdbc.JDBCEventStore.store(JDBCEventStore.java:195)
at esecurity.ccs.comp.event.EventStoreTask.doProcess(EventStoreTask.java:99)
at esecurity.ccs.comp.event.EventStoreTask.process(EventStoreTask.java:46)
at esecurity.base.ccs.comp.BaseTask.run(BaseTask.java:52)
at esecurity.base.ccs.comp.threadpool.TaskThreadPool$RunWrapper.run(TaskThreadPool.java:84)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
at java.lang.Thread.run(Thread.java:534)