[
https://issues.apache.org/jira/browse/SOLR-6519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18062550#comment-18062550
]
David Smiley commented on SOLR-6519:
------------------------------------
This issue introduced lock type constraints that previously didn't exist. I
can see it in the patch & commit. You're a smart guy Uwe... so I assume you
chose this constraint with some wisdom I am lacking, so here I am now inquiring
why I can't use "none" on a purely in-memory directory; why must I use "single"
and create a file on-disk. Based on your response... seems this was a mistake.
> In trunk change Solr's DirectoryFactory.create method to take LockFactory
> -------------------------------------------------------------------------
>
> Key: SOLR-6519
> URL: https://issues.apache.org/jira/browse/SOLR-6519
> Project: Solr
> Issue Type: Bug
> Reporter: Uwe Schindler
> Assignee: Uwe Schindler
> Priority: Major
> Fix For: 5.0, 6.0
>
> Attachments: SOLR-6519.patch, SOLR-6519.patch
>
>
> Because of NIO2 changes and the corresponding workaround, it is impossible
> now to create a Directory and "hope" that the lock factory directory is not
> created. Especially if you want some non-standard lock factory, this blows up.
> The problem is: The lock dir is now created in ctor. As workaround I made all
> factories set NoLockFactory initially through ctor (see SOLR-6518), but this
> is just a workaround for incorrect API design.
> In fact the main problem is just stupid: Why does protected
> CachingDirectoryFactory.create() not take the lock factory? I think its
> because of backwards compatibility, but with Solr 5.0 we can change this.
> In future we want to make the lock factory non-mutable in Directory, so this
> is an important change. In addition, injectLockFactory looks horrible, this
> code is a häckidy-hick-hack!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]