js-data-angular icon indicating copy to clipboard operation
js-data-angular copied to clipboard

Memory leak on frequent updates

Open gregopet opened this issue 10 years ago • 4 comments

Hello,

We think we found a memory leak in js-data-angular. We use it to populate a dashboard that our client keeps open 24/7. After some time the client's machine stopped responding and we determined the problem to be a memory leak which we traced to this library.

I've put together an example here: http://razum.eu/memoryleaktemp/index.html

The heap size steadily increases over time while the number of cached objects remains the same. We think the original JSON array coming in is retained in memory, but we're not sure about that. The browser we tested with was Chrome.

The workaround for our application was to use Angular's $http to download the information and then inject it manually.

gregopet avatar Nov 13 '15 13:11 gregopet

Thanks for the link, I'll take a look

jmdobry avatar Nov 13 '15 17:11 jmdobry

Your demo uses a skipCache option, but neither js-data nor js-data-angular have such an option.

jmdobry avatar Nov 13 '15 17:11 jmdobry

Ah yes, thank you - I was working from memory because we've been hunting for that bug yesterday. I remember we were trying different combinations of bypassCache and cacheResponse with findAll and refreshAll (though no combination helped), apparently things got mixed up a bit in my head :)

gregopet avatar Nov 13 '15 17:11 gregopet

refreshAll() is the same as findAll(null, { bypassCache: true })

jmdobry avatar Nov 13 '15 18:11 jmdobry