File locking supported on all platforms?

Stefan Reich stefan.reich.maker.of.eye at googlemail.com
Tue Jul 14 09:12:55 UTC 2020


OK so I'll have to go all the way and do a two-JVM-test to be sure. I
assume though that in normal desktop user set-ups, we'll be good anyways.

Thanks

On Sat, 11 Jul 2020 at 16:13, Jonas Konrad <me at yawk.at> wrote:

> I asked around and apparently fcntl locking can be idempotent in the
> same process at least for some fs, so locking twice in the same jvm may
> not error even on an fs that does support locks.
>
> - Jonas
>
> On 7/11/20 12:13 PM, Stefan Reich wrote:
> > Hmm that's what I feared. So to be really sure I should do an actual
> > test. Maybe I can get away with doing two locks on the same file within
> > one JVM for testing the feature? I should try that.
> >
> > Thanks
> >
> > On Sat, 11 Jul 2020 at 12:10, Jonas Konrad <me at yawk.at
> > <mailto:me at yawk.at>> wrote:
> >
> >     I think it should just fail silently / without error, that's what
> fcntl
> >     does at least. I'm not sure if there's a good way to determine
> whether
> >     locking will actually work.
> >
> >     - Jonas
> >
> >     On 7/11/20 11:47 AM, Stefan Reich wrote:
> >      > Hi Jonas,
> >      >
> >      > what would happen if I try to lock a file on these platforms? Can
> I
> >      > reliably detect this case? That would already help a lot.
> >      >
> >      > The use case is ensuring a database's consistency which I now do
> >     over a
> >      > socket protocol, but file locks would be faster and more reliable.
> >      >
> >      > Stefan
> >      >
> >      > On Sat, 11 Jul 2020 at 11:45, Jonas Konrad <me at yawk.at
> >     <mailto:me at yawk.at>
> >      > <mailto:me at yawk.at <mailto:me at yawk.at>>> wrote:
> >      >
> >      >     Hey,
> >      >
> >      >     Some file systems on Linux, eg old NFS, do not support
> >     locking at all.
> >      >
> >      >     - Jonas
> >      >
> >      >     On 7/11/20 11:36 AM, Stefan Reich wrote:
> >      >      > Hi,
> >      >      >
> >      >      > a quick question regarding file locks in Java. I seem to
> >     remember
> >      >      > reading somewhere that this feature isn't guaranteed to
> >     work on all
> >      >      > platforms. However, I can now find no mention of that e.g.
> >     here
> >      >      >
> >      >
> >       <
> https://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileLock.html
> >.
> >      >      >
> >      >      > The page does list that numerous special assumptions may
> >     fail, for
> >      >      > example that programs which /don't/ lock a file are
> >     prevented from
> >      >      > changing it when it is locked by another program.
> >      >      >
> >      >      > However, I only care about the basic feature, namely that
> one
> >      >     local file
> >      >      > cannot be locked by two Java programs at once and will
> >     cause one
> >      >     of them
> >      >      > to throw an exception.
> >      >      >
> >      >      > Is this guaranteed to work everywhere?
> >      >      >
> >      >      > Many greetings
> >      >      > Stefan
> >      >      >
> >      >      > --
> >      >      > Stefan Reich
> >      >      > BotCompany.de // Java-based operating systems
> >      >
> >      >
> >      >
> >      > --
> >      > Stefan Reich
> >      > BotCompany.de // Java-based operating systems
> >
> >
> >
> > --
> > Stefan Reich
> > BotCompany.de // Java-based operating systems
>


-- 
Stefan Reich
BotCompany.de // Java-based operating systems
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/nio-dev/attachments/20200714/cd5797fa/attachment-0001.htm>


More information about the nio-dev mailing list