Suspected memory leak

#1

Hi,

We are running soak testing with Object DB and it is showing signs of memory leak: used memory is growing overtime until Object DB JVM fails with OutOfMemoryException. Object DB is running in a separate JVM. All the config is attached.

We are continuing to investigate this and will create memory dump next time this happens. In the meantime, could you please check if there is anything wrong with our configuration?

Kind regards,

Natalia.

#2

Currently there is no known open memory leak issue in ObjectDB. But if it is not something in your application (such as EntityManager instances that are not closed) it might be an ObjectDB issue.

In case of OutOfMemoryError the stack trace usually doesn't help, so please prepare a heap dump.

ObjectDB Support
#3

Hi,

I've reproduced this problem and created the heap dump. Please see the attached screenshots from MAT. The configuration files for this test environment are also attached.

The heap dump is 600MB compressed, could you please give me an upload location to upload it? 

Regards,

Natalia.

#4

You can use FTP to upload large files:

Host: objectdb.com, Username: public, Password: public

ObjectDB Support
#5

The screen shots may indicate a problem in the page cache (which keeps too many pages).

This could be the result fixes in build 2.3.5_* and 2.3.6_*.

Is this issue new? Does it happen also when using version 2.3.5 or earlier?

ObjectDB Support
#6

We have not tried this test with earlier versions. I'll try and let you know.

Regards,
Natalia.

#7

Hi,

I've uploaded the heap dump, it's called natmaclin_heap.zip. Will try the 2.3.5 version now. 

Regards,

Natalia.

#8

Hi,

The version 2.3.5 looks the same, I've uploaded heap dump for it to natmaclin_heap235.zip

Regards,

Natalia.

#9

I am afraid the test case is needed in order to understand this issue. Can you upload it?

It is probably doesn't matter if this test is complex and the source code is not required, since the purpose is only bringing ObjectDB to that state on run. Unfortunately the information in the heap dump is insufficient.

 

ObjectDB Support
#10

Could you please give me an e-mail address I can send the instructions to? I cannot to publish it on the forum.

Thanks,

Natalia.

#11

Please open a private support ticket.

ObjectDB Support
#12

For anyone else that experiences similar memory problems - it was found out that this was not exactly a memory leak, but in some cases ObjectDB memory consumption might be just too high, and this can be fixed by setting the configuration.

The following configuration elements are particularly relevant:

  • The <processing> element - try reducing the number of threads and the cache size (notice that this setting is per open database, so this is especially important for applications that use many open databases).
  • The <temp> element - try reducing the threshold, e.g. from 64MB to 8MB (notice that this setting is per value list, and each transaction or query execution could use several values lists, so high database activity may lead to using many value lists of up to 64MB each, when the default configuration is used).

In addition, if the problem is caused by heavy queries - defining new indexes (but see this issue) may help.

ObjectDB Support

Reply