salem_b_a
Sep 10th, 2009, 04:21 AM
Hi everyone!
My full Stack: MySql 6 | Lucene | Hibernate | Spring | Flex
Remoting Server is BlazeDS and web Server is Tomcat 6.
Database Sch: A 1..* B
One record Size : < 2ko
Main table size A : 1,2M Records
Everything was working fine until we made the full index yesterday, 550Mo , i'm not sure that it's related to our problem but everything was okay before! I get results by 10 from the database and they are explicitly paginated with Lucene. Starting the navigation with flex component, the application crashes after few requests and the throughouptput on AMF channels is getting higher i don't know why (i thought all requests have the same size, but it seems a cumulative size here) . This screenshots from the BlazeDs Administration Console:
(Sorry , comments are in french ^^')
1) http://img268.imageshack.us/img268/9451/throughoutput.png
and then
2) http://img3.imageshack.us/img3/4137/throughoutput2.png
JUnit tests are okay!
Can this be a mapping error? or it is a blazeDS issue? or something else i'm not seeing?
here is the full error stack:
[BlazeDS]Java heap space
java.lang.OutOfMemoryError: Java heap space
at com.mysql.jdbc.Buffer.getBytes(Buffer.java:198)
at com.mysql.jdbc.Buffer.readLenByteArray(Buffer.java :318)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1375)
at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.ja va:2369)
at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:4 51)
at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate (MysqlIO.java:2076)
at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java :1451)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java :1787)
at com.mysql.jdbc.Connection.execSQL(Connection.java: 3283)
at com.mysql.jdbc.PreparedStatement.executeInternal(P reparedStatement.java:1332)
at com.mysql.jdbc.PreparedStatement.executeQuery(Prep aredStatement.java:1467)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(Ab stractBatcher.java:208)
at org.hibernate.loader.Loader.getResultSet(Loader.ja va:1808)
at org.hibernate.loader.Loader.doQuery(Loader.java:69 7)
at org.hibernate.loader.Loader.doQueryAndInitializeNo nLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.loadCollection(Loader. java:2015)
and then this error appear :
[BlazeDS]null
java.lang.StackOverflowError
at org.apache.log4j.Category.callAppenders(Category.j ava:215)
at org.apache.log4j.Category.forcedLog(Category.java: 391)
at org.apache.log4j.Category.log(Category.java:856)
at org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLogge rAdapter.java:173)
at org.hibernate.jdbc.AbstractBatcher.logOpenPrepared Statement(AbstractBatcher.java:410)
at org.hibernate.jdbc.AbstractBatcher.prepareQuerySta tement(AbstractBatcher.java:160)
at org.hibernate.loader.Loader.prepareQueryStatement( Loader.java:1573)
at org.hibernate.loader.Loader.doQuery(Loader.java:69 6)
at org.hibernate.loader.Loader.doQueryAndInitializeNo nLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.loadCollection(Loader. java:2015)
at org.hibernate.loader.collection.CollectionLoader.i nitialize(CollectionLoader.java:59)
at org.hibernate.persister.collection.AbstractCollect ionPersister.initialize(AbstractCollectionPersiste r.java:587)
at org.hibernate.event.def.DefaultInitializeCollectio nEventListener.onInitializeCollection(DefaultIniti alizeCollectionEventListener.java:83)
at org.hibernate.impl.SessionImpl.initializeCollectio n(SessionImpl.java:1743)
at org.hibernate.collection.AbstractPersistentCollect ion.initialize(AbstractPersistentCollection.java:3 66)
at org.hibernate.collection.AbstractPersistentCollect ion.read(AbstractPersistentCollection.java:108)
at org.hibernate.collection.PersistentSet.toArray(Per sistentSet.java:194)
at java.util.ArrayList.<init>(Unknown Source)
at flex.messaging.io.ArrayCollection.<init>(ArrayCollection.java:44)
Tkx in advance :)
My full Stack: MySql 6 | Lucene | Hibernate | Spring | Flex
Remoting Server is BlazeDS and web Server is Tomcat 6.
Database Sch: A 1..* B
One record Size : < 2ko
Main table size A : 1,2M Records
Everything was working fine until we made the full index yesterday, 550Mo , i'm not sure that it's related to our problem but everything was okay before! I get results by 10 from the database and they are explicitly paginated with Lucene. Starting the navigation with flex component, the application crashes after few requests and the throughouptput on AMF channels is getting higher i don't know why (i thought all requests have the same size, but it seems a cumulative size here) . This screenshots from the BlazeDs Administration Console:
(Sorry , comments are in french ^^')
1) http://img268.imageshack.us/img268/9451/throughoutput.png
and then
2) http://img3.imageshack.us/img3/4137/throughoutput2.png
JUnit tests are okay!
Can this be a mapping error? or it is a blazeDS issue? or something else i'm not seeing?
here is the full error stack:
[BlazeDS]Java heap space
java.lang.OutOfMemoryError: Java heap space
at com.mysql.jdbc.Buffer.getBytes(Buffer.java:198)
at com.mysql.jdbc.Buffer.readLenByteArray(Buffer.java :318)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1375)
at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.ja va:2369)
at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:4 51)
at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate (MysqlIO.java:2076)
at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java :1451)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java :1787)
at com.mysql.jdbc.Connection.execSQL(Connection.java: 3283)
at com.mysql.jdbc.PreparedStatement.executeInternal(P reparedStatement.java:1332)
at com.mysql.jdbc.PreparedStatement.executeQuery(Prep aredStatement.java:1467)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(Ab stractBatcher.java:208)
at org.hibernate.loader.Loader.getResultSet(Loader.ja va:1808)
at org.hibernate.loader.Loader.doQuery(Loader.java:69 7)
at org.hibernate.loader.Loader.doQueryAndInitializeNo nLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.loadCollection(Loader. java:2015)
and then this error appear :
[BlazeDS]null
java.lang.StackOverflowError
at org.apache.log4j.Category.callAppenders(Category.j ava:215)
at org.apache.log4j.Category.forcedLog(Category.java: 391)
at org.apache.log4j.Category.log(Category.java:856)
at org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLogge rAdapter.java:173)
at org.hibernate.jdbc.AbstractBatcher.logOpenPrepared Statement(AbstractBatcher.java:410)
at org.hibernate.jdbc.AbstractBatcher.prepareQuerySta tement(AbstractBatcher.java:160)
at org.hibernate.loader.Loader.prepareQueryStatement( Loader.java:1573)
at org.hibernate.loader.Loader.doQuery(Loader.java:69 6)
at org.hibernate.loader.Loader.doQueryAndInitializeNo nLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.loadCollection(Loader. java:2015)
at org.hibernate.loader.collection.CollectionLoader.i nitialize(CollectionLoader.java:59)
at org.hibernate.persister.collection.AbstractCollect ionPersister.initialize(AbstractCollectionPersiste r.java:587)
at org.hibernate.event.def.DefaultInitializeCollectio nEventListener.onInitializeCollection(DefaultIniti alizeCollectionEventListener.java:83)
at org.hibernate.impl.SessionImpl.initializeCollectio n(SessionImpl.java:1743)
at org.hibernate.collection.AbstractPersistentCollect ion.initialize(AbstractPersistentCollection.java:3 66)
at org.hibernate.collection.AbstractPersistentCollect ion.read(AbstractPersistentCollection.java:108)
at org.hibernate.collection.PersistentSet.toArray(Per sistentSet.java:194)
at java.util.ArrayList.<init>(Unknown Source)
at flex.messaging.io.ArrayCollection.<init>(ArrayCollection.java:44)
Tkx in advance :)