Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Agile forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Issue after Migration from WAS4 to WAS5.1

 
Ashutsh Pitre
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
After my application is migrated from WAS4 to WAS51, I started receiving warning messages in stdout.log as follows:
"ConnectionMan W J2CA0075W: An active transaction should be present while processing method allocateMCWrapper."

This is because application is spawning thread in controller servlet, which in turn hits the DB. (FYI, On application start-up, we are caching the data into hashmaps for performance enhancements. I know this will cause memory issue if data size grows too much! However, data size is not huge and we are not facing any memory issue)

Bad part after migration was; I started receiving error at regular intervals (Every alternate day) as follows:
"ORA-01000: maximum open cursors exceeded ".

FYI...Application is having the same code base (java code as well as database code) for WAS51 as it was for WAS4. However, Oracle JDBC driver was changed from ver 8.1.7.0 to ver 9.2.0.4.0.

However, to test if this issue is driver related issue, I revert back to old JDBC driver (ver8.1.7.0), but issue persists.

I checked if any ResultSet, Statement, Connection objects are not closed in application. However, I found that all these objects are correctly closed in finally block.

We are using websphere connection pooling with following JDBC server settings:
Statement Cache Size 1000
Minimum pool size10
Maximum pool size100
Oracle JDBC driver (with version)Oracle JDBC driver (9.2.0.4.0)
Oracle Driver implementation classoracle.jdbc.pool.OracleConnectionPoolDataSource
Connection time out180
Idle time out1800
Disable Autoconnection cleanupFALSE
OPEN_CURSOR Parameter set Oracle Initialization file400
Oracle DB Version8.1.7.4.0


Can anybody please let me know if this issue could be because of this thread, which we are spawning in servlet, which in turn hits database?

Kindly let me know. Any pointers are greatly appreciated.

Thanks and Regards,
Ashutosh Pitre
ashutosh.pitre@gmail.com
 
Sabarish Sasidharan
Ranch Hand
Posts: 73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Has somebody changed the database server settings? For ex in DB2, we can configure the maximum number of applications that can connect to DB2 instance. If that number is low, it will not allow further connections till one is freed. This number is configured in the database server.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic