views:

739

answers:

2

Hi

We run our application on Websphere 6.1 and we hit an Oracle 10g database. Over the last few days we have noticed the following errors in our log J2CA0045E: Connection not available while invoking method createOrWaitForConnection for resource jdbc/xxxxx.

The app seems to hang and then rectify itself after 20 minutes. Our connection pool currently allows 50 connections and our database allows 1200 sessions.

We are unable to reproduce this in our QA environment. Does anyone have any ideas of how we can re-create this problem, or any thoughts on how we can resolve it in our production environment?

Thanks Damien

A: 

Well, if you can't replicate the issue in QA, Id start identifying differences the 2 environments, and changing QA to reflect Prod if possible. What server are you using? Can you replicate it on WTE (if you're running one?) are you sure both versions of the server are the same... you said 6.1... but look closer at start up: Look for something like?

******** Start Display Current Environment ******** WebSphere Platform 6.0 [BASE 6.0.2.5 cf50549.21] running with process name C001209912Node01Cell\C001209912Node01\server1 and process id 8720

Confirm you have the same refresh packs and etc?

A: 

Is it possible that an application is, perhaps under a very particular set of conditions, not correctly releasing its connection? For example, perhaps not doing so in a "finally"? So in prod this happens more often than in QA because the data and activities are different?

By monitoring the status of the connections, using TPV or whatever tool you prefer, you should be able to see what's happening. I'd expect to see the "orphaned" connections being tidied up after some timeout period - that would fit the cycle of recovery you're seeing.

With some effort you could enable enough websphere trace to see allocation and release of connections, and should be able to see mismatched pairs.

I'd code review any recently deployed app. Look for connection opens and check for suitable "finally" blocks.

djna