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 > > -- Regards - Ernesto Reinaldo Barreiro