Jump to content
McObject Forums

Search the Community

Showing results for tags 'commit'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • McObject Embedded Databases
    • Perst
  • Root2

Blogs

  • Steven Graves' Blog

Calendars

  • Community Calendar

Found 1 result

  1. Hi, I'm getting an StackOverflowError at the commit phase when I'm trying to load my database in one transaction. The database is of reasonable size - it contains ~ 350 000 objects, the file size is ~ 70M. The database contents are several interconnected trees. The stack trace looks like java.lang.StackOverflowError at org.garret.perst.impl.StorageImpl.getOid(StorageImpl.java:5397) at org.garret.perst.impl.StorageImpl.storeObject0(StorageImpl.java:3422) at org.garret.perst.impl.StorageImpl.swizzle(StorageImpl.java:3507) at org.garret.perst.impl.StorageImpl.swizzle(StorageImpl.java:4563) at org.garret.perst.impl.StorageImpl.packObject(StorageImpl.java:4860) at org.garret.perst.impl.StorageImpl.packObject(StorageImpl.java:4551) at org.garret.perst.impl.StorageImpl.storeObject0(StorageImpl.java:3434) at org.garret.perst.impl.StorageImpl.swizzle(StorageImpl.java:3507) at org.garret.perst.impl.StorageImpl.swizzle(StorageImpl.java:4563) ... If I increase the thread stack size from default 4M to 8M with the Java -Xss option, the problem disappears. But it is not a good solution since it increases stack size for all threads, which is a waste of memory. Is there a way to limit the recursion depth in Perst? Or control the traversal order? Regards, Vladimir
×