Troubleshooting
Problem
Information Analyzer (IA) Console client hangs or becomes unresponsive when registering exceptionally high number of tables/columns in a given IA project and the operation cannot be completed.
Symptom
When registering exceptionally high number of tables (approx 30,000) / columns (approx 300,000) for a given data source in an IA project in a single operation, IA Console client hangs and becomes unresponsive.
Cause
This issue is caused, because the IA Console client is trying to get a new HTTP connection to communicate to the server and the timeout is happening while waiting for this new connection to be available.
Environment
Information Server ver 11.3.x Client Tier on Windows.
Diagnosing The Problem
If you inspect %USERPROFILE%\AppData\Local\IBM\IBM Information Server Console\session.log from client tier, it does not get updated after few minutes of the start data registration operation, and there is an entry in the log which looks as follows:
[Platform.Session.ServerSession] [WARN ] [MOZART-PLATFORM-00034] Unexpected exception encountered while attempting hearbeat on session
[id=10f4d117-ad5b-48c8-8395-9d8bae503a18].
java.rmi.RemoteException: Timeout waiting for connection; nested exception is:
org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection.
Resolving The Problem
Modify the iis.client.site.properties file on your client tier where IA Console is installed.
Location of this file on client tier (Windows) is: <IS_HOME>\ASBNode\eclipse\plugins\com.ibm.iis.client\iis.client.site.properties:
where IS_HOME is typically C:\IBM\InformationServer
#Socket Timeout parameter. This is a new parameter, which needs to be created.
com.ibm.iis.http.soTimeout=6000000
# The timeout in milliseconds until a connection is established.
# A missing value or a value of zero or less is interpreted as an infinite timeout.
com.ibm.iis.http.connectionTimeout=600000
# The maximum time in milliseconds the client waits to get an HTTP connection out of the pool
com.ibm.iis.http.pool.timeout=600000
# The maximum number of HTTP connection for a given route (for a given host and port).
com.ibm.iis.http.pool.maxPerRoute=5
# The total maximum number of HTTP connection (across all routes).
com.ibm.iis.http.pool.maxTotal=20
After making the above changes, for this particular scenario, the timeout error in session.log disappeared.
However due to extremely large number of tables/columns, the registration process was running for more than 24 hours, which was confirmed by continuous updation of session.log file.
As a workaround solution, IBM recommends to register the data sources which have large number of tables / columns in smaller chunks of 100 Tables or 2000 columns in one operation.
It takes approx 5 to 10 mins to register tables/columns to an IA project in smaller chunks.
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21960757