HashJoinStrategy leads to java.lang.OutOfMemoryError
----------------------------------------------------

         Key: DERBY-106
         URL: http://nagoya.apache.org/jira/browse/DERBY-106
     Project: Derby
        Type: Bug
    Reporter: Gerald Khin


My application is running out of memory: I encounterd a 
java.lang.OutOfMemoryError. I used -Xmx256M. Unfortunatley, I cannot spend an 
arbitrary amount of JVM memory. 

Then, I commented out the line in class OptimizerFactoryImpl which was adding 
the HashJoinStrategy to the set of Join strategies:

                if (joinStrategySet == null)
                {
//                      JoinStrategy[] jss = new JoinStrategy[2];
                        JoinStrategy[] jss = new JoinStrategy[1];
                        jss[0] = new NestedLoopJoinStrategy();
//                      jss[1] = new HashJoinStrategy();
                        joinStrategySet = jss;
                }

And with these changes the OutOfMemoryError has gone away! And it works even 
with -Xmx128M!!!

So I guess that there is a major memory issue with this HashJoin strategy 
implementation.

If it turns out to be too complicated to make the memory consumption more 
predicatble or even bounded to some configurable limit, then I need at least as 
a workaround a way to turn off the HashJoin strategy completely: I did it by 
patching and building my own derby.jar, but if there would be an official 
solution with some kind of switch like a system property, it would be great!



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to