https://issues.apache.org/jira/browse/WICKET-6936
On Thu, Nov 18, 2021 at 1:10 PM Ernesto Reinaldo Barreiro < reier...@gmail.com> wrote: > Hi Sven, > > Many thanks for your answer. > > On Thu, Nov 18, 2021 at 12:36 PM Sven Meier <s...@meiers.net> wrote: > >> Hi Ernesto, >> >> I've tested FilePageStore without TRUNCATE_EXISTING - in that case the >> file will not shrink, when the page has reduced its size. >> > Ok. > >> >> Luckily this doesn't disturb Java's default deserialization, the excess >> is just ignored. >> But what if a project uses another serializer? >> >> Good point. For us something like this will be enough: > > https://github.com/apache/wicket/pull/484 > > > >> Regards >> >> Sven >> >> >> On 17.11.21 10:57, Ernesto Reinaldo Barreiro wrote: >> > Hi Sven, >> > >> > Getting rid of the StandardOpenOption.TRUNCATE_EXISTING here >> > >> > >> https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/pageStore/FilePageStore.java#L189 >> > >> > seems to "fix" the problem in windows and I also do not see problems in >> > linux. To be honest I have no idea of the full implications of this >> change. >> > >> > >> > >> > On Tue, Nov 16, 2021 at 11:40 PM Sven Meier <s...@meiers.net> wrote: >> > >> >> Hi Ernesto, >> >> >> >> I'm no expert in this, but as I understood it FileChannel should be >> save >> >> to be written to in parallel: >> >> >> >> >> >> >> https://docs.oracle.com/javase/1.5.0/docs/api/java/nio/channels/FileChannel.html >> >> >> >> "File channels are safe for use by multiple concurrent threads. ... >> >> Only one operation that involves the channel's position or can change >> >> its file's size may be in progress at any given time; attempts to >> >> initiate a second such operation while the first is still in progress >> >> will block until the first operation completes. ... The view of a file >> >> provided by an instance of this class is guaranteed to be consistent >> >> with other views of the same file provided by other instances in the >> >> same program." >> >> >> >> This sounds related though: >> >> >> >> >> >> >> https://stackoverflow.com/questions/45441249/why-does-java-filechannel-truncate-fail-predictably-on-windows-only >> >> >> >> Regards >> >> Sven >> >> >> >> >> >> On 16.11.21 19:56, Ernesto Reinaldo Barreiro wrote: >> >>> Hi Sven, >> >>> >> >>> Many thanks for your answer. Main problem is I do not have Windows >> >>> around... this happens only in our Jenkins (which needs to be a >> windows >> >>> machine). I did some googling around and it seems it can be the >> operating >> >>> system itself if you access the same file in a very fast sequence: >> this >> >>> might be our case, as we are generating many web sockets messages >> >> (pushing >> >>> components) and this seems to trigger page serialization. >> >>> >> >>> On Linux and Mac we have no problems at all. >> >>> >> >>> >> >>> On Tue, Nov 16, 2021 at 7:28 PM Sven Meier <s...@meiers.net> wrote: >> >>> >> >>>> Hi Ernesto, >> >>>> >> >>>> maybe an issue with concurrent file writes? >> >>>> >> >>>> I've tested the new FilePageStore on Linux only, and as it seems I >> >>>> didn't add any synchronization to it. >> >>>> >> >>>> Could you try out FilePageStoreTest? >> >>>> >> >>>> Regards >> >>>> Sven >> >>>> >> >>>> >> >>>> On 16.11.21 16:18, Ernesto Reinaldo Barreiro wrote: >> >>>>> Hi, >> >>>>> >> >>>>> We are trying to use FilePageStore and we are getting following >> >>>>> exception (a lot of them actually) >> >>>>> >> >>>>> he requested operation cannot be performed on a file with a >> user-mapped >> >>>>> section open >> >>>>> [2021-11-16T07:34:00.699Z] at >> >>>>> >> >> >> sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92) >> >>>>> ~[?:?] >> >>>>> [2021-11-16T07:34:00.699Z] at >> >>>>> >> >> >> sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) >> >>>>> ~[?:?] >> >>>>> [2021-11-16T07:34:00.699Z] at >> >>>>> >> >> >> sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108) >> >>>>> ~[?:?] >> >>>>> [2021-11-16T07:34:00.699Z] at >> >>>>> >> >> >> sun.nio.fs.WindowsFileSystemProvider.newFileChannel(WindowsFileSystemProvider.java:121) >> >>>>> ~[?:?] >> >>>>> [2021-11-16T07:34:00.699Z] at >> >>>>> java.nio.channels.FileChannel.open(FileChannel.java:298) ~[?:?] >> >>>>> [2021-11-16T07:34:00.699Z] at >> >>>>> java.nio.channels.FileChannel.open(FileChannel.java:357) ~[?:?] >> >>>>> [2021-11-16T07:34:00.699Z] at >> >>>>> >> >> >> org.apache.wicket.pageStore.FilePageStore.writeFile(FilePageStore.java:188) >> >>>>> [wicket-core-9.6.0.jar:9.6.0] >> >>>>> [2021-11-16T07:34:00.699Z] at >> >>>>> >> >> >> org.apache.wicket.pageStore.FilePageStore.addPersistedPage(FilePageStore.java:178) >> >>>>> [wicket-core-9.6.0.jar:9.6.0] >> >>>>> [2021-11-16T07:34:00.699Z] at >> >>>>> >> >> >> org.apache.wicket.pageStore.AbstractPersistentPageStore.addPage(AbstractPersistentPageStore.java:128) >> >>>>> [wicket-core-9.6.0.jar:9.6.0] >> >>>>> [2021-11-16T07:34:00.699Z] at >> >>>>> >> >> >> org.apache.wicket.pageStore.AsynchronousPageStore$PageAddingRunnable.run(AsynchronousPageStore.java:292) >> >>>>> [wicket-core-9.6.0.jar:9.6.0] >> >>>>> [2021-11-16T07:34:00.699Z] at java.lang.Thread.run(Thread.java:833) >> >> [?:?] >> >>>>> This does not happen for other operating systems. Is this a known >> >>>>> limitation? Is there anything else that needs to be configured at >> >>>> operating >> >>>>> system level? >> >>>>> >> >>>>> Thanks in advance. >> >>>>> >> >>>> --------------------------------------------------------------------- >> >>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> >>>> For additional commands, e-mail: users-h...@wicket.apache.org >> >>>> >> >>>> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> > > -- > Regards - Ernesto Reinaldo Barreiro > -- Regards - Ernesto Reinaldo Barreiro