We have recently migrated from a development environment with EDQ that was using PostgreSQL to a testing environment using Oracle DB. It is worth nothing that in the development environment, unit testing and some integration testing with Siebel occurred without error, and the traffic to EDQ was lower. It was only after the database and environment transition that we have started to encounter issues. Our error logs have been getting filled up with information similar to the following: (I can post the entire log if requested)
Apr 21, 2014 2:08:54 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/edq] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@4e78c870]) and a value of type [com.datanomic.userauth.server.Session] (value [com.datanomic.userauth.server.Session@4463db73]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Apr 21, 2014 2:08:54 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/edq] created a ThreadLocal with key of type [oracle.jdbc.driver.AutoKeyInfo$1] (value [oracle.jdbc.driver.AutoKeyInfo$1@77dc7e18]) and a value of type [oracle.jdbc.driver.OracleSql] (value [INSERT INTO dn_eventlog2 (event_id, event_type, event_sub_type, event_time, duration, severity, mission_execution_id, mission_name, task_execution_id, task_type, task_name, user_name, status, project_name, project_id, runlabel, run_profile, message_string, message) VALUES (seq_dn_eventlog2.nextval, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Apr 21, 2014 2:08:54 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/edq] created a ThreadLocal with key of type [oracle.jdbc.driver.AutoKeyInfo$1] (value [oracle.jdbc.driver.AutoKeyInfo$1@77dc7e18]) and a value of type [oracle.jdbc.driver.OracleSql] (value [INSERT INTO dn_eventlog2 (event_id, event_type, event_sub_type, event_time, duration, severity, mission_execution_id, mission_name, task_execution_id, task_type, task_name, user_name, status, project_name, project_id, runlabel, run_profile, message_string, message) VALUES (seq_dn_eventlog2.nextval, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
Apr 21, 2014 2:08:54 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/edq] created a ThreadLocal with key of type [oracle.jdbc.driver.AutoKeyInfo$1] (value [oracle.jdbc.driver.AutoKeyInfo$1@77dc7e18]) and a value of type [oracle.jdbc.driver.OracleSql] (value [INSERT INTO dn_eventlog2 (event_id, event_type, event_sub_type, event_time, duration, severity, mission_execution_id, mission_name, task_execution_id, task_type, task_name, user_name, status, project_name, project_id, runlabel, run_profile, message_string, message) VALUES (seq_dn_eventlog2.nextval, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
We are also encountering the following error being displayed on one of our jobs:
Process failed: A database error has occurred : IO Error: Socket read timed out. (Code: 200,302) (Code: 200,302)
I have a feeling that these two issues may be related. I am waiting to implement a potential solution that I found which was to add an extra Java property to tomcat:
-Doracle.mds.cache=simple
Lastly, we have also started to encounter the following error when calling EDQ from Siebel:
Call to PropertSet.GetChild() failed. The property set does not have any children. (SBL_EXL_00144)
A temporary workaround for this issue is to restart both Siebel and EDQ.
I am not sure if any of these issues are related, but they all started to occur at the same time. I will post any updates after the Java property is implemented as well, but in the mean time, does there appear to be anything obviously wrong?