From: Ron V. d. B. <ron...@ka...> - 2017-04-03 08:50:33
|
Hi again, On 25/03/2017 15:06, Adam Retter wrote: > I see that you are using 3.0RC1, there were some fixes in 3.0 final > around binary files and also a leak of cached binary file chunks was > fixed in 3.1.1. > I don't know if it will fix the problem you describe, but could you > test again against 3.1.1? Then we will at least have a solid base line > to proceed from. > I don't see much difference with 3.1.1: this version, too, starts to throw the IO exception. Unfortunately, I haven't been able to isolate an exact trigger: sometimes it happens right after start-up; sometimes it takes some time before the error comes up. I'm not even sure anymore whether retrieval of binary files is a necessary error condition; I do notice, however, that anything using request:get-data() is affected (hence, the dashboard and eXide webapps). I'm fully aware it may be a complicating factor that I have a single Tomcat container serving multiple eXist webapps. Contrary to what I said earlier, it seems that once one webapp is hitting the error, all of them are. Yet, it seems that changing the class for binary manager in conf.xml to: <binary-manager> <cache class="org.exist.util.io.MemoryMappedFileFilterInputStreamCache"/> </binary-manager> ...seems to avoid the error (for eXist versions from 3.0 onwards). Which is quite a relief ;-). So, although the exact circumstances are unclear, there seems to be an indication that org.exist.util.io.FileFilterInputStreamCache is somehow 'vulnerable' to a condition triggering an IO exception. I hope this can contribute at least something... Many thanks for all helpful replies I've received! Best, Ron |