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

Reply via email to