IBM Connections: Metrics / Cognos and the HTTP timeout . . . .


Let me preface this post with a statement:

I really, really don’t like Cognos. Metrics is a pain as well.
And .. in case it lacked sufficient emphasis … I really, R E A L L Y don’t like  Cognos.

 

This is an interesting one that I have been battling with for quite some time at my current client. We had been running into errors with Cognos reports not finishing and the only errors we saw were in the syemOut.log files for HTTP sessions suddenly being reset:

 [3/5/13 11:51:05:341 EST] 000000b8 CognosBIReque 3 com.ibm.connections.metrics.reportgeneration.cognos.CognosBIRequestProcessor processCognosBIRequest post jobTemplateSearchPath=/content/folder[@name=’IBMConnectionsMetrics’]/package[@name=’Metrics’]/folder[@name=’static’]/jobDefinition[@name=’jobtemplate5′]

[3/5/13 11:56:05:532 EST] 000000b8 SystemErr R java.net.SocketException: Connection reset

Metrics sends Cognos 5 HTTP requests for each report time range – these correspond to the Jobtemplate1 – Jobtemplate5 reports in Cognos that are called and executed. These HTTP requests are synch calls so they have to stay connected and wait until the Jobtemplate call is finished so metrics can update the process. for all successful calls yo will see HTTP status 200 results and that is exactly what you want. We were seeing the above resets for calls to the Jobtemplate4 and Jobtemplate5 calls – it was KILLING ME.

Metrics was not at fault – it has it’s timeout settings in the metrics-config.xml file (secsPerRequest) and that was set to 3600 so it was off the list of culprits.

We reset the HTTP servers plug-in.xml setting for timeouts (ServerIOTimeout) first to 400 seconds and then to 600 and we saw no change.

We then did a test – we changed the interService href in the LotusConenctions-config.xml file as follows – btw that only works because we have a single Cognos server, not a clustered pair:

sloc:serviceReference bootstrapHost=”” bootstrapPort=”” clusterName=”admin_replace” enabled=”true” serviceName=”cognos” ssl_enabled=”true”> 
<sloc:href>
 
<sloc:hrefPathPrefix>/cognos</sloc:hrefPathPrefix>
 
<sloc:static href=”
http://connect.domain.com” ssl_href=”https://connect.domain.com“/> 
      <sloc:interService href=”https://cognosserverFQHN.domain.com:9443“/> 

Drum-roll ….. Here we go, it fixed the issue, but now the progress display (“xxx% complete”) on the metrics page to be permanently stuck at 0%. What this did do was point ut to the problem …. the F5 load balancer that we in front of the dual HTTP servers. It had a permanent 5 minute http thread timeout set and was killing ANY thread that was going over 5 minutes.

 

The Takeaway:

Metrics/Cognos spawns exactly 110 jobs for each Community metrics update request, many of these requests will go over 5 minutes and you should check that any device/server in your network has a higher HTTP timeout seting.

 

Advertisements

One thought on “IBM Connections: Metrics / Cognos and the HTTP timeout . . . .

  1. If you’re still having the issue of community metrics being stuck at 0%. Try the following:

    Check the systemOut.log on the Connections server where Metrics is running and look for the following error:

    000000f8 TangoServiceI W com.ibm.tango.internal.service.TangoServiceImpl getMemberProfileWithUpdates CLFRM0110W: Undetermined memberProfile, in which its name: wasadmin, email: null, member uuid: 5de8dc2d-0829-42ef-897d-c99c208eb929, and logins: [wasadmin], closely matches to directory service object of an user, whose name: wasadmin, email: null, and logins: [wasadmin].

    If you see this error then we need to do some synchronization of community data.

    First, go to the DB2 server and open a command line processor and enter the following commands:

    db2 => connect to METRICS
    db2 => update metrics.d_community set report_request_time = null
    db2 => terminate

    Next, go to the server where the Deployment Manager is running and start a wsadmin session:

    c:\IBM\WebSphere\AppServer\profiles\Dmgr01\bin>wsadmin -lang jython -username wasadmin -password password

    Enter the following wsadmin commands:

    wsadmin>execfile(“communitiesAdmin.py”)
    wsadmin>CommunitiesMemberService.syncMemberExtIdByLogin(“wasadmin”)
    wsadmin>exit

    Once those steps are done, log back into communities and go to the Community Metrics section and click the link to generate the community metrics report.

    These steps have resolved the issue on for me and several of my customers.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s