You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by is...@apache.org on 2017/06/27 11:31:11 UTC

lucene-solr:master: SOLR-10272: Fixing precommit

Repository: lucene-solr
Updated Branches:
  refs/heads/master 54fc1ee44 -> e4d0bb7dc


SOLR-10272: Fixing precommit


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e4d0bb7d
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e4d0bb7d
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e4d0bb7d

Branch: refs/heads/master
Commit: e4d0bb7dc45905b6ab231b940adecd5c5a39eb8e
Parents: 54fc1ee
Author: Ishan Chattopadhyaya <is...@apache.org>
Authored: Tue Jun 27 17:01:01 2017 +0530
Committer: Ishan Chattopadhyaya <is...@apache.org>
Committed: Tue Jun 27 17:01:01 2017 +0530

----------------------------------------------------------------------
 .../org/apache/solr/cloud/ZkController.java     | 22 +++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e4d0bb7d/solr/core/src/java/org/apache/solr/cloud/ZkController.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index 391f29c..f8543db 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -50,6 +50,7 @@ import java.util.concurrent.atomic.AtomicReference;
 
 import com.google.common.base.Strings;
 import org.apache.commons.lang.StringUtils;
+import org.apache.lucene.util.SuppressForbidden;
 import org.apache.solr.client.solrj.impl.HttpSolrClient;
 import org.apache.solr.client.solrj.impl.HttpSolrClient.Builder;
 import org.apache.solr.client.solrj.request.CoreAdminRequest.WaitForState;
@@ -695,7 +696,7 @@ public class ZkController {
    * Gets the absolute filesystem path of the _default configset to bootstrap from.
    * First tries the sysprop "solr.default.confdir". If not found, tries to find
    * the _default dir relative to the sysprop "solr.install.dir".
-   * If that fails as well, tries to get the _default from the
+   * If that fails as well (usually for unit tests), tries to get the _default from the
    * classpath. Returns null if not found anywhere.
    */
   private static String getDefaultConfigDirPath() {
@@ -710,16 +711,23 @@ public class ZkController {
         new File(System.getProperty(SolrDispatchFilter.SOLR_INSTALL_DIR_ATTRIBUTE) + subPath).exists()) {
       configDirPath = new File(System.getProperty(SolrDispatchFilter.SOLR_INSTALL_DIR_ATTRIBUTE) + subPath).getAbsolutePath();
     } else { // find "_default" in the classpath. This one is used for tests
-      URL classpathUrl = Thread.currentThread().getContextClassLoader().getResource(serverSubPath);
-      try {
-        if (classpathUrl != null && new File(classpathUrl.toURI()).exists()) {
-          configDirPath = new File(classpathUrl.toURI()).getAbsolutePath();
-        }
-      } catch (URISyntaxException ex) {}
+      configDirPath = getDefaultConfigDirFromClasspath(serverSubPath);
     }
     return configDirPath;
   }
 
+  @SuppressForbidden(reason = "This will be loaded for unit tests, and hence an exception can be made. "
+      + "In regular server operation, there shouldn't be a situation where we reach this point.")
+  private static String getDefaultConfigDirFromClasspath(String serverSubPath) {
+    URL classpathUrl = Thread.currentThread().getContextClassLoader().getResource(serverSubPath);
+    try {
+      if (classpathUrl != null && new File(classpathUrl.toURI()).exists()) {
+        return new File(classpathUrl.toURI()).getAbsolutePath();
+      }
+    } catch (URISyntaxException ex) {}
+    return null;
+  }
+
   private void init(CurrentCoreDescriptorProvider registerOnReconnect) {
 
     try {


Re: lucene-solr:master: SOLR-10272: Fixing precommit

Posted by Ishan Chattopadhyaya <ic...@gmail.com>.
Thanks for the explanation, Uwe. I'll use
ZkController.class.getClassLoader() here.

On Tue, Jun 27, 2017 at 6:18 PM, Uwe Schindler <uw...@thetaphi.de> wrote:

> Thats the change like was done before. I think this was introduced by a
> merge conflict on the autoscaling branch, because I rmeoved that already:
>
> solr/core/src/java/org/apache/solr/cloud/ZkController.java | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> index f8543db..59dca12 100644
> --- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> +++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> @@ -50,7 +50,6 @@ import java.util.concurrent.atomic.AtomicReference;
>
>  import com.google.common.base.Strings;
>  import org.apache.commons.lang.StringUtils;
> -import org.apache.lucene.util.SuppressForbidden;
>  import org.apache.solr.client.solrj.impl.HttpSolrClient;
>  import org.apache.solr.client.solrj.impl.HttpSolrClient.Builder;
>  import org.apache.solr.client.solrj.request.CoreAdminRequest.
> WaitForState;
> @@ -716,10 +715,8 @@ public class ZkController {
>      return configDirPath;
>    }
>
> -  @SuppressForbidden(reason = "This will be loaded for unit tests, and
> hence an exception can be made. "
> -      + "In regular server operation, there shouldn't be a situation
> where we reach this point.")
>    private static String getDefaultConfigDirFromClasspath(String
> serverSubPath) {
> -    URL classpathUrl = Thread.currentThread().getContextClassLoader().
> getResource(serverSubPath);
> +    URL classpathUrl = ZkController.class.getClassLoader().getResource(
> serverSubPath);
>      try {
>        if (classpathUrl != null && new File(classpathUrl.toURI()).exists())
> {
>          return new File(classpathUrl.toURI()).getAbsolutePath();
>
> -----
> Uwe Schindler
> Achterdiek 19, D-28357 Bremen
> http://www.thetaphi.de
> eMail: uwe@thetaphi.de
>
> > -----Original Message-----
> > From: Uwe Schindler [mailto:uwe@thetaphi.de]
> > Sent: Tuesday, June 27, 2017 2:39 PM
> > To: dev@lucene.apache.org
> > Subject: RE: lucene-solr:master: SOLR-10272: Fixing precommit
> >
> > Sorry,
> >
> > Why do you need the context classloader here - just adding a
> > suppressforbidden is not "the right fix". You can replace this with as
> simple
> > ZKController.class.getClassLoader() and all is fine. There is really no
> need to
> > use context classloader!
> >
> > Please change this. See also the issue from last week that fixed this.
> There
> > are tons of examples, also in ZKController.
> >
> > Uwe
> >
> > -----
> > Uwe Schindler
> > Achterdiek 19, D-28357 Bremen
> > http://www.thetaphi.de
> > eMail: uwe@thetaphi.de
> >
> > > -----Original Message-----
> > > From: ishan@apache.org [mailto:ishan@apache.org]
> > > Sent: Tuesday, June 27, 2017 1:31 PM
> > > To: commits@lucene.apache.org
> > > Subject: lucene-solr:master: SOLR-10272: Fixing precommit
> > >
> > > Repository: lucene-solr
> > > Updated Branches:
> > >   refs/heads/master 54fc1ee44 -> e4d0bb7dc
> > >
> > >
> > > SOLR-10272: Fixing precommit
> > >
> > >
> > > Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
> > > Commit: http://git-wip-us.apache.org/repos/asf/lucene-
> > > solr/commit/e4d0bb7d
> > > Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e4d0bb7d
> > > Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e4d0bb7d
> > >
> > > Branch: refs/heads/master
> > > Commit: e4d0bb7dc45905b6ab231b940adecd5c5a39eb8e
> > > Parents: 54fc1ee
> > > Author: Ishan Chattopadhyaya <is...@apache.org>
> > > Authored: Tue Jun 27 17:01:01 2017 +0530
> > > Committer: Ishan Chattopadhyaya <is...@apache.org>
> > > Committed: Tue Jun 27 17:01:01 2017 +0530
> > >
> > > ----------------------------------------------------------------------
> > >  .../org/apache/solr/cloud/ZkController.java     | 22
> +++++++++++++-------
> > >  1 file changed, 15 insertions(+), 7 deletions(-)
> > > ----------------------------------------------------------------------
> > >
> > >
> > > http://git-wip-us.apache.org/repos/asf/lucene-
> > >
> > solr/blob/e4d0bb7d/solr/core/src/java/org/apache/solr/
> cloud/ZkController.
> > > java
> > > ----------------------------------------------------------------------
> > > diff --git a/solr/core/src/java/org/apache/solr/cloud/
> ZkController.java
> > > b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> > > index 391f29c..f8543db 100644
> > > --- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> > > +++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> > > @@ -50,6 +50,7 @@ import java.util.concurrent.atomic.AtomicReference;
> > >
> > >  import com.google.common.base.Strings;
> > >  import org.apache.commons.lang.StringUtils;
> > > +import org.apache.lucene.util.SuppressForbidden;
> > >  import org.apache.solr.client.solrj.impl.HttpSolrClient;
> > >  import org.apache.solr.client.solrj.impl.HttpSolrClient.Builder;
> > >  import
> > org.apache.solr.client.solrj.request.CoreAdminRequest.WaitForState;
> > > @@ -695,7 +696,7 @@ public class ZkController {
> > >     * Gets the absolute filesystem path of the _default configset to
> bootstrap
> > > from.
> > >     * First tries the sysprop "solr.default.confdir". If not found,
> tries to find
> > >     * the _default dir relative to the sysprop "solr.install.dir".
> > > -   * If that fails as well, tries to get the _default from the
> > > +   * If that fails as well (usually for unit tests), tries to get the
> _default from
> > > the
> > >     * classpath. Returns null if not found anywhere.
> > >     */
> > >    private static String getDefaultConfigDirPath() {
> > > @@ -710,16 +711,23 @@ public class ZkController {
> > >          new
> > > File(System.getProperty(SolrDispatchFilter.SOLR_INSTALL_DIR_ATTRIBUTE)
> > +
> > > subPath).exists()) {
> > >        configDirPath = new
> > > File(System.getProperty(SolrDispatchFilter.SOLR_INSTALL_DIR_ATTRIBUTE)
> > +
> > > subPath).getAbsolutePath();
> > >      } else { // find "_default" in the classpath. This one is used
> for tests
> > > -      URL classpathUrl =
> > >
> > Thread.currentThread().getContextClassLoader().getResource(serverSubPath
> > > );
> > > -      try {
> > > -        if (classpathUrl != null && new File(classpathUrl.toURI()).exists())
> {
> > > -          configDirPath = new File(classpathUrl.toURI()).
> getAbsolutePath();
> > > -        }
> > > -      } catch (URISyntaxException ex) {}
> > > +      configDirPath = getDefaultConfigDirFromClasspa
> th(serverSubPath);
> > >      }
> > >      return configDirPath;
> > >    }
> > >
> > > +  @SuppressForbidden(reason = "This will be loaded for unit tests, and
> > > hence an exception can be made. "
> > > +      + "In regular server operation, there shouldn't be a situation
> where we
> > > reach this point.")
> > > +  private static String getDefaultConfigDirFromClasspath(String
> > > serverSubPath) {
> > > +    URL classpathUrl =
> > >
> > Thread.currentThread().getContextClassLoader().getResource(serverSubPath
> > > );
> > > +    try {
> > > +      if (classpathUrl != null && new File(classpathUrl.toURI()).exists())
> {
> > > +        return new File(classpathUrl.toURI()).getAbsolutePath();
> > > +      }
> > > +    } catch (URISyntaxException ex) {}
> > > +    return null;
> > > +  }
> > > +
> > >    private void init(CurrentCoreDescriptorProvider
> registerOnReconnect) {
> > >
> > >      try {
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> > For additional commands, e-mail: dev-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
>

RE: lucene-solr:master: SOLR-10272: Fixing precommit

Posted by Uwe Schindler <uw...@thetaphi.de>.
Thats the change like was done before. I think this was introduced by a merge conflict on the autoscaling branch, because I rmeoved that already:

solr/core/src/java/org/apache/solr/cloud/ZkController.java | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index f8543db..59dca12 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -50,7 +50,6 @@ import java.util.concurrent.atomic.AtomicReference;
 
 import com.google.common.base.Strings;
 import org.apache.commons.lang.StringUtils;
-import org.apache.lucene.util.SuppressForbidden;
 import org.apache.solr.client.solrj.impl.HttpSolrClient;
 import org.apache.solr.client.solrj.impl.HttpSolrClient.Builder;
 import org.apache.solr.client.solrj.request.CoreAdminRequest.WaitForState;
@@ -716,10 +715,8 @@ public class ZkController {
     return configDirPath;
   }
 
-  @SuppressForbidden(reason = "This will be loaded for unit tests, and hence an exception can be made. "
-      + "In regular server operation, there shouldn't be a situation where we reach this point.")
   private static String getDefaultConfigDirFromClasspath(String serverSubPath) {
-    URL classpathUrl = Thread.currentThread().getContextClassLoader().getResource(serverSubPath);
+    URL classpathUrl = ZkController.class.getClassLoader().getResource(serverSubPath);
     try {
       if (classpathUrl != null && new File(classpathUrl.toURI()).exists()) {
         return new File(classpathUrl.toURI()).getAbsolutePath();

-----
Uwe Schindler
Achterdiek 19, D-28357 Bremen
http://www.thetaphi.de
eMail: uwe@thetaphi.de

> -----Original Message-----
> From: Uwe Schindler [mailto:uwe@thetaphi.de]
> Sent: Tuesday, June 27, 2017 2:39 PM
> To: dev@lucene.apache.org
> Subject: RE: lucene-solr:master: SOLR-10272: Fixing precommit
> 
> Sorry,
> 
> Why do you need the context classloader here - just adding a
> suppressforbidden is not "the right fix". You can replace this with as simple
> ZKController.class.getClassLoader() and all is fine. There is really no need to
> use context classloader!
> 
> Please change this. See also the issue from last week that fixed this. There
> are tons of examples, also in ZKController.
> 
> Uwe
> 
> -----
> Uwe Schindler
> Achterdiek 19, D-28357 Bremen
> http://www.thetaphi.de
> eMail: uwe@thetaphi.de
> 
> > -----Original Message-----
> > From: ishan@apache.org [mailto:ishan@apache.org]
> > Sent: Tuesday, June 27, 2017 1:31 PM
> > To: commits@lucene.apache.org
> > Subject: lucene-solr:master: SOLR-10272: Fixing precommit
> >
> > Repository: lucene-solr
> > Updated Branches:
> >   refs/heads/master 54fc1ee44 -> e4d0bb7dc
> >
> >
> > SOLR-10272: Fixing precommit
> >
> >
> > Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
> > Commit: http://git-wip-us.apache.org/repos/asf/lucene-
> > solr/commit/e4d0bb7d
> > Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e4d0bb7d
> > Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e4d0bb7d
> >
> > Branch: refs/heads/master
> > Commit: e4d0bb7dc45905b6ab231b940adecd5c5a39eb8e
> > Parents: 54fc1ee
> > Author: Ishan Chattopadhyaya <is...@apache.org>
> > Authored: Tue Jun 27 17:01:01 2017 +0530
> > Committer: Ishan Chattopadhyaya <is...@apache.org>
> > Committed: Tue Jun 27 17:01:01 2017 +0530
> >
> > ----------------------------------------------------------------------
> >  .../org/apache/solr/cloud/ZkController.java     | 22 +++++++++++++-------
> >  1 file changed, 15 insertions(+), 7 deletions(-)
> > ----------------------------------------------------------------------
> >
> >
> > http://git-wip-us.apache.org/repos/asf/lucene-
> >
> solr/blob/e4d0bb7d/solr/core/src/java/org/apache/solr/cloud/ZkController.
> > java
> > ----------------------------------------------------------------------
> > diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> > b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> > index 391f29c..f8543db 100644
> > --- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> > +++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> > @@ -50,6 +50,7 @@ import java.util.concurrent.atomic.AtomicReference;
> >
> >  import com.google.common.base.Strings;
> >  import org.apache.commons.lang.StringUtils;
> > +import org.apache.lucene.util.SuppressForbidden;
> >  import org.apache.solr.client.solrj.impl.HttpSolrClient;
> >  import org.apache.solr.client.solrj.impl.HttpSolrClient.Builder;
> >  import
> org.apache.solr.client.solrj.request.CoreAdminRequest.WaitForState;
> > @@ -695,7 +696,7 @@ public class ZkController {
> >     * Gets the absolute filesystem path of the _default configset to bootstrap
> > from.
> >     * First tries the sysprop "solr.default.confdir". If not found, tries to find
> >     * the _default dir relative to the sysprop "solr.install.dir".
> > -   * If that fails as well, tries to get the _default from the
> > +   * If that fails as well (usually for unit tests), tries to get the _default from
> > the
> >     * classpath. Returns null if not found anywhere.
> >     */
> >    private static String getDefaultConfigDirPath() {
> > @@ -710,16 +711,23 @@ public class ZkController {
> >          new
> > File(System.getProperty(SolrDispatchFilter.SOLR_INSTALL_DIR_ATTRIBUTE)
> +
> > subPath).exists()) {
> >        configDirPath = new
> > File(System.getProperty(SolrDispatchFilter.SOLR_INSTALL_DIR_ATTRIBUTE)
> +
> > subPath).getAbsolutePath();
> >      } else { // find "_default" in the classpath. This one is used for tests
> > -      URL classpathUrl =
> >
> Thread.currentThread().getContextClassLoader().getResource(serverSubPath
> > );
> > -      try {
> > -        if (classpathUrl != null && new File(classpathUrl.toURI()).exists()) {
> > -          configDirPath = new File(classpathUrl.toURI()).getAbsolutePath();
> > -        }
> > -      } catch (URISyntaxException ex) {}
> > +      configDirPath = getDefaultConfigDirFromClasspath(serverSubPath);
> >      }
> >      return configDirPath;
> >    }
> >
> > +  @SuppressForbidden(reason = "This will be loaded for unit tests, and
> > hence an exception can be made. "
> > +      + "In regular server operation, there shouldn't be a situation where we
> > reach this point.")
> > +  private static String getDefaultConfigDirFromClasspath(String
> > serverSubPath) {
> > +    URL classpathUrl =
> >
> Thread.currentThread().getContextClassLoader().getResource(serverSubPath
> > );
> > +    try {
> > +      if (classpathUrl != null && new File(classpathUrl.toURI()).exists()) {
> > +        return new File(classpathUrl.toURI()).getAbsolutePath();
> > +      }
> > +    } catch (URISyntaxException ex) {}
> > +    return null;
> > +  }
> > +
> >    private void init(CurrentCoreDescriptorProvider registerOnReconnect) {
> >
> >      try {
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


RE: lucene-solr:master: SOLR-10272: Fixing precommit

Posted by Uwe Schindler <uw...@thetaphi.de>.
Sorry,

Why do you need the context classloader here - just adding a suppressforbidden is not "the right fix". You can replace this with as simple ZKController.class.getClassLoader() and all is fine. There is really no need to use context classloader!

Please change this. See also the issue from last week that fixed this. There are tons of examples, also in ZKController.

Uwe

-----
Uwe Schindler
Achterdiek 19, D-28357 Bremen
http://www.thetaphi.de
eMail: uwe@thetaphi.de

> -----Original Message-----
> From: ishan@apache.org [mailto:ishan@apache.org]
> Sent: Tuesday, June 27, 2017 1:31 PM
> To: commits@lucene.apache.org
> Subject: lucene-solr:master: SOLR-10272: Fixing precommit
> 
> Repository: lucene-solr
> Updated Branches:
>   refs/heads/master 54fc1ee44 -> e4d0bb7dc
> 
> 
> SOLR-10272: Fixing precommit
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
> Commit: http://git-wip-us.apache.org/repos/asf/lucene-
> solr/commit/e4d0bb7d
> Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e4d0bb7d
> Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e4d0bb7d
> 
> Branch: refs/heads/master
> Commit: e4d0bb7dc45905b6ab231b940adecd5c5a39eb8e
> Parents: 54fc1ee
> Author: Ishan Chattopadhyaya <is...@apache.org>
> Authored: Tue Jun 27 17:01:01 2017 +0530
> Committer: Ishan Chattopadhyaya <is...@apache.org>
> Committed: Tue Jun 27 17:01:01 2017 +0530
> 
> ----------------------------------------------------------------------
>  .../org/apache/solr/cloud/ZkController.java     | 22 +++++++++++++-------
>  1 file changed, 15 insertions(+), 7 deletions(-)
> ----------------------------------------------------------------------
> 
> 
> http://git-wip-us.apache.org/repos/asf/lucene-
> solr/blob/e4d0bb7d/solr/core/src/java/org/apache/solr/cloud/ZkController.
> java
> ----------------------------------------------------------------------
> diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> index 391f29c..f8543db 100644
> --- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> +++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
> @@ -50,6 +50,7 @@ import java.util.concurrent.atomic.AtomicReference;
> 
>  import com.google.common.base.Strings;
>  import org.apache.commons.lang.StringUtils;
> +import org.apache.lucene.util.SuppressForbidden;
>  import org.apache.solr.client.solrj.impl.HttpSolrClient;
>  import org.apache.solr.client.solrj.impl.HttpSolrClient.Builder;
>  import org.apache.solr.client.solrj.request.CoreAdminRequest.WaitForState;
> @@ -695,7 +696,7 @@ public class ZkController {
>     * Gets the absolute filesystem path of the _default configset to bootstrap
> from.
>     * First tries the sysprop "solr.default.confdir". If not found, tries to find
>     * the _default dir relative to the sysprop "solr.install.dir".
> -   * If that fails as well, tries to get the _default from the
> +   * If that fails as well (usually for unit tests), tries to get the _default from
> the
>     * classpath. Returns null if not found anywhere.
>     */
>    private static String getDefaultConfigDirPath() {
> @@ -710,16 +711,23 @@ public class ZkController {
>          new
> File(System.getProperty(SolrDispatchFilter.SOLR_INSTALL_DIR_ATTRIBUTE) +
> subPath).exists()) {
>        configDirPath = new
> File(System.getProperty(SolrDispatchFilter.SOLR_INSTALL_DIR_ATTRIBUTE) +
> subPath).getAbsolutePath();
>      } else { // find "_default" in the classpath. This one is used for tests
> -      URL classpathUrl =
> Thread.currentThread().getContextClassLoader().getResource(serverSubPath
> );
> -      try {
> -        if (classpathUrl != null && new File(classpathUrl.toURI()).exists()) {
> -          configDirPath = new File(classpathUrl.toURI()).getAbsolutePath();
> -        }
> -      } catch (URISyntaxException ex) {}
> +      configDirPath = getDefaultConfigDirFromClasspath(serverSubPath);
>      }
>      return configDirPath;
>    }
> 
> +  @SuppressForbidden(reason = "This will be loaded for unit tests, and
> hence an exception can be made. "
> +      + "In regular server operation, there shouldn't be a situation where we
> reach this point.")
> +  private static String getDefaultConfigDirFromClasspath(String
> serverSubPath) {
> +    URL classpathUrl =
> Thread.currentThread().getContextClassLoader().getResource(serverSubPath
> );
> +    try {
> +      if (classpathUrl != null && new File(classpathUrl.toURI()).exists()) {
> +        return new File(classpathUrl.toURI()).getAbsolutePath();
> +      }
> +    } catch (URISyntaxException ex) {}
> +    return null;
> +  }
> +
>    private void init(CurrentCoreDescriptorProvider registerOnReconnect) {
> 
>      try {


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org