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:27:22 UTC

[solr] branch branch_9x 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 branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git


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

commit e0cf4e3970cf57cf88042d165ed77c6c4f87b0c2
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();