Philippe, it's good to know you are working on scalability!

Regarding the Memory problem - you write that Jonas has a 
pool of Objects in Memory and there shold not be a real 
problem if we are using RMI.

Well, we are using RMI and the 100.000 entity beans are loaded
in 15 hours or so. This should be enogh time for
the garbage collector to run - but we get the Out Of Memory 
Error. So I'm a little confused!

Btw, thanks for your work on Jonas!
When do you expect Jonas 2.3 to be ready for download?  

> -----Original Message-----
> From: Philippe Durieux [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, April 17, 2001 1:49 PM
> To: Weißböck Maximilian
> Cc: 'JOnAS DEV'; 'JOnAS USER'
> Subject: Re: OutOfMeory Error
> 
> 
> Weißböck Maximilian wrote:
> > 
> > We have a mayor memory Problem regarding Jonas.
> > 
> > In a real live test we tried to create about 100.000
> > records in our database using a session bean that
> > creates entity beans.
> > 
> > At about 69.000 records we got the following error:
> > 
> > ----
> > 
> > System Exception in business method:java.lang.OutOfMemoryError
> > ClientSocket: 172.16.100.115:4711
> > ClientSocket: 172.16.100.115:3889
> >  Failed to close the PreparedStatement (findByPrimaryKey)
> > java.sql.SQLException: Protokollverletzung
> >         at 
> oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
> >         at 
> oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
> >         at 
> oracle.jdbc.dbaccess.DBError.check_error(DBError.java:803)
> >         at oracle.jdbc.ttc7.Oclose.receive(Oclose.java:130)
> >         at 
> oracle.jdbc.ttc7.TTC7Protocol.close(TTC7Protocol.java:512)
> >         at
> > oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:467)
> >         at
> > 
> oracle.jdbc.driver.OraclePreparedStatement.close(OraclePreparedStatem
> > ent.java:257)
> >         at
> > 
> at.intellinet.igel.commerzplus.eb.JOnASKontoBean.ejbFindByPrimaryKey(
> > classes\at\intellinet\igel\commerzplus\eb\JOnASKontoBean.java:464)
> >         at
> > 
> at.intellinet.igel.commerzplus.eb.JOnASKontoHome.findByPrimaryKey(cla
> > sses\at\intellinet\igel\commerzplus\eb\JOnASKontoHome.java:142)
> >         at
> > 
> at.intellinet.igel.commerzplus.eb.JOnASKontoHome_Skel.dispatch(classe
> > s\at\intellinet\igel\commerzplus\eb\JOnASKontoHome_Skel.java:69)
> >         at
> > 
> sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:319
> > )
> >         at
> > sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:187)
> >         at sun.rmi.transport.Transport$1.run(Transport.java:142)
> >         at 
> java.security.AccessController.doPrivileged(Native Method)
> >         at 
> sun.rmi.transport.Transport.serviceCall(Transport.java:139)
> >         at
> > 
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
> > 43)
> >         at
> > 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
> > .java:643)
> >         at java.lang.Thread.run(Thread.java:484)
> >  postinvoke: System Exception in a home 
> method:java.lang.OutOfMemoryError
> >  System Exception in business method:java.rmi.ServerException:
> > RemoteException o
> > ccurred in server thread; nested exception is:
> >         java.rmi.RemoteException: Error thrown by an 
> enterprise Bean; nested
> > exc
> > eption is:
> >         java.lang.OutOfMemoryError
> > 
> > ------
> > 
> > Does this mean that Jonas keeps all the beans it generats
> > in memory? Does it never free any resources?
> > 
> > This is really a big problem to us, as we must handle at least
> > about 100.000 new records per day!
> > 
> > So does this mean we can not use Jonas???
> > 
> > Thanks, Max
> > ---
> > Dipl.-Ing. Maximilian Weißböck
> > i-online Software AG
> > Tel.: +43 2236 3080 3785
> > Handy: 0699 1888 3785
> > Fax: +43 2236 3080 24 3785
> > mailto:[EMAIL PROTECTED]
> > http://www.i-online.cc
> JOnAS does not keep all beans in memory. If you use RMI, the 
> distributed
> garbage collector will inform jonas when beans are no more 
> used, and JOnAS
> can dispose of them. In fact, they are put in a pool of 
> available objects.
> THis is not perfect, because the garbage collector run only 
> every x? seconds
> or minutes... Meanwhile, you can saturate the memory.
> We are currently working to improve jonas scalability, for 
> session stateful
> beans in particular. The coming jonas 2.3 should be more 
> scalable than jonas 2.2
> If you use JEREMIE instead of RMI, I'm afraid this garbage 
> collector doesn't
> work. You will have to wait for a next version of Jeremie if 
> scalability is
> a mojor concern for you.
> We know that scalability in JOnAS is one of our most 
> important concerns, and
> we are working on it.
> > 
> > ----
> > To unsubscribe, send email to [EMAIL PROTECTED] and
> > include in the body of the message "unsubscribe jonas-users".
> > For general help, send email to [EMAIL PROTECTED] and
> > include in the body of the message "help".
> 
> -- 
> Philippe Durieux  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Bull - 1 rue de Provence - 38432 Echirolles Cedex France
> [EMAIL PROTECTED]
> -> Download our EJBServer at http://www.evidian.com/ejb <-
> ----
> This list is cross-posted to two mail lists.  To unsubscribe,
> follow the instructions below for the list you subscribed to.
> For objectweb.org: send email to [EMAIL PROTECTED] and
> include in the body of the message "unsubscribe ejb-container-group".
> For enhydra.org: send email to [EMAIL PROTECTED] and include
> in the body of the message "unsubscribe ejb-container-group".
> 
----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".

Reply via email to