Recently i have been facing the issue of thread allocation due to which server often goes down.Below are the messages from the logs:
2012-03-25 22:02:28 BST [CommonLib.MWS.0002W] Should have positive integer specified for com.webMethods.sc.mws.db.cleanup.period. The current value is null
2012-03-25 22:02:28 BST [CommonLib.MWS.0002W] Should have positive integer specified for com.webMethods.sc.mws.db.max.waittime. The current value is null
2012-03-25 22:02:28 BST [ISS.0024.0010C] Central User Manager initialization failed with error : null
2012-03-25 22:02:28 BST [ISS.0024.0001E] Could not initialize User Manager.
2012-03-25 22:02:35 BST [ISS.0014.0020I] Available Thread Pool Warning Threshold Exceeded: 0% available
2012-03-25 22:02:37 BST [ISS.0014.0020I] Available Thread Pool Warning Threshold Exceeded: 1% available
2012-03-25 23:22:39 BST [ISS.0137.0010E] Scheduler: Resources unavailable: [9119] Unable to allocate a new thread in the time specified 2012-03-25 23:28:30 BST [ISS.0024.0001E] Could not initialize User Manager.
2012-03-25 23:28:40 BST [ISS.0024.0004E] Could not access User Manager
2012-03-25 23:28:40 BST [ISS.0024.0021E] Error occurred while retrieving information for group : My webMethods Administrators@–@. Exception message : java.lang.NullPointerException
Looking at the logs i can find out that there is some problem in the MWS but not able to figure it out where the problem lies.
Don’t worry about the above message. Nothing gets hurted with this…
What is the Minimum and Maximum memory that is allocated in setenv.sh/setenv.bat? If you have both set with same value, change it to be some reasonable minimum and maximum.
Apart from the above checks with the UserManager is your IS shows configured for
[TABLE]
[TR]
[TD=“class: title, colspan: 2”][/TD]
[/TR]
[TR]
[TD=“class: evenrow”]Central User Management
[/TD]
[TD=“class: evenrowdata-l”] Configured and also Jdbc pool (CentralUsersPool ) created for MWS tested?
[/TD]
[/TR]
[/TABLE]
Yes we would investigate and would raise a ticket with SAG.
But have a small query i.e. what is the simplest way of finding out the services which are hung and are consuming threads.
I believe one way is to check thread dumps but not sure though, as i am new to these administrative side of webMethods.
Also, where we need to look for the UserManager inintialization issue.
Most of the common reasons fr thread utilisation have been mentioned above. Apart from this below are a few more:
If your IS is connecting to any backend system synchronously such as a JDBC adapter, EJB adapter, etc then you might want to check the response time of these services. Incase the response time is high, this can cause issues (although it depends on the incoming callsto these services)
Apart from these, you can check if any of the trigger services are being retried continously due to the trigger settings (this would appear in the service usage anyways)
The other config that may cause this is the “Timeout” value in the Outbound HTTP Settings (Resources section in IS). This is the default time that the IS would wait for incase of any outbound HTTP calls.
Better to check the Broker log for any large documents piled. we have faced similar issue with 500 MB sized doc. The IS will not show number of services utilized,it will show the min usage,but when the services tries to fetch the doc, IS will hang.