lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shai Erera (JIRA)" <>
Subject [jira] [Resolved] (LUCENE-3230) Make FSDirectory.fsync() public and static
Date Fri, 24 Jun 2011 11:18:47 GMT


Shai Erera resolved LUCENE-3230.

    Resolution: Won't Fix

I opened LUCENE-3237 to improve how fsync works. After we move sync() to IndexOutput, a public
static sync() API won't make much sense.

> Make FSDirectory.fsync() public and static
> ------------------------------------------
>                 Key: LUCENE-3230
>                 URL:
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: core/store
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>            Priority: Minor
>             Fix For: 3.3, 4.0
> I find FSDirectory.fsync() (today protected and instance method) very useful as a utility
to sync() files. I'd like create a FSDirectory.sync() utility which contains the exact same
impl of FSDir.fsync(), and have the latter call it. We can have it part of IOUtils too, as
it's a completely standalone utility.
> I would get rid of FSDir.fsync() if it wasn't protected (as if encouraging people to
override it). I doubt anyone really overrides it (our core Directories don't).
> Also, while reviewing the code, I noticed that if IOE occurs, the code sleeps for 5 msec.
If an InterruptedException occurs then, it immediately throws ThreadIE, completely ignoring
the fact that it slept due to IOE. Shouldn't we at least pass IOE.getMessage() on ThreadIE?
> The patch is trivial, so I'd like to get some feedback before I post it.

This message is automatically generated by JIRA.
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message