Thursday, December 24, 2009

Java Native Memory Leak DeflaterOutputStream Derby or MySQL

So with some more recent database code. We we're compressing data elements before writing them to the database. Well our servers kept running out of memory. I mean Gigs and Gigs of memory.

Traced it down to if you don't call Session.End() on GZIPOutputStream or DeflaterOutputStream it will leak large amounts of Native memory.

This article has more details.

Native memory leaks suck to debug, took us about a week to find this. I hope this helps some other people.

No comments: