Author |
Message
|
jaysurya |
Posted: Tue Feb 14, 2006 2:17 pm Post subject: Database is getting locked with JDBC adapter |
|
|
Newbie
Joined: 31 Jan 2006 Posts: 5
|
We upgraded the connectors to 2.6.0.4 of Adapter framework. The database connections are not closed properly. Here is the log.
The DoVerbFor fails with a null pointer exceptionand then the connections are not closed.
Anybody seen this issue:
17104] [Mesg: Exception caught in BusObjJavaInterface.DoVerbFor for Object MDB_CUSTOMER. Reason: java.lang.NullPointerException]
[Time: 2006/02/14 09:21:16.482] [System: ConnectorAgent] [SS: SiebelToMDB_JDBCConnector] [Thread: CxSCManagerThread (#206121398)] [Type: Info] [MsgID: 17066] [Mesg: Application state is disconnected]
[Time: 2006/02/14 09:21:16.904] [System: ConnectorAgent] [SS: SiebelToMDB_JDBCConnector] [Thread: CxSCManagerThread (#206121398)] [Type: Error] [MsgID: 36008] [Mesg: Could not free the connection.]
[Time: 2006/02/14 09:21:16.904] [System: ConnectorAgent] [SS: SiebelToMDB_JDBCConnector] [Thread: CxSCManagerThread (#206121398)] [Type: Error] [MsgID: 36008] [Mesg: Could not free the connection.]
[Time: 2006/02/14 09:21:16.904] [System: ConnectorAgent] [SS: SiebelToMDB_JDBCConnector] [Thread: CxSCManagerThread (#206121398)] [Type: Error] [MsgID: 36008] [Mesg: Could not free the connection.]
[Time: 2006/02/14 09:21:16.904] [System: ConnectorAgent] [SS: SiebelToMDB_JDBCConnector] [Thread: CxSCManagerThread (#206121398)] [Type: Error] [MsgID: 36008] [Mesg: Could not free the connection.] |
|
Back to top |
|
 |
vk |
Posted: Tue Feb 14, 2006 9:36 pm Post subject: |
|
|
Partisan
Joined: 20 Sep 2005 Posts: 302 Location: Houston
|
Hi,
What are you using the connector for? Event Notification or Request Processing?
Also, when did you get this error? During initialization of the connector or at runtime?
Regards,
VK. |
|
Back to top |
|
 |
jaysurya |
Posted: Wed Feb 15, 2006 10:31 am Post subject: |
|
|
Newbie
Joined: 31 Jan 2006 Posts: 5
|
This is for request processing. This is a run time error. The connector starts up fine |
|
Back to top |
|
 |
vennela |
Posted: Wed Feb 15, 2006 12:07 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Try applying fix packs for both framework and adapter.
Check the readme's of fixpacks to see if problems of this kind are fixed in any of the fixpacks. |
|
Back to top |
|
 |
vk |
Posted: Wed Feb 15, 2006 6:10 pm Post subject: |
|
|
Partisan
Joined: 20 Sep 2005 Posts: 302 Location: Houston
|
Hi,
You might face errors during this at runtime with JDBC connectors, if you set the Connector Specific Property 'CloseDBConnection' to False. Here the connector will establish connections to the database when requests come. These will be kept open even after the requests are processed.
During this time, if the database goes down for some reason, already established connections will remain open and you might get errors like this.
To overcome this, you can try setting the property CloseDBConnection to True. This will open and close DB connection for every request message. Even though it is said that this might impact the performance, I didn't see any significant change in the time taken by the connector to process requests.
I once got the error "Broken Pipe". I changed this property to True and then did not face any more issues till now. Are you getting the error for all requests or very rarely? If latter is the case, you can try setting CloseDBConnection to True.
Hope this helps.
Regards,
VK. |
|
Back to top |
|
 |
jaysurya |
Posted: Thu Feb 16, 2006 8:53 am Post subject: |
|
|
Newbie
Joined: 31 Jan 2006 Posts: 5
|
Thanks very much for the information.
It turned out to be an invalid date format in the connector property which caused the null pointer exception. However, it did not release the connection on the doVerbFor method on the BO where the null pointer exception occured.
A correct dateformat pattern fixed the issue. |
|
Back to top |
|
 |
Atlanta06 |
Posted: Tue May 08, 2007 3:26 pm Post subject: |
|
|
Novice
Joined: 29 Nov 2006 Posts: 11
|
vk wrote: |
Hi,
You might face errors during this at runtime with JDBC connectors, if you set the Connector Specific Property 'CloseDBConnection' to False. Here the connector will establish connections to the database when requests come. These will be kept open even after the requests are processed.
During this time, if the database goes down for some reason, already established connections will remain open and you might get errors like this.
To overcome this, you can try setting the property CloseDBConnection to True. This will open and close DB connection for every request message. Even though it is said that this might impact the performance, I didn't see any significant change in the time taken by the connector to process requests.
I once got the error "Broken Pipe". I changed this property to True and then did not face any more issues till now. Are you getting the error for all requests or very rarely? If latter is the case, you can try setting CloseDBConnection to True.
Hope this helps.
Regards,
VK. |
I doubt your explanation.JDBC adapter takes atleast 2 to 3 secs to grab a database connection and that impacts performance. |
|
Back to top |
|
 |
vk |
Posted: Thu May 10, 2007 1:32 pm Post subject: |
|
|
Partisan
Joined: 20 Sep 2005 Posts: 302 Location: Houston
|
I agree that this is not a good design. With 2.6.0 version of JDBC adapter, if the property 'CloseDBConnection' is not set to 'True', then the DB connection established by the adapter will timeout after sometime when there are no DB operations to perform. When the next request comes, the adapter will try to use the same DB connection and this message will fail and go to the fault queue.
This defect has been fixed now in later fixpacks. Now the property 'CloseDBConnection' can be set to 'False'. The adapter will check whether the connection is valid, before using it for DB operations.
Regards,
VK. |
|
Back to top |
|
 |
|