Hi,
could you post the OJB.properties and jdbc-connection-descriptor too?
This would help to find problematic settings.
Which version of OJB do you use?
mananthakris wrote:
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.
Isn't it possible to lookup the object by Identity instead of using a query?
http://db.apache.org/ojb/docu/tutorials/pb-tutorial.html#Find+object+by+primary+key
It happens only if a lot of users around 200 are
using the system.
How many objects are materialized?
regards,
Armin
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)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]