[
https://issues.apache.org/jira/browse/LUCENE-812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12475168
]
Michael McCandless commented on LUCENE-812:
-------------------------------------------
> I just entered this issue as I thought that the behaviour of the
> code ... is a bit unexpected. In the end, if the system property is
> set to whatever value lucene is unable to create an FSDirectory and
> FSDirectory based IndexSearchers.
Agreed, this really is a bug (thanks for finding it & opening it
Matthias!).
> ... but i don't think we should aggresivly support using system
> props to set things like this. as long as we have setters for
> things, client code can use system properties all it wants to set
> these things.
+1
I think system properties are dangerously global and we should try not
to add any more to Lucene?
I would prefer to just remove this one (and do a 2.1.1 soon?) or
deprecate this property for the next release.
> Unable to set LockFactory implementation via
> ${org.apache.lucene.store.FSDirectoryLockFactoryClass}
> ---------------------------------------------------------------------------------------------------
>
> Key: LUCENE-812
> URL: https://issues.apache.org/jira/browse/LUCENE-812
> Project: Lucene - Java
> Issue Type: Bug
> Components: Store
> Affects Versions: 2.1
> Reporter: Matthias Kerkhoff
> Assigned To: Michael McCandless
>
> While trying to move from Lucene 2.0 to Lucene 2.1 I noticed a problem with
> the LockFactory instantiation code.
> During previous tests we successfully specified the LockFactory
> implementation by setting the property
> ${org.apache.lucene.store.FSDirectoryLockFactoryClass} to
> "org.apache.lucene.store.NativeFSLockFactory".
> This does no longer work due to a bug in the FSDirectory class. The problem
> is caused from the fact that this
> class tries to invoke the default constructor of the specified LockFactory
> class. However neither NativeFSLockFactory
> nor SimpleFSLockFactory do have a default constructor.
> FSDirectory, Line 285:
> try {
> lockFactory = (LockFactory) c.newInstance();
> } catch (IllegalAccessException e) {
> throw new IOException("IllegalAccessException when instantiating
> LockClass " + lockClassName);
> } catch (InstantiationException e) {
> throw new IOException("InstantiationException when instantiating
> LockClass " + lockClassName);
> } catch (ClassCastException e) {
> throw new IOException("unable to cast LockClass " + lockClassName
> + " instance to a LockFactory");
> }
> A possible workaround is to not set the property at all and call
> FSDirectory.setLockFactory(...) instead.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]