Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We have a Bobje installation and use crystal reports infoview to share some of our reports with our customers over the internet. Most reports will work ok however any reports that take 'longer' seem to fail. Longer being about 3-4 mins. If we run the same reports on the local network they work fine. In fact we have some reports that take 10-15 mins that return fine locally but not over the internet.

We have been in contact with SAP about this and have not had any satisfactory solution (so far!!). Mostly getting browser and java version. We have also increased as many timeouts as we can but this has had no effect.

We are now at a loss about what to do next. One suggestion is that it may be 'network' related but I am unsure as to where to start on that one. another idea is that it may be an OS socket timeout ??

Additional Information:

  • Server RH 4
  • Bobje version XI 3.1 fix pack 1.5
  • Oracle 10g RAC

Any help would be much appreciated.

James

share|improve this question
    
Hi I have been investigating this some more. And it seems that Windows sends a tcp reset after 4 minutes this is what is killing the report. My question now is, surely there is some way to have Crystal return results for a long report?? –  James Mar 3 '11 at 20:53
add comment

3 Answers

up vote 0 down vote accepted
+50

I think I found something you may be able to use:

http://vivekagarwal.wordpress.com/2009/07/04/firewall-dropping-oracle-database-connections-in-websphere-connection-pool/

The solution that we ended up with was to work around this issue on the Oracle end. We modified the sqlnet.expire_time parameter in sqlnet.ora on the Oracle 10g server down from the default “30″ (30 minutes) to “1″ (1 minute).

The parameter SQLNET.EXPIRE_TIME is used to specify the time interval, in minutes, to send a probe to verify that client/server connections are active. If the probe finds a terminated connection, or a connection that is no longer in use, it returns an error, causing the server process to exit. This parameter is primarily intended for the database server so that it can free up server-side resources that are not in use.

A side-effect of the probe is that there is TCP-IP activity between the client and the server each time the probe is executed, and the firewall designates the link as an active one. By lowering the probe interval down to a minute, we managed to fool the firewall into leaving the database connections in the connection pool alone, and not terminate them even though the client may not execute a query using the connection for an extended period of time.

share|improve this answer
    
Ryan unfortunately the above did not fix the issue. However your other comment did help me out somewhat, so I am awarding you the points. –  James Mar 10 '11 at 14:41
add comment

Where to go next: I'd get a sniffer of some kind to determine exactly what's going on. Wireshark is a great tool for troubleshooting issues like this. You'll see exactly what's happening over the network. Take one baseline capture locally, then another with a remote client connecting. Compare the two and see where things are different.

My guess: you've got a stateful firewall somewhere in the equation that's killing the connection after a given number of idle minutes. Some method of TCP keepalive would be necessary to maintain the connection.

share|improve this answer
    
Have done this and the problem is that the windows client is sending a tcp RST back after 4 mins. I have looked into this and there does not seem to be any way to stop this from happening. What I need now is a way for Business Objects to send a keep alive to stop this happening –  James Mar 4 '11 at 11:48
    
I don't know if Business Objects implements tcp keep alive or not, but you might be able to force it using the following method. tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/#libkeepalive –  Ryan Mar 4 '11 at 17:55
    
Ryan this hasn't help but it is leading me in the right direction. Can you add your comment as a answer so I can award points if it comes to that –  James Mar 7 '11 at 20:14
    
See my other answer, it seems to be closer to what you're looking for. I can add the tcp keepalive as well if you prefer. –  Ryan Mar 8 '11 at 0:18
add comment

In the end I configured the embedded tomcat in BO with an ajp connector. I then configured apache httpd with mod_jk. This fixed the issue.

J

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.