From torque-user-return-7526-apmail-db-torque-user-archive=db.apache.org@db.apache.org Sat May 05 10:58:56 2007 Return-Path: Delivered-To: apmail-db-torque-user-archive@www.apache.org Received: (qmail 99616 invoked from network); 5 May 2007 10:58:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 May 2007 10:58:56 -0000 Received: (qmail 83801 invoked by uid 500); 5 May 2007 10:58:56 -0000 Delivered-To: apmail-db-torque-user-archive@db.apache.org Received: (qmail 83780 invoked by uid 500); 5 May 2007 10:58:56 -0000 Mailing-List: contact torque-user-help@db.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Apache Torque Users List" Reply-To: "Apache Torque Users List" Delivered-To: mailing list torque-user@db.apache.org Received: (qmail 83769 invoked by uid 99); 5 May 2007 10:58:55 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 05 May 2007 03:58:55 -0700 X-ASF-Spam-Status: No, hits=-99.2 required=10.0 tests=ALL_TRUSTED,INFO_TLD X-Spam-Check-By: apache.org Received: from [140.211.11.9] (HELO minotaur.apache.org) (140.211.11.9) by apache.org (qpsmtpd/0.29) with SMTP; Sat, 05 May 2007 03:58:47 -0700 Received: (qmail 94572 invoked by uid 1977); 5 May 2007 10:58:27 -0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 5 May 2007 10:58:27 -0000 Date: Sat, 5 May 2007 03:58:27 -0700 (PDT) From: Thomas Fischer To: Apache Torque Users List Subject: Re: Torque generator leaves too many files open In-Reply-To: <0DCBEF69-9384-433F-B456-1E9BE994D859@grajagan.org> Message-ID: <20070505035034.G47818@minotaur.apache.org> References: <690967.82742.qm@web50803.mail.re2.yahoo.com> <0DCBEF69-9384-433F-B456-1E9BE994D859@grajagan.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Checked: Checked by ClamAV on apache.org Two short remarks: a) I see you use velocity 1.4. The standard Torque generator 3.2 uses velocity 1.3. I do not know whether this makes a difference, though. b) I believe this is a texen [1] problem. I cannot see how to tell texen to close the file after generating, all we use is the standard $generator.parse(...) call in the templates. Are you going to take this to velocity ? If yes, please share any results of the discussion with us. Thomas [1] http://velocity.apache.org/texen/releases/texen-1.0/. Was bundled within velocity until velocity 1.4 On Mon, 23 Apr 2007, Helge Weissig wrote: > Thanks Alvaro! The error happens at the OM class generation stage (project-om > in the old-style ant builds of a turbine/torque project). As you may know, 4 > files are generated per table in the schema. Since we have currently 268 > tables, we exceed the default limit of 1024 open descriptors on linux IF the > files are left open. As suggested by Chris (thanks Chris!!), one can increase > that limit, but that does not explain the issue because we see a difference > on two linux systems with the same JDK, ant version, and max. descriptors > limit. > > On Apr 21, 2007, at 6:43 AM, Alvaro Coronel wrote: > >> Hello Helge >> >> I did not understand clearly at what stage of building you get the error. >> >> So this may or may not be relevant, but I once got rid of a "too many >> files open" error by bundling my .class files into a .jar file and placing >> it in the classpath. >> >> I was also getting the error only when using Linux. >> >> >> Helge Weissig wrote: >> Remember this anyone? Well, the problem is back and I am not any >> smarter about it than I was last year. >> >> Basically, I "solved" the issue below only on one single machine by >> using jdk-1.5.0_07 instead of the gnu jdk. That was good enough then, >> however, now I need to be able to compile our application (> 250 >> tables) on another machine and I just cannot figure out how to get >> rid of the "Too many open files" error. I have tried everything I can >> think of (jdk versions, ant versions, command line options for >> java.vm.info and java.class.path since I saw some differences there), >> alas, to no avail! Everything compiles fine on Windows and OS X, just >> not on linux. It's not the descriptor limit as that is the same on >> all boxes (1024) except for OS X where it is 256 only. >> >> Any help/pointers would be greatly appreciated. I would be happy to >> share the ant debug output with anyone willing to help. >> >> thanks, >> h. >> >> >> >> On Apr 24, 2006, at 10:52 AM, Helge Weissig wrote: >> >>> When running the torque generator for a good-sized turbine project, >>> we run into the system limit of 1024 open file descriptors with the >>> stack trace as below, which occurs in the torque-data-model target. >>> lsof indicates that the process is keeping all {Base}Foo{Peer} and >>> associated map classes open. We are still using the ant build based >>> on the turbine TDK, so the previously suggested solutions do not >>> seem to be applicable for us. Library versions are torque-gen-3.2 >>> and velocity-1.4. Any advise would be greatly appreciated. We would >>> prefer to solve this without changing the OS limits. OS is FC4, >>> kernel 2.6.15-1.1831_FC4smp. Java is gij version 4.0.2. >>> >>> thanks, >>> h. >>> >>> PS: Sorry for the cross-post (since it seems a Velocity problem, I >>> may even have to take it there). >>> >>> java.io.FileNotFoundException: /home/helgew/work/webapps/test/WEB- >>> INF/src/java/org/grajagan/test/om/OneOfManyFoosPeer.java (Too many >>> open files) >>> at java.io.FileOutputStream.open(Native Method) >>> at java.io.FileOutputStream.(FileOutputStream.java:179) >>> at java.io.FileOutputStream.(FileOutputStream.java:70) >>> at java.io.FileWriter.(FileWriter.java:46) >>> at org.apache.velocity.texen.Generator.getWriter >>> (Generator.java:279) >>> at org.apache.velocity.texen.Generator.parse(Generator.java: >>> 383) >>> at org.apache.velocity.texen.Generator.parse(Generator.java: >>> 336) >>> at sun.reflect.GeneratedMethodAccessor73.invoke(Unknown >>> Source) >>> at sun.reflect.DelegatingMethodAccessorImpl.invoke >>> (DelegatingMethodAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:585) >>> at org.apache.velocity.util.introspection.UberspectImpl >>> $VelMethodImpl.invoke(UberspectImpl.java:267) >>> at org.apache.velocity.runtime.parser.node.ASTMethod.execute >>> (ASTMethod.java:197) >>> at >>> org.apache.velocity.runtime.parser.node.ASTReference.execute >>> (ASTReference.java:175) >>> at >>> org.apache.velocity.runtime.parser.node.ASTReference.render >>> (ASTReference.java:220) >>> at org.apache.velocity.runtime.parser.node.ASTBlock.render >>> (ASTBlock.java:55) >>> at >>> org.apache.velocity.runtime.parser.node.ASTIfStatement.render >>> (ASTIfStatement.java:70) >>> at org.apache.velocity.runtime.parser.node.ASTBlock.render >>> (ASTBlock.java:55) >>> at >>> org.apache.velocity.runtime.parser.node.ASTIfStatement.render >>> (ASTIfStatement.java:70) >>> at org.apache.velocity.runtime.parser.node.ASTBlock.render >>> (ASTBlock.java:55) >>> at org.apache.velocity.runtime.directive.Foreach.render >>> (Foreach.java:166) >>> at >>> org.apache.velocity.runtime.parser.node.ASTDirective.render >>> (ASTDirective.java:114) >>> at org.apache.velocity.runtime.parser.node.ASTBlock.render >>> (ASTBlock.java:55) >>> at org.apache.velocity.runtime.directive.Foreach.render >>> (Foreach.java:166) >>> at >>> org.apache.velocity.runtime.parser.node.ASTDirective.render >>> (ASTDirective.java:114) >>> at org.apache.velocity.runtime.parser.node.SimpleNode.render >>> (SimpleNode.java:230) >>> at org.apache.velocity.Template.merge(Template.java:256) >>> at org.apache.velocity.texen.Generator.parse(Generator.java: >>> 426) >>> at org.apache.velocity.texen.ant.TexenTask.execute >>> (TexenTask.java:519) >>> at org.apache.tools.ant.UnknownElement.execute >>> (UnknownElement.java:275) >>> at org.apache.tools.ant.Task.perform(Task.java:364) >>> at org.apache.tools.ant.Target.execute(Target.java:341) >>> at org.apache.tools.ant.Target.performTasks(Target.java:369) >>> at org.apache.tools.ant.Project.executeTarget(Project.java: >>> 1214) >>> at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:386) >>> at org.apache.tools.ant.taskdefs.CallTarget.execute >>> (CallTarget.java:106) >>> at org.apache.tools.ant.UnknownElement.execute >>> (UnknownElement.java:275) >>> at org.apache.tools.ant.Task.perform(Task.java:364) >>> at org.apache.tools.ant.Target.execute(Target.java:341) >>> at org.apache.tools.ant.Target.performTasks(Target.java:369) >>> at org.apache.tools.ant.Project.executeTarget(Project.java: >>> 1214) >>> at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:386) >>> at org.apache.tools.ant.UnknownElement.execute >>> (UnknownElement.java:275) >>> at org.apache.tools.ant.Task.perform(Task.java:364) >>> at org.apache.tools.ant.Target.execute(Target.java:341) >>> at org.apache.tools.ant.Target.performTasks(Target.java:369) >>> at org.apache.tools.ant.Project.executeTarget(Project.java: >>> 1214) >>> at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:386) >>> at org.apache.tools.ant.taskdefs.CallTarget.execute >>> (CallTarget.java:106) >>> at org.apache.tools.ant.UnknownElement.execute >>> (UnknownElement.java:275) >>> at org.apache.tools.ant.Task.perform(Task.java:364) >>> at org.apache.tools.ant.Target.execute(Target.java:341) >>> at org.apache.tools.ant.Target.performTasks(Target.java:369) >>> at org.apache.tools.ant.Project.executeTarget(Project.java: >>> 1214) >>> at org.apache.tools.ant.Project.executeTargets(Project.java: >>> 1062) >>> at org.apache.tools.ant.Main.runBuild(Main.java:673) >>> at org.apache.tools.ant.Main.startAnt(Main.java:188) >>> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) >>> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org >> For additional commands, e-mail: torque-user-help@db.apache.org >> >> >> >> >> --------------------------------- >> Ahhh...imagining that irresistible "new car" smell? >> Check outnew cars at Yahoo! Autos. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org > For additional commands, e-mail: torque-user-help@db.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org For additional commands, e-mail: torque-user-help@db.apache.org