Michael McCandless created LUCENE-7373:
------------------------------------------
Summary: Break out Directory.syncMetaData from
FSDirectory.renameFile
Key: LUCENE-7373
URL: https://issues.apache.org/jira/browse/LUCENE-7373
Project: Lucene - Core
Issue Type: Improvement
Reporter: Michael McCandless
Assignee: Michael McCandless
Fix For: master (7.0), 6.2
Today, when you call {{FSDirectory.renameFile}} it also calls fsync on
the directory.
This is OK for Lucene's current usage of this method, to rename just
the one {{segments_N}} file on commit.
But in playing with adding NRT replication (LUCENE-5438) to the simple
demo Lucene server (LUCENE-5376) I found that, on spinning disks, that
fsync is very costly, because when copying over an NRT point, we write
to N .tmp files and then rename many files (taking seconds) in the
end.
I think we should just deprecate/remove the existing method, and make a new
{{rename}} method that does only renaming, and a separate
{{syncMetaData}} to call fsync on the directory?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]