IS lost connection with TN database

Hi All,
Last night we faced an issue where one of our frond end servers lost connection with TN database suddenly. It remained in that state fr quite sometime and today early morning it got connected automatically. Could you help me finding out the reason? The huge error log says -

2007-09-11 23:59:59 CEST WMERROR 53b0727060b211dc977de768cf722630NULL 53b0727060b211dc977de768cf7226301189547999770
com.wm.app.b2b.server.ServiceException: [101.518]

*** Exception: Unable to connect to database! com.wm.app.b2b.server.ServiceException: [101.518] *** Exception: Unable to connect to database!
at com.wm.app.prt.util.PRTCrossRef.map(PRTCrossRef.java:343)
at com.wm.app.prt.tn.TNDispatcher.getInstanceId(TNDispatcher.java:69)
at com.wm.app.prt.tn.TNDispatcher.handleBizDoc(TNDispatcher.java:353)
at pub.prt.tn.handleBizDoc(tn.java:125)
at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:322)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:612)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:226)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:411)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:521)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:369)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:168)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:581)
at com.wm.lang.flow.FlowState.step(FlowState.java:438)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:403)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:982)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:612)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
atwm.tn.doc.xml:routeXml

Help Please.

The most likely causes:

  1. Someone brought down the DB server for maintenance.

  2. Network connectivity was interrupted.

Have seen the same error recently.

We have two servers connecting to the same TN DB (MS Sql 2005).

One of them would loose connection and the other not. It has now happened once for each of the two servers.

Restarting the IS that can no longer connect solves the problem or if left long enough (first time it happened overnight) it regains connection after some hours.

Have not yet found the cause of this error.

Have you had any resolution Somak?

Did you guys found the reason for this ?

Test running the TN DB connection in JDBC pools is working fine. Also I am able to access the database as well. All select queries to TN database are also working fine. Re-started the webMethods IS didn’t helped too.

We are getting this error while invoking wm.tn.route:routeBizdoc service.

Please help !!

com.wm.app.b2b.server.ServiceException: [101.518] *** Exception: Unable to connect to database!
at com.wm.app.prt.util.PRTCrossRef.map(PRTCrossRef.java:336)
at com.wm.app.prt.tn.TNDispatcher.getInstanceId(TNDispatcher.java:70)
at com.wm.app.prt.tn.TNDispatcher.handleBizDoc(TNDispatcher.java:353)
at pub.prt.tn.handleBizDoc(tn.java:125)
at sun.reflect.GeneratedMethodAccessor278.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:403)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:631)
at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:40)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:253)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)

Regards,
Kunal

Please check for the Min Pool Size of the TN Pool.

If it is 1 (or anything other than 0), set it 0 as this helps to avoid stale connections in the pool.

Can you share your IS & TN version as well as your database version.

Please check on empower or here what this [101.518] stands for.

These informations will help us to provide further steps.

Regards,
Holger

set it 0 as this helps to avoid stale connections in the pool.

I agree with Holger…and Yes this is the best practice for any JDBC connections related.

HTH,
RMG

Refer empower KB article…

Additionally also reach DBA team to know how much time session was active, when it got timed out and try to get any other informative details.

Thanks,

Thanks for the input guys.

However setting the minimum connections to 0 didn’t helped either.

IS&TN version : 7.1.2
Database :- Oracle 10G

Alias Name TN DB
Alias Description TN DB
Associated Driver Alias DataDirect Connect JDBC Oracle Driver
Database URL jdbc:wm:oracle://xxxx;serviceName=xxxx
User Id xxxx
Password *****
Minimum Connections 0
Maximum Connections 100
Idle Timeout 60000 milliseconds

I will get in touch with DBA now to find any potential problem with database.

Did you restart the TN-Function after changing the pool size?

Does this occur with other pools/functions also?

Regards,
Holger

I re-started the IS after changing the settings, also at present only TN is configured on IS JDBC pools

Also, this flow was running previously but all of sudden it stopped working with the exception mentioned above.

@Somak ,

Make sure you don’t have any issues with your DB (db going down or connection issues) and network failure and you are sure that everything is fine raise a ticket with SAG global support and wait for their response…

Lets see what they say and update the thread back with details :slight_smile:

While drilling down to the issue, we got to know that when we pass “ConversationID” under bizdoc then we get this error, however we checked that we are passing normal string as “ConversationID”

Do you know what could have gone wrong here? we found the table structure of Bizdoc table and the column “ConversationID” has datatype “varchar2(300)”

Please suggest

Thanks

Is your WmPRT package enabled as you are using converstationID in the TN? If yes did you configure the ProcessEngine alias (assuming you have installed all process engine component tables?

HTH,
RMG

yes WmPRT package is Enabled but Process Engine alias is not configured on IS. Can you please help me to understand what is the relation between these two ?

OK please create Process Engine alias and make sure have run the process engine component tables via db configurator and point the alias to the PE and restart the IS.

From 7.x The conversationID is now the part of the BPM processing (modeller) that is used by TN internally and it uses WmPRT.

After that the issue with the conversationID error should go away.

HTH,
RMG

Hi Amit,
A business process model can be triggered using few ways (Publishing document, using JMS etc.,). There is an option to trigger business process model using Trading Network document as well. When you invoke routeBizDoc service, it will push a document to TN, which potentially can trigger a process model. However, you said process engine is not even configured, so I think this can’t be a reason.

The error indicates, execution tries to refer PTR Cross reference table. This table is used when you have a process instance in started state waiting for a reply document to join back the execution of instance. What kind of data are you passing in conversationID? Is it some kind of instance id?

As you are not using Process engine, give a try by pointing the Process Audit JDBC pool to ‘Embedded DB Pool’, and see if routeBizDoc executes fine.

Pls have a ticked opened with SAG as well.

HTH
Senthil

Please point the JDBC pool alias for the Process Engine as I mentioned above and restart IS.

The error should go away.

HTH,
RMG