Troubleshooting
Problem
Why does IBM Datacap appear to hang, requiring a restart of all components?
Symptom
The Datacap system appears to become non-responsive, requiring a restart of all components to get it working again.
Cause
The cause is due to a malformed SQL query string. From the client perspective, it was reported to occur during logon via TMWeb, and Thick Client. Another case was from a user that was doing a Thick Client query.
TMServer has an feature where it will retry any command that results in error, based on the settings in the registry. The settings reflect the number of retries to do and the time interval to wait. The default settings have a duration of 16 minutes, which gives the appearance that the TMServer has hung.
Diagnosing The Problem
Collect and examine the TMServer log. Look for multiple instances (6-12) of an ADO error, indicating a bad query was executed. This information can be used to identify the user that is causing the problem
Resolving The Problem
While bad queries should be avoided, the following will allow TMServer to respond faster, should a bad query happen:
1. Stop all Datacap applications, then stop the TMServer.
2. Change the following registry entries on the TMServer box:
- For 64-bit operating systems:
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Datacap\TMS\InterThread (REG_SZ) Admin retries
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Datacap\TMS\InterThread (REG_SZ) ADO retries
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Datacap\TMS\InterThread (REG_SZ) Engine retries
- HKEY_LOCAL_MACHINE\SOFTWARE\Datacap\TMS\InterThread (REG_SZ) Admin retries
- HKEY_LOCAL_MACHINE\SOFTWARE\Datacap\TMS\InterThread (REG_SZ) ADO retries
- HKEY_LOCAL_MACHINE\SOFTWARE\Datacap\TMS\InterThread (REG_SZ) Engine retries
For 32-bit operating systems:
The registry setting relevant to batch queuing is "Engine retries", while failure to obtain certain application data falls under "Admin retries". The "ADO retries" setting is specific to ADODB queries such as fetching Job Monitor data. These can be configured to semi-colon delimited, positive decimal or integer values indicating:
a) the number of retries Taskmaster Server should perform when the initial request terminates and
b) the length of time allowed for each retry / database to respond.
For example, a value of 0.1;0.5;1;5;10 means that a total of 16.6 seconds will be allowed for that single database query to be retried (0.1 + 0.5 + 1.0 + 5.0 + 10), though the longest amount of time allowed for any given retry is 10 seconds.
The default setting is 0.1;1;5;10;30;60;300;600 resulting in 8 retries in a duration of 16 minutes, 16.1 seconds.
One suggestion is to remove the last two entries (300;600), so only 6 tries during a duration of 1 minute and 16.1 seconds happen.
3. Restart the TMServer, then start the Datacap applications in reverse order.
Please Note: Since these are considered tuning parameters, you will need to test to see what settings work best for your system.
Note: for Datacap 9.x, the registry entry name is singular, as in 'Admin retry' or 'Engine retry'.
Was this topic helpful?
Document Information
Modified date:
17 June 2018
UID
swg21666402