Hi,
We are using OJB with Jboss,Mysql on linux.
We have implemented all we could as suggested by OJB performance tutorial.
We are using Proxies,default cache,PB-api,odmg transaction,but we can't use
getIteratorByQuery because the results are processed after the transaction
is closed. We are facing outofmemory error in two places always. One while
materializing subject from proxy and two using getObjectByQuery for finding
an object by primarykey. It happens only if a lot of users around 200 are
using the system. We have two tier systems with jboss running on a linux
machine with 4GB ram and we have also finetuned jvm options that has reduced
frequency of OutOfMemoryError (we use -Xms768M -Xmx768M -XX:NewSize=256M)
Any suggestions are appreciated? Should we be looking at mysql
performance,any good tools for profiling ojb?
Here is the stack trace of two errors
1)java.lang.OutOfMemoryError
rethrown as
org.apache.ojb.broker.PersistenceBrokerException
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getExtentDBObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getReferencedObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveReference(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveReferences(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByIdentity(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.IndirectionHandler.materializeSubject(Unknown
Source)
at
org.apache.ojb.broker.accesslayer.IndirectionHandler.getRealSubject(Unknown
Source)
at org.apache.ojb.broker.VirtualProxy.getRealSubject(Unknown Source)
at
com.tk20.bo.BaseServerObjectProxy.realSubject(BaseServerObjectProxy.java:46)
at
com.tk20.bo.BaseServerObjectProxy.getRelatedObjects(BaseServerObjectProxy.java:334)
at com.tk20.ejb.api.query.QueryMgrEJB.getList(QueryMgrEJB.java:83)
2)java.lang.OutOfMemoryError
rethrown as
org.apache.ojb.broker.PersistenceBrokerException
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollection(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveCollections(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getExtentDBObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getReferencedObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveReference(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveReferences(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getExtentDBObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getReferencedObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveReference(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveReferences(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getExtentDBObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getReferencedObject(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveReference(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.retrieveReferences(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(Unknown Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(Unknown
Source)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown
Source)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown
Source)
at
com.tk20.ejb.api.BaseServiceEJB.findByPrimaryKey(BaseServiceEJB.java:189)
--
View this message in context:
http://www.nabble.com/OutOfMemoryError-with-Proxy-tf2775405.html#a7742246
Sent from the Apache DB - ObjectRelationalBridge Users mailing list archive at
Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]