Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
-
New
Description
Today, just instantiating an FSDirectory always brings the directory into existence, even if you will do no writes (createOutput).
We have gone back and forth on this, over the ages. E.g. see LUCENE-16 (only 2 digits there!!), LUCENE-773 (only 3 digits there!!), LUCENE-1464. At one point we created the directory lazily, on the first write (createOutput) attempt, but now we always create it when you instantiate FSDirectory.
This causes some hassle for consumers, e.g. in https://github.com/elastic/elasticsearch/pull/19338 ES is forking SimpleFSDirectory in order to have a read-only directory impl.
Maybe we can do the Files.createDirectories in protected method that a subclass could override?