version: 3.5.3
Here are very big sql because it has to many param after 'in' keyword like this. All line count is 1400000, so it has 75MB.
I use eclipse MAT tool, find it is sqlBuffer in class FilteredDynamicContext and it is unreachable. Everytime I change any sql condition, it will produce other about 200MB char array. So OOM will be reproduced if I trigger about 5 times when I set JVM max memory to 1GB.
I know the sql statement is not suitable because I shouldn't put big data after 'in'. But I want to know why the char array in sqlBuffer it is unreachable? Why it cannot be recovery auto by JVM? Is it a mybatis bug or any config can resolve? It is very important for out prod environment because I need to avoid it occur again.