You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by no...@apache.org on 2023/01/11 04:26:33 UTC

[solr] branch main updated: Null check added in package loader. It was just throwing an NPE

This is an automated email from the ASF dual-hosted git repository.

noble pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/main by this push:
     new 773f1f473ff Null check added in package loader. It was just throwing an NPE
773f1f473ff is described below

commit 773f1f473ffd5e38c785a6f95c44f51d88359746
Author: Noble Paul <no...@gmail.com>
AuthorDate: Wed Jan 11 15:26:09 2023 +1100

    Null check added in package loader. It was just throwing an NPE
---
 .../java/org/apache/solr/pkg/PackageListeningClassLoader.java  | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/pkg/PackageListeningClassLoader.java b/solr/core/src/java/org/apache/solr/pkg/PackageListeningClassLoader.java
index 3958d337cc6..2c75b79ac5d 100644
--- a/solr/core/src/java/org/apache/solr/pkg/PackageListeningClassLoader.java
+++ b/solr/core/src/java/org/apache/solr/pkg/PackageListeningClassLoader.java
@@ -87,11 +87,13 @@ public class PackageListeningClassLoader implements SolrClassLoader, PackageList
    */
   public SolrPackageLoader.SolrPackage.Version findPackageVersion(
       PluginInfo.ClassName cName, boolean registerListener) {
+    SolrPackageLoader.SolrPackage p = coreContainer.getPackageLoader().getPackage(cName.pkg);
+    if (p == null) {
+      throw new SolrException(
+          SolrException.ErrorCode.SERVER_ERROR, "No such package: " + cName.pkg);
+    }
     SolrPackageLoader.SolrPackage.Version theVersion =
-        coreContainer
-            .getPackageLoader()
-            .getPackage(cName.pkg)
-            .getLatest(pkgVersionSupplier.apply(cName.pkg));
+        p.getLatest(pkgVersionSupplier.apply(cName.pkg));
     if (registerListener) {
       classNameVsPackageName.put(cName.original, cName.pkg);
       PackageAPI.PkgVersion pkgVersion = theVersion.getPkgVersion();