As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
Join the TIBCO Community TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.
From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
Request access to the private WebFOCUS User Group (login required) to network with fellow members.
Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.
Hi, We have a .fex that creates a datamart for our advancement division. When I run this .fex against our production database (which is a bunch of Oracle tables) it takes about 43 minutes to run and creates a multi-segment focus file of about 195MB (and there are a bunch of other smaller files). When I run this same .fex against one of our test databases (which is a recent clone of our production environment) it crashes after an hour or so and I get an HTTP 500 error. The main file for the datamart is only 180MB. When I looked at the tomcat logs I could see the out of memory error and our systems person changed the properties for Tomcat (which were previously blank) to: Initial memory pool 256 MB, Maximum memory pool 512MB, and he left the Thread Stack Size blank.
I'm not surprised that this .fex would take longer to run against one of our non-production environments because they are tuned differently (they have fewer resources, swap space, etc.) than our production database. But I guess I don't really understand why I would be running out of memory on the tomcat end.
Any ideas?
We are running WebFOCUS 7.1.4 on a Windows machine running Windows 2003 (standard edition, service pack 1). IBM 2.80GHz CPU with 2.5 GB RAM. Tomcat version 5.0.28.
Are you sure that the memory error in tomcat is absolutely sure linked to the execution of your fex against the prod environment? I mean: have you checked that the time of occurrence of the error is the same as the occurence of your http500? OOM errors in tomcat usually occur because of trying to display large reports or some such action. And from the look of your description, this is not the case with you procedure. If the http500 is not related to the OOM, then it may very well be because of a time-out. If that is the case, your agent should still be running, trying to do whatever it is that it needs to do. Check to see if your agent is still running after the http500, and if so, it is a time out issue.
GamP
- Using AS 8.2.01 on Windows 10 - IE11.
in Focus since 1988
Posts: 1961 | Location: Netherlands | Registered: September 25, 2007
Hi, The error message from the corresponding localhost log is: 2008-03-26 16:01:09 StandardWrapperValve[WFServlet]: Servlet.service() for servlet WFServlet threw exception java.lang.OutOfMemoryError
leo, are you executing LIVE , or in Deferred Mode or Caster? If Live, i'ld go w/ Frankie and Gamp and try it Deferred if you've got mre, or caster if you dont. Testing the TimeOut idea alone, first. -s
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003
To determine where the problem exists, I would suggest running the fex with edastart -t. If it works, then therror is either in WebFOCUS Client of Tomcat.
I have also seen WebFOCUS return an HTTP500 error when the output is too large, can't remember how many lines though.
The version of JVM on the WebFOCUS server is 1.4.2_10. I have Java 1.5.0_04-b05 on my PC. (I know that ReportCaster would use the JVM on the server -- does DevStudio use that or the JVM on your PC?).
When I run the .fex via ReportCaster, again, it works fine in our production environment (we run this job nightly with no problems). However, when I run it against our test environment, it stops after about 10 minutes. I get an email saying it completed successfully, but it clearly didn't complete at all.
I don't know how to run this job deferred. It is not in a domain (managed reporting) -- it is located in one of the application folders on EDASERVE.
The "output" of this fex isn't what I would call output in the traditional sense -- no HTML, PDF, Excel, etc. files are created, but the -TYPE commands, and messages are sent to my Internet Explorer window. With over 10,000 lines of code in the .fex the data sent to the browswer window is very long, but since there is no problem in my production environment, I don't think that should be the problem since I should get approximately the same size file in the test environment.
How do I run the fex with edastart -t? Is this something I do on my PC, or is this something that has to be done on the server?
edastart -t is described in the manuals , you will need to get onto the server machine, in a DOS/telnet/etc session, depending on the OS.
If it is windows, the installation will have a
quote:
Interactive Agent Tool
option in the menu. if not cd to the bin directory, usually /ibi/srv??/wfs??/bin, then type edastart -t.
Once run you will get the FOCUS prompt ">>" you can type in commands, but no dialog manager.
Set your path, e.g. APP PATH IBISAMP IBIDEMO
You may want to set MORE to OFF as the output will be paused every page.
Run you fex, e.g. ex fexname parm1=?, parm2=?, parmn=?
See what happens.
To exit FOCUS type FIN
Also if you want to run this online or deferred from the server, log into the server console, click on procedures, select teh App directory, add it if necessary, click on the fex, select Run or Run Advanced, select Run Deferred and click Continue.