TIBCO BusinessEvents (BE) Agents not able to connect/reconnect to Oracle database ("Error - Io exception: Connection reset" reported").

TIBCO BusinessEvents (BE) Agents not able to connect/reconnect to Oracle database ("Error - Io exception: Connection reset" reported").

book

Article ID: KB0087993

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:
===========
BE Agents not able to connect/reconnect to Oracle database ("Error - Io exception: Connection reset" reported").

Environment:
===========
TIBCO BusinessEvents 5.0
Oracle 11 JDBC driver
Linux Environments

Symptoms:
=========
Error in logfile:
[jdbcstore.impl] Error - Io exception: Connection reset
Fatal [main] - [jdbcstore] JdbcStore initialization failed.
java.lang.Exception: Error while creating database connection
        at com.tibco.be.jdbcstore.impl.DBConnectionPool.init(SourceFile:125)
        at com.tibco.be.jdbcstore.impl.DBConnectionPoolManager.init(SourceFile:30)
        at com.tibco.be.jdbcstore.impl.DBManager.init(SourceFile:233)
        at com.tibco.be.jdbcstore.JdbcStore.a(SourceFile:526)
        at com.tibco.be.jdbcstore.JdbcStore.&ltinit>(SourceFile:220)
        at com.tibco.cep.runtime.service.dao.impl.tibas.backingstore.BEDataGridJdbcStore.&ltinit>(SourceFile:48)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.tibco.cep.runtime.service.dao.impl.tibas.ASDaoProvider.a(SourceFile:175)
        at com.tibco.cep.runtime.service.dao.impl.tibas.ASDaoProvider.initHook(SourceFile:106)
        at com.tibco.cep.runtime.service.om.impl.AbstractDaoProvider.init(AbstractDaoProvider.java:63)
        at com.tibco.cep.runtime.service.cluster.MultiAgentCluster.init(MultiAgentCluster.java:108)
        at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.initCluster(RuleServiceProviderImpl.java:653)
        at com.tibco.cep.runtime.session.impl.RuleServiceProviderImpl.configure(RuleServiceProviderImpl.java:252)
        at com.tibco.cep.container.standalone.BEMain.jumpStart(SourceFile:136)
        at com.tibco.cep.container.standalone.BEMain.main(SourceFile:59)

Cause:
======
Oracle JDBC driver problem

see:
https://forums.oracle.com/forums/thread.jspa?messageID=3793101
http://www.usn-it.de/index.php/2009/02/20/oracle-11g-jdbc-driver-hangs-blocked-by-devrandom-entropy-pool-empty/

Resolution:
========
Update property java.extended.properties in TRA files (be-engine.tra and TRA file of deployed application) and add the following parameter:

-Djava.security.egd=file:///dev/urandom


Oracle JDBC 11g seems to use /dev/random by default, which causes usually no trouble on clients running with console access by a user, because his/her unpredictable actions will keep the entropy pool well-fed. But to make it usable on a headless server with a latently empty entropy pool, you should do several things in descending security order (without warranty):

1). Involve an audio entroy daemon like AED to gather noise from your datacenter with an open microphone, maybe combine it with a webcam noise collector like VED. Other sources are talking about “Cryptographic Randomness from Air Turbulence in Disk devices“.

2). Use the Entropy Gathering Daemon to collect weaker entropy from randomness of userspace programs.

3). Talk your JDBC into using /dev/urandom instead:
  -Djava.security.egd=file:///dev/urandom

See:
https://forums.oracle.com/forums/thread.jspa?messageID=3793101
http://www.usn-it.de/index.php/2009/02/20/oracle-11g-jdbc-driver-hangs-blocked-by-devrandom-entropy-pool-empty/

Resolution:
========
Update property java.extended.properties in TRA files (be-engine.tra and TRA file of deployed application) and add the following parameter:

-Djava.security.egd=file:///dev/urandom

Issue/Introduction

TIBCO BusinessEvents (BE) Agents not able to connect/reconnect to Oracle database ("Error - Io exception: Connection reset" reported").