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