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

dsmiley 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 bf57b95fd89 Refactor: NavigableObject._get & _getStr remove default 
(#3395)
bf57b95fd89 is described below

commit bf57b95fd89546ee3f9df89d5a451c942b1b3db1
Author: wildtusker <[email protected]>
AuthorDate: Wed Jun 25 09:36:00 2025 -0400

    Refactor: NavigableObject._get & _getStr remove default (#3395)
    
    Remove the last parameter, a default value, to NavigableObject _get & 
_getStr methods as it was barely used (so often, null was provided).
    
    backport 9x: keep original methods as deprecated for backwards compatibility
    
    (cherry picked from commit 11c66cb730766765fd758d36267e0488fa921579)
---
 .../apache/solr/packagemanager/PackageManager.java |  8 ++++--
 .../api/NodeConfigClusterPluginsSourceTest.java    |  4 +--
 .../apache/solr/cloud/CollectionsAPISolrJTest.java |  4 +--
 .../test/org/apache/solr/cloud/NodeRolesTest.java  | 11 ++++++--
 .../cluster/events/ClusterEventProducerTest.java   |  4 +--
 .../apache/solr/core/TestSolrConfigHandler.java    | 28 +++++++++----------
 .../solr/filestore/TestDistribFileStore.java       |  4 ++-
 .../org/apache/solr/handler/TestBlobHandler.java   |  6 ++--
 .../apache/solr/handler/TestContainerPlugin.java   | 13 +++++----
 .../TestReplicationHandlerDiskOverFlow.java        |  4 +--
 .../handler/TestSolrConfigHandlerConcurrent.java   |  2 +-
 .../solr/handler/admin/LoggingHandlerTest.java     |  6 ++--
 .../solr/handler/admin/MetricsHandlerTest.java     | 22 +++++++--------
 .../solr/handler/admin/TestApiFramework.java       | 24 ++++++++--------
 .../solr/handler/admin/ThreadDumpHandlerTest.java  | 32 +++++++++++-----------
 .../handler/designer/TestSchemaDesignerAPI.java    |  4 +--
 .../src/test/org/apache/solr/pkg/TestPackages.java |  3 +-
 .../apache/solr/util/stats/MetricUtilsTest.java    |  2 +-
 .../MirroringUpdateRequestProcessorFactory.java    |  2 +-
 .../solr/common/cloud/NodesSysPropsCacher.java     |  4 +--
 .../apache/solr/common/LinkedHashMapWriter.java    |  6 ++--
 .../java/org/apache/solr/common/MapWriterMap.java  |  6 ++--
 .../org/apache/solr/common/NavigableObject.java    | 21 ++++++++++----
 .../solr/client/solrj/request/TestV2Request.java   |  4 +--
 .../cloud/PerReplicaStatesIntegrationTest.java     |  6 ++--
 .../src/java/org/apache/solr/SolrTestCaseJ4.java   |  4 +--
 .../collections/AbstractIncrementalBackupTest.java |  4 +--
 27 files changed, 130 insertions(+), 108 deletions(-)

diff --git 
a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java 
b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java
index 159b192a1ec..426312b788c 100644
--- a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java
+++ b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java
@@ -36,6 +36,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Scanner;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
@@ -248,7 +249,8 @@ public class PackageManager implements Closeable {
                       false) /* Making a collection request, but already baked 
into path */);
       packages =
           (Map<String, String>)
-              result._get("/response/params/PKG_VERSIONS", 
Collections.emptyMap());
+              Objects.requireNonNullElse(
+                  result._get("/response/params/PKG_VERSIONS"), 
Collections.emptyMap());
     } catch (PathNotFoundException ex) {
       // Don't worry if PKG_VERSION wasn't found. It just means this 
collection was never touched by
       // the package manager.
@@ -733,7 +735,9 @@ public class PackageManager implements Closeable {
                   .setRequiresCollection(
                       false) /* Making a collection-request, but already baked 
into path */);
       return (Map<String, String>)
-          response._get("/response/params/packages/" + packageName, 
Collections.emptyMap());
+          Objects.requireNonNullElse(
+              response._get("/response/params/packages/" + packageName), 
Collections.emptyMap());
+
     } catch (Exception ex) {
       // This should be because there are no parameters. Be tolerant here.
       log.warn("There are no parameters to return for package: {}", 
packageName);
diff --git 
a/solr/core/src/test/org/apache/solr/api/NodeConfigClusterPluginsSourceTest.java
 
b/solr/core/src/test/org/apache/solr/api/NodeConfigClusterPluginsSourceTest.java
index 158a777f241..c4da59ba64d 100644
--- 
a/solr/core/src/test/org/apache/solr/api/NodeConfigClusterPluginsSourceTest.java
+++ 
b/solr/core/src/test/org/apache/solr/api/NodeConfigClusterPluginsSourceTest.java
@@ -106,11 +106,11 @@ public class NodeConfigClusterPluginsSourceTest extends 
SolrCloudTestCase {
     assertEquals(0, rsp.getStatus());
     assertEquals(
         SingletonNoConfig.class.getName(),
-        rsp._getStr("/plugin/" + SingletonNoConfig.NAME + "/class", null));
+        rsp._getStr("/plugin/" + SingletonNoConfig.NAME + "/class"));
 
     assertEquals(
         SingletonWithConfig.class.getName(),
-        rsp._getStr("/plugin/" + SingletonWithConfig.NAME + "/class", null));
+        rsp._getStr("/plugin/" + SingletonWithConfig.NAME + "/class"));
   }
 
   /** Verify that the Edit Apis are not available for plugins declared in 
solr.xml */
diff --git 
a/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java 
b/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
index caa303d3754..1f3ec276fa0 100644
--- a/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
@@ -291,7 +291,7 @@ public class CollectionsAPISolrJTest extends 
SolrCloudTestCase {
 
     cluster.waitForActiveCollection(collectionName, 2, 4);
 
-    String nodeName = response._getStr("success[0]/key", null);
+    String nodeName = response._getStr("success[0]/key");
     String corename = response._getStr(asList("success", nodeName, "core"), 
null);
 
     try (SolrClient coreClient =
@@ -1386,7 +1386,7 @@ public class CollectionsAPISolrJTest extends 
SolrCloudTestCase {
     assertEquals(0, response.getStatus());
 
     NamedList<?> colStatus = (NamedList<?>) 
response.getResponse().get(collectionName);
-    Long creationTimeMillis = (Long) colStatus._get("creationTimeMillis", 
null);
+    Long creationTimeMillis = (Long) colStatus._get("creationTimeMillis");
     assertNotNull("creationTimeMillis was not included in COLSTATUS response", 
creationTimeMillis);
 
     Instant creationTime = Instant.ofEpochMilli(creationTimeMillis);
diff --git a/solr/core/src/test/org/apache/solr/cloud/NodeRolesTest.java 
b/solr/core/src/test/org/apache/solr/cloud/NodeRolesTest.java
index 44877f9513c..463b81a2ecd 100644
--- a/solr/core/src/test/org/apache/solr/cloud/NodeRolesTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/NodeRolesTest.java
@@ -20,6 +20,7 @@ package org.apache.solr.cloud;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Map;
+import java.util.Objects;
 import org.apache.solr.client.solrj.request.CollectionAdminRequest;
 import org.apache.solr.client.solrj.request.V2Request;
 import org.apache.solr.client.solrj.response.V2Response;
@@ -90,7 +91,7 @@ public class NodeRolesTest extends SolrCloudTestCase {
             .build()
             .process(cluster.getSolrClient());
     assertFalse(
-        ((Collection) rsp._get("node-roles/overseer/" + 
overseerModeOnDataNode, null))
+        ((Collection) rsp._get("node-roles/overseer/" + 
overseerModeOnDataNode))
             .contains(j1.getNodeName()));
   }
 
@@ -104,7 +105,8 @@ public class NodeRolesTest extends SolrCloudTestCase {
       String path = nodenamePaths[i + 1];
       assertTrue(
           "Didn't find " + nodename + " at " + path + ". Full response: " + 
rsp.jsonStr(),
-          ((Collection) rsp._get(path, 
Collections.emptyList())).contains(nodename));
+          ((Collection) Objects.requireNonNullElse(rsp._get(path), 
Collections.emptyList()))
+              .contains(nodename));
     }
   }
 
@@ -115,8 +117,11 @@ public class NodeRolesTest extends SolrCloudTestCase {
             .GET()
             .build()
             .process(cluster.getSolrClient());
+
     Map<String, Object> l =
-        (Map<String, Object>) rsp._get("supported-roles", 
Collections.emptyMap());
+        (Map<String, Object>)
+            Objects.requireNonNullElse(rsp._get("supported-roles"), 
Collections.emptyMap());
+
     assertTrue(l.containsKey("data"));
     assertTrue(l.containsKey("overseer"));
   }
diff --git 
a/solr/core/src/test/org/apache/solr/cluster/events/ClusterEventProducerTest.java
 
b/solr/core/src/test/org/apache/solr/cluster/events/ClusterEventProducerTest.java
index adab07457b8..b3006d2da8e 100644
--- 
a/solr/core/src/test/org/apache/solr/cluster/events/ClusterEventProducerTest.java
+++ 
b/solr/core/src/test/org/apache/solr/cluster/events/ClusterEventProducerTest.java
@@ -100,7 +100,7 @@ public class ClusterEventProducerTest extends 
SolrCloudTestCase {
     V2Request readPluginState =
         new 
V2Request.Builder("/cluster/plugin").forceV2(true).withMethod(GET).build();
     V2Response rsp = readPluginState.process(cluster.getSolrClient());
-    if (rsp._getStr("/plugin/" + ClusterEventProducer.PLUGIN_NAME + "/class", 
null) != null) {
+    if (rsp._getStr("/plugin/" + ClusterEventProducer.PLUGIN_NAME + "/class") 
!= null) {
       V2Request req =
           new V2Request.Builder("/cluster/plugin")
               .withMethod(POST)
@@ -362,7 +362,7 @@ public class ClusterEventProducerTest extends 
SolrCloudTestCase {
     V2Request readPluginState =
         new 
V2Request.Builder("/cluster/plugin").forceV2(true).withMethod(GET).build();
     rsp = readPluginState.process(cluster.getSolrClient());
-    assertEquals(DummyEventListener.class.getName(), 
rsp._getStr("/plugin/testplugin/class", null));
+    assertEquals(DummyEventListener.class.getName(), 
rsp._getStr("/plugin/testplugin/class"));
 
     String collection = "testListenerPlugins_collection";
     CollectionAdminRequest.Create create =
diff --git a/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java 
b/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
index 9ef6256d991..a70b16e60ef 100644
--- a/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
+++ b/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
@@ -164,27 +164,27 @@ public class TestSolrConfigHandler extends RestTestBase {
     runConfigCommand(harness, "/config", payload);
 
     MapWriter m = getRespMap("/config/overlay", harness);
-    assertEquals("100", 
m._getStr("overlay/props/updateHandler/autoCommit/maxDocs", null));
-    assertEquals("10", 
m._getStr("overlay/props/updateHandler/autoCommit/maxTime", null));
+    assertEquals("100", 
m._getStr("overlay/props/updateHandler/autoCommit/maxDocs"));
+    assertEquals("10", 
m._getStr("overlay/props/updateHandler/autoCommit/maxTime"));
 
     m = getRespMap("/config/updateHandler", harness);
-    assertNotNull(m._get("config/updateHandler/commitWithin/softCommit", 
null));
-    assertNotNull(m._get("config/updateHandler/autoCommit/maxDocs", null));
-    assertNotNull(m._get("config/updateHandler/autoCommit/maxTime", null));
+    assertNotNull(m._get("config/updateHandler/commitWithin/softCommit"));
+    assertNotNull(m._get("config/updateHandler/autoCommit/maxDocs"));
+    assertNotNull(m._get("config/updateHandler/autoCommit/maxTime"));
 
     m = getRespMap("/config", harness);
     assertNotNull(m);
 
-    assertEquals("100", m._getStr("config/updateHandler/autoCommit/maxDocs", 
null));
-    assertEquals("10", m._getStr("config/updateHandler/autoCommit/maxTime", 
null));
+    assertEquals("100", m._getStr("config/updateHandler/autoCommit/maxDocs"));
+    assertEquals("10", m._getStr("config/updateHandler/autoCommit/maxTime"));
     assertEquals(
         "true", 
m._getStr("config/requestDispatcher/requestParsers/addHttpRequestToContext", 
null));
     payload = "{\n" + " 'unset-property' :  'updateHandler.autoCommit.maxDocs' 
\n" + " }";
     runConfigCommand(harness, "/config", payload);
 
     m = getRespMap("/config/overlay", harness);
-    assertNull(m._get("overlay/props/updateHandler/autoCommit/maxDocs", null));
-    assertEquals("10", 
m._getStr("overlay/props/updateHandler/autoCommit/maxTime", null));
+    assertNull(m._get("overlay/props/updateHandler/autoCommit/maxDocs"));
+    assertEquals("10", 
m._getStr("overlay/props/updateHandler/autoCommit/maxTime"));
   }
 
   public void testUserProp() throws Exception {
@@ -197,13 +197,13 @@ public class TestSolrConfigHandler extends RestTestBase {
     runConfigCommand(harness, "/config", payload);
 
     MapWriter m = getRespMap("/config/overlay", harness); // .get("overlay");
-    assertEquals(m._get("overlay/userProps/my.custom.variable.a", null), 
"MODIFIEDA");
-    assertEquals(m._get("overlay/userProps/my.custom.variable.b", null), 
"MODIFIEDB");
+    assertEquals(m._get("overlay/userProps/my.custom.variable.a"), 
"MODIFIEDA");
+    assertEquals(m._get("overlay/userProps/my.custom.variable.b"), 
"MODIFIEDB");
 
     m = getRespMap("/dump?json.nl=map&initArgs=true", harness); // 
.get("initArgs");
 
-    assertEquals("MODIFIEDA", m._get("initArgs/defaults/a", null));
-    assertEquals("MODIFIEDB", m._get("initArgs/defaults/b", null));
+    assertEquals("MODIFIEDA", m._get("initArgs/defaults/a"));
+    assertEquals("MODIFIEDB", m._get("initArgs/defaults/b"));
   }
 
   public void testReqHandlerAPIs() throws Exception {
@@ -1032,7 +1032,7 @@ public class TestSolrConfigHandler extends RestTestBase {
     String payload = "{'set-property' : { 'query.documentCache.size': 399} }";
     runConfigCommand(restTestHarness, "/config", payload);
     MapWriter overlay = getRespMap("/config/overlay", restTestHarness);
-    assertEquals("399", 
overlay._getStr("overlay/props/query/documentCache/size", null));
+    assertEquals("399", 
overlay._getStr("overlay/props/query/documentCache/size"));
     // Setting size only will not enable the cache
     restTestHarness.setServerProvider(() -> getBaseUrl());
     MapWriter confMap = getRespMap("/admin/metrics", restTestHarness);
diff --git 
a/solr/core/src/test/org/apache/solr/filestore/TestDistribFileStore.java 
b/solr/core/src/test/org/apache/solr/filestore/TestDistribFileStore.java
index ff8f68b7897..26e36060789 100644
--- a/solr/core/src/test/org/apache/solr/filestore/TestDistribFileStore.java
+++ b/solr/core/src/test/org/apache/solr/filestore/TestDistribFileStore.java
@@ -110,7 +110,9 @@ public class TestDistribFileStore extends SolrCloudTestCase 
{
               "/package/mypkg/v1.0/runtimelibs.jar",
               
"L3q/qIGs4NaF6JiO0ZkMUFa88j0OmYc+I6O7BOdNuMct/xoZ4h73aZHZGc0+nmI1f/U3bOlMPINlSOM6LK3JpQ==");
 
-      assertTrue(rsp._getStr("message", "").contains("File with same metadata 
exists "));
+      assertTrue(
+          Objects.requireNonNullElse(rsp._getStr("message"), "")
+              .contains("File with same metadata exists "));
 
       assertResponseValues(
           10,
diff --git a/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java 
b/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
index 0126fbc2cfb..c24d092c65b 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
@@ -98,7 +98,7 @@ public class TestBlobHandler extends 
AbstractFullDistribZkTestBase {
 
     url = baseUrl + "/.system/blob/test/1";
     map = TestSolrConfigHandlerConcurrent.getAsMap(url, cloudClient);
-    assertEquals("" + bytarr.length, map._getStr("response/docs[0]/size", 
null));
+    assertEquals("" + bytarr.length, map._getStr("response/docs[0]/size"));
 
     compareInputAndOutput(
         baseUrl + "/.system/blob/test?wt=filestream", bytarr2, 
(CloudLegacySolrClient) cloudClient);
@@ -121,7 +121,7 @@ public class TestBlobHandler extends 
AbstractFullDistribZkTestBase {
     MapWriter map =
         TestSolrConfigHandlerConcurrent.getAsMap(
             baseUrl + "/.system/blob/" + blobName, cloudClient);
-    assertEquals(stringValueMd5, map._getStr("response/docs[0]/md5", null));
+    assertEquals(stringValueMd5, map._getStr("response/docs[0]/md5"));
   }
 
   public static void createSystemCollection(SolrClient client)
@@ -152,7 +152,7 @@ public class TestBlobHandler extends 
AbstractFullDistribZkTestBase {
         continue;
       }
 
-      assertEquals("" + bytes.limit(), map._getStr("response/docs[0]/size", 
null));
+      assertEquals("" + bytes.limit(), map._getStr("response/docs[0]/size"));
       return;
     }
     fail(
diff --git 
a/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java 
b/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java
index a403febf549..3939cf46c5b 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java
@@ -28,6 +28,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.nio.ByteBuffer;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.Callable;
 import java.util.concurrent.Phaser;
 import java.util.concurrent.Semaphore;
@@ -170,7 +171,7 @@ public class TestContainerPlugin extends SolrCloudTestCase {
     // just check if the plugin is indeed registered
     Callable<V2Response> readPluginState = getPlugin("/cluster/plugin");
     V2Response rsp = readPluginState.call();
-    assertEquals(C3.class.getName(), rsp._getStr("/plugin/testplugin/class", 
null));
+    assertEquals(C3.class.getName(), rsp._getStr("/plugin/testplugin/class"));
 
     // let's test the plugin
     TestDistribFileStore.assertResponseValues(
@@ -183,7 +184,7 @@ public class TestContainerPlugin extends SolrCloudTestCase {
 
     // verify it is removed
     rsp = readPluginState.call();
-    assertNull(rsp._get("/plugin/testplugin/class", null));
+    assertNull(rsp._get("/plugin/testplugin/class"));
 
     try (ErrorLogMuter errors = 
ErrorLogMuter.substring("TestContainerPlugin$C4")) {
       // test with a class  @EndPoint methods. This also uses a template in 
the path name
@@ -231,7 +232,7 @@ public class TestContainerPlugin extends SolrCloudTestCase {
 
     // just check if the plugin is indeed registered
     rsp = readPluginState.call();
-    assertEquals(C6.class.getName(), 
rsp._getStr("/plugin/clusterSingleton/class", null));
+    assertEquals(C6.class.getName(), 
rsp._getStr("/plugin/clusterSingleton/class"));
 
     assertTrue("ccProvided", C6.ccProvided);
     assertTrue("startCalled", C6.startCalled);
@@ -396,7 +397,7 @@ public class TestContainerPlugin extends SolrCloudTestCase {
     // Verify that the expected error is thrown and the plugin is not 
registered
     expectError(addPlugin, "invalid config");
     V2Response response = readPluginState.call();
-    assertNull(response._getStr("/plugin/validatableplugin/class", null));
+    assertNull(response._getStr("/plugin/validatableplugin/class"));
 
     // Now register it with a valid configuration
     config.willPassValidation = true;
@@ -406,7 +407,7 @@ public class TestContainerPlugin extends SolrCloudTestCase {
     response = readPluginState.call();
     assertEquals(
         ConfigurablePluginWithValidation.class.getName(),
-        response._getStr("/plugin/validatableplugin/class", null));
+        response._getStr("/plugin/validatableplugin/class"));
   }
 
   public static class CC1 extends CC {}
@@ -588,7 +589,7 @@ public class TestContainerPlugin extends SolrCloudTestCase {
       V2Request req, SolrClient client, String errPath, String expectErrorMsg) 
{
     RemoteExecutionException e =
         expectThrows(RemoteExecutionException.class, () -> 
req.process(client));
-    String msg = e.getMetaData()._getStr(errPath, "");
+    String msg = Objects.requireNonNullElse(e.getMetaData()._getStr(errPath), 
"");
     assertTrue(expectErrorMsg, msg.contains(expectErrorMsg));
   }
 }
diff --git 
a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
 
b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
index 7bd54f68c77..aa87cd3fdfd 100644
--- 
a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
+++ 
b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
@@ -212,7 +212,7 @@ public class TestReplicationHandlerDiskOverFlow extends 
SolrTestCaseJ4 {
                 .add("command", CMD_FETCH_INDEX)
                 .add("wait", "true"));
 
-    assertEquals("Replication command status", "OK", 
response._getStr("status", null));
+    assertEquals("Replication command status", "OK", 
response._getStr("status"));
 
     assertEquals(
         "threads encountered failures (see logs for when)",
@@ -233,7 +233,7 @@ public class TestReplicationHandlerDiskOverFlow extends 
SolrTestCaseJ4 {
     assertEquals(
         "follower's clearedLocalIndexFirst (from rep details)",
         "true",
-        response._getStr("details/follower/clearedLocalIndexFirst", null));
+        response._getStr("details/follower/clearedLocalIndexFirst"));
   }
 
   @SuppressWarnings("unchecked")
diff --git 
a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
 
b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
index 9823fb909ea..1147e483329 100644
--- 
a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
+++ 
b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerConcurrent.java
@@ -150,7 +150,7 @@ public class TestSolrConfigHandlerConcurrent extends 
AbstractFullDistribZkTestBa
         Thread.sleep(100);
         errmessages.clear();
         MapWriter respMap = getAsMap(url + "/config/overlay", cloudClient);
-        MapWriter m = (MapWriter) respMap._get("overlay/props", null);
+        MapWriter m = (MapWriter) respMap._get("overlay/props");
         if (m == null) {
           errmessages.add(
               StrUtils.formatString(
diff --git 
a/solr/core/src/test/org/apache/solr/handler/admin/LoggingHandlerTest.java 
b/solr/core/src/test/org/apache/solr/handler/admin/LoggingHandlerTest.java
index 736ad53c69a..0726bec92b4 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/LoggingHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/LoggingHandlerTest.java
@@ -104,7 +104,7 @@ public class LoggingHandlerTest extends SolrTestCaseJ4 {
 
     { // GET
       @SuppressWarnings({"unchecked"})
-      List<Map<String, Object>> loggers = (List<Map<String, Object>>) 
rsp._get("loggers", null);
+      List<Map<String, Object>> loggers = (List<Map<String, Object>>) 
rsp._get("loggers");
 
       // check expected log levels returned by handler
       assertLoggerLevel(loggers, PARENT_LOGGER_NAME, "DEBUG", true);
@@ -122,7 +122,7 @@ public class LoggingHandlerTest extends SolrTestCaseJ4 {
               new GenericSolrRequest(SolrRequest.METHOD.GET, 
"/admin/info/logging", mparams));
       @SuppressWarnings({"unchecked"})
       List<Map<String, Object>> updatedLoggerLevel =
-          (List<Map<String, Object>>) rsp._get("loggers", null);
+          (List<Map<String, Object>>) rsp._get("loggers");
 
       // check new log levels returned by handler
       assertLoggerLevel(updatedLoggerLevel, PARENT_LOGGER_NAME, "DEBUG", true);
@@ -153,7 +153,7 @@ public class LoggingHandlerTest extends SolrTestCaseJ4 {
 
       @SuppressWarnings({"unchecked"})
       List<Map<String, Object>> removedLoggerLevel =
-          (List<Map<String, Object>>) rsp._get("loggers", null);
+          (List<Map<String, Object>>) rsp._get("loggers");
 
       // check new log levels returned by handler
       assertLoggerLevel(removedLoggerLevel, PARENT_LOGGER_NAME, "DEBUG", true);
diff --git 
a/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java 
b/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java
index dffbdae399c..0bca48a204b 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java
@@ -121,15 +121,15 @@ public class MetricsHandlerTest extends SolrTestCaseJ4 {
     assertNotNull(o); // counter type
     assertTrue(o instanceof MapWriter);
     // response wasn't serialized, so we get here whatever MetricUtils 
produced instead of NamedList
-    assertNotNull(((MapWriter) o)._get("count", null));
-    assertEquals(0L, ((MapWriter) nl.get("SEARCHER.new.errors"))._get("count", 
null));
+    assertNotNull(((MapWriter) o)._get("count"));
+    assertEquals(0L, ((MapWriter) 
nl.get("SEARCHER.new.errors"))._get("count"));
     assertNotNull(nl.get("INDEX.segments")); // int gauge
-    assertTrue((int) ((MapWriter) nl.get("INDEX.segments"))._get("value", 
null) >= 0);
+    assertTrue((int) ((MapWriter) nl.get("INDEX.segments"))._get("value") >= 
0);
     assertNotNull(nl.get("INDEX.sizeInBytes")); // long gauge
-    assertTrue((long) ((MapWriter) nl.get("INDEX.sizeInBytes"))._get("value", 
null) >= 0);
+    assertTrue((long) ((MapWriter) nl.get("INDEX.sizeInBytes"))._get("value") 
>= 0);
     nl = (NamedList<?>) values.get("solr.node");
     assertNotNull(nl.get("CONTAINER.cores.loaded")); // int gauge
-    assertEquals(1, ((MapWriter) 
nl.get("CONTAINER.cores.loaded"))._get("value", null));
+    assertEquals(1, ((MapWriter) 
nl.get("CONTAINER.cores.loaded"))._get("value"));
     assertNotNull(nl.get("ADMIN./admin/authorization.clientErrors")); // timer 
type
     Map<String, Object> map = new HashMap<>();
     ((MapWriter) nl.get("ADMIN./admin/authorization.clientErrors")).toMap(map);
@@ -326,7 +326,7 @@ public class MetricsHandlerTest extends SolrTestCaseJ4 {
     assertEquals(1, values.size());
     MapWriter writer = (MapWriter) values.get("CACHE.core.fieldCache");
     assertNotNull(writer);
-    assertNotNull(writer._get("entries_count", null));
+    assertNotNull(writer._get("entries_count"));
 
     resp = new SolrQueryResponse();
     handler.handleRequestBody(
@@ -496,7 +496,7 @@ public class MetricsHandlerTest extends SolrTestCaseJ4 {
             MetricsHandler.KEY_PARAM,
             key2),
         resp);
-    val = resp.getValues()._get("metrics/" + key2, null);
+    val = resp.getValues()._get("metrics/" + key2);
     assertNotNull(val);
     assertTrue(val instanceof Number);
 
@@ -512,7 +512,7 @@ public class MetricsHandlerTest extends SolrTestCaseJ4 {
             key3),
         resp);
 
-    val = resp.getValues()._get("metrics/" + key3, null);
+    val = resp.getValues()._get("metrics/" + key3);
     assertNotNull(val);
     assertTrue(val instanceof Number);
     assertEquals(3, ((Number) val).intValue());
@@ -533,11 +533,11 @@ public class MetricsHandlerTest extends SolrTestCaseJ4 {
             key3),
         resp);
 
-    val = resp.getValues()._get("metrics/" + key1, null);
+    val = resp.getValues()._get("metrics/" + key1);
     assertNotNull(val);
-    val = resp.getValues()._get("metrics/" + key2, null);
+    val = resp.getValues()._get("metrics/" + key2);
     assertNotNull(val);
-    val = resp.getValues()._get("metrics/" + key3, null);
+    val = resp.getValues()._get("metrics/" + key3);
     assertNotNull(val);
 
     String key4 = "solr.core.collection1:QUERY./select.requestTimes:1minRate";
diff --git 
a/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java 
b/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java
index 229f5db7467..825d5bb1444 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java
@@ -110,9 +110,9 @@ public class TestApiFramework extends SolrTestCaseJ4 {
     SolrQueryResponse rsp = invoke(containerHandlers, null, 
"/collections/_introspect", mockCC);
 
     Set<String> methodNames = new HashSet<>();
-    methodNames.add(rsp.getValues()._getStr("/spec[0]/methods[0]", null));
-    methodNames.add(rsp.getValues()._getStr("/spec[1]/methods[0]", null));
-    methodNames.add(rsp.getValues()._getStr("/spec[2]/methods[0]", null));
+    methodNames.add(rsp.getValues()._getStr("/spec[0]/methods[0]"));
+    methodNames.add(rsp.getValues()._getStr("/spec[1]/methods[0]"));
+    methodNames.add(rsp.getValues()._getStr("/spec[2]/methods[0]"));
     assertTrue(methodNames.contains("POST"));
 
     methodNames = new HashSet<>();
@@ -134,13 +134,13 @@ public class TestApiFramework extends SolrTestCaseJ4 {
 
     ValidatingJsonMap spec = apis.get(0).getSpec();
 
-    assertEquals("POST", spec._getStr("/methods[0]", null));
-    assertEquals("POST", spec._getStr("/methods[0]", null));
-    assertEquals("/cluster/package", spec._getStr("/url/paths[0]", null));
-    assertEquals("string", 
spec._getStr("/commands/add/properties/package/type", null));
-    assertEquals("array", spec._getStr("/commands/add/properties/files/type", 
null));
-    assertEquals("string", 
spec._getStr("/commands/add/properties/files/items/type", null));
-    assertEquals("string", spec._getStr("/commands/delete/items/type", null));
+    assertEquals("POST", spec._getStr("/methods[0]"));
+    assertEquals("POST", spec._getStr("/methods[0]"));
+    assertEquals("/cluster/package", spec._getStr("/url/paths[0]"));
+    assertEquals("string", 
spec._getStr("/commands/add/properties/package/type"));
+    assertEquals("array", spec._getStr("/commands/add/properties/files/type"));
+    assertEquals("string", 
spec._getStr("/commands/add/properties/files/items/type"));
+    assertEquals("string", spec._getStr("/commands/delete/items/type"));
     SolrQueryResponse rsp =
         v2ApiInvoke(
             apiBag,
@@ -166,8 +166,8 @@ public class TestApiFramework extends SolrTestCaseJ4 {
             new ByteArrayInputStream(
                 "{\"package\":\"mypkg\", \"version\": \"1.0\", \"files\" : 
[\"a.jar\", \"b.jar\"]}"
                     .getBytes(UTF_8)));
-    assertEquals("mypkg", rsp.getValues()._getStr("payload/package", null));
-    assertEquals("1.0", rsp.getValues()._getStr("payload/version", null));
+    assertEquals("mypkg", rsp.getValues()._getStr("payload/package"));
+    assertEquals("1.0", rsp.getValues()._getStr("payload/version"));
   }
 
   public static class C {
diff --git 
a/solr/core/src/test/org/apache/solr/handler/admin/ThreadDumpHandlerTest.java 
b/solr/core/src/test/org/apache/solr/handler/admin/ThreadDumpHandlerTest.java
index 703bb18bb65..14ee85e3a3d 100644
--- 
a/solr/core/src/test/org/apache/solr/handler/admin/ThreadDumpHandlerTest.java
+++ 
b/solr/core/src/test/org/apache/solr/handler/admin/ThreadDumpHandlerTest.java
@@ -21,6 +21,7 @@ import java.lang.management.ManagementFactory;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.locks.ReentrantLock;
@@ -120,8 +121,7 @@ public class ThreadDumpHandlerTest extends SolrTestCaseJ4 {
             assertNotNull(monitorOwnerThreadInfo);
             assertTrue(
                 "Thread monitor ownerT: ",
-                monitorOwnerThreadInfo
-                    ._getStr("monitors-locked", "")
+                
Objects.requireNonNullElse(monitorOwnerThreadInfo._getStr("monitors-locked"), 
"")
                     .contains("TestMonitorStruct"));
           });
 
@@ -148,8 +148,8 @@ public class ThreadDumpHandlerTest extends SolrTestCaseJ4 {
                 assertNotNull(monitorOwnerThreadInfo);
                 assertTrue(
                     "Same thread ownerT: ",
-                    monitorOwnerThreadInfo
-                        ._getStr("monitors-locked", "")
+                    Objects.requireNonNullElse(
+                            monitorOwnerThreadInfo._getStr("monitors-locked"), 
"")
                         .contains("TestMonitorStruct"));
 
                 // blocked thread 'blockedT', waiting on the monitor
@@ -158,9 +158,9 @@ public class ThreadDumpHandlerTest extends SolrTestCaseJ4 {
                 assertNotNull(blockedThreadInfo);
                 assertTrue(
                     "blocked thread blockedT waiting on the monitor: ",
-                    blockedThreadInfo._getStr("state", "").contains("BLOCKED")
-                        && blockedThreadInfo
-                            ._getStr("lock-waiting", "")
+                    
Objects.requireNonNullElse(blockedThreadInfo._getStr("state"), "")
+                            .contains("BLOCKED")
+                        && 
Objects.requireNonNullElse(blockedThreadInfo._getStr("lock-waiting"), "")
                             .contains("test-thread-monitor-owner"));
               });
         }
@@ -249,7 +249,8 @@ public class ThreadDumpHandlerTest extends SolrTestCaseJ4 {
             assertNotNull(lockOwnerThreadInfo);
             assertTrue(
                 "Thread lock:",
-                lockOwnerThreadInfo._getStr("synchronizers-locked", 
"").contains("ReentrantLock"));
+                
Objects.requireNonNullElse(lockOwnerThreadInfo._getStr("synchronizers-locked"), 
"")
+                    .contains("ReentrantLock"));
           });
 
       if (checkWaitingThreadViaPolling) {
@@ -275,8 +276,8 @@ public class ThreadDumpHandlerTest extends SolrTestCaseJ4 {
                 assertNotNull(lockOwnerThreadInfo);
                 assertTrue(
                     "Thread locked: ",
-                    lockOwnerThreadInfo
-                        ._getStr("synchronizers-locked", "")
+                    Objects.requireNonNullElse(
+                            
lockOwnerThreadInfo._getStr("synchronizers-locked"), "")
                         .contains("ReentrantLock"));
 
                 // blocked thread 'blockedT', waiting on the lock
@@ -285,9 +286,9 @@ public class ThreadDumpHandlerTest extends SolrTestCaseJ4 {
                 assertNotNull(blockedThreadInfo);
                 assertTrue(
                     "Waiting on the lock: ",
-                    blockedThreadInfo._getStr("state", "").contains("WAITING")
-                        && blockedThreadInfo
-                            ._getStr("lock-waiting", "")
+                    
Objects.requireNonNullElse(blockedThreadInfo._getStr("state"), "")
+                            .contains("WAITING")
+                        && 
Objects.requireNonNullElse(blockedThreadInfo._getStr("lock-waiting"), "")
                             .contains("test-thread-sync-lock-owner"));
               });
         }
@@ -313,10 +314,9 @@ public class ThreadDumpHandlerTest extends SolrTestCaseJ4 {
   }
 
   private NamedList<?> getThreadInfo(NamedList<?> rsp, String threadName) {
-    for (Map.Entry<String, ?> threadInfoEntry :
-        (NamedList<?>) rsp._get("system/threadDump", null)) {
+    for (Map.Entry<String, ?> threadInfoEntry : (NamedList<?>) 
rsp._get("system/threadDump")) {
       NamedList<?> thread = (NamedList<?>) threadInfoEntry.getValue();
-      if (thread._getStr("name", "").contains(threadName)) {
+      if (Objects.requireNonNullElse(thread._getStr("name"), 
"").contains(threadName)) {
         return thread;
       }
     }
diff --git 
a/solr/core/src/test/org/apache/solr/handler/designer/TestSchemaDesignerAPI.java
 
b/solr/core/src/test/org/apache/solr/handler/designer/TestSchemaDesignerAPI.java
index 6d71c978fbc..893ad0f16ec 100644
--- 
a/solr/core/src/test/org/apache/solr/handler/designer/TestSchemaDesignerAPI.java
+++ 
b/solr/core/src/test/org/apache/solr/handler/designer/TestSchemaDesignerAPI.java
@@ -317,7 +317,7 @@ public class TestSchemaDesignerAPI extends 
SolrCloudTestCase implements SchemaDe
     assertNotNull(docIds);
     assertEquals(100, docIds.size()); // designer limits the doc ids to top 100
 
-    String idField = rsp.getValues()._getStr(UNIQUE_KEY_FIELD_PARAM, null);
+    String idField = rsp.getValues()._getStr(UNIQUE_KEY_FIELD_PARAM);
     assertNotNull(idField);
   }
 
@@ -368,7 +368,7 @@ public class TestSchemaDesignerAPI extends 
SolrCloudTestCase implements SchemaDe
     assertNotNull(rsp.getValues().get("fields"));
     assertNotNull(rsp.getValues().get("fieldTypes"));
     assertNotNull(rsp.getValues().get("docIds"));
-    String idField = rsp.getValues()._getStr(UNIQUE_KEY_FIELD_PARAM, null);
+    String idField = rsp.getValues()._getStr(UNIQUE_KEY_FIELD_PARAM);
     assertNotNull(idField);
     assertDesignerSettings(expSettings, rsp.getValues());
 
diff --git a/solr/core/src/test/org/apache/solr/pkg/TestPackages.java 
b/solr/core/src/test/org/apache/solr/pkg/TestPackages.java
index 78de0ee5199..b295b68f332 100644
--- a/solr/core/src/test/org/apache/solr/pkg/TestPackages.java
+++ b/solr/core/src/test/org/apache/solr/pkg/TestPackages.java
@@ -33,6 +33,7 @@ import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.Callable;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
@@ -879,7 +880,7 @@ public class TestPackages extends SolrCloudTestCase {
       req.process(client);
       fail("should have failed with message : " + expectErrorMsg);
     } catch (BaseHttpSolrClient.RemoteExecutionException e) {
-      String msg = e.getMetaData()._getStr(errPath, "");
+      String msg = 
Objects.requireNonNullElse(e.getMetaData()._getStr(errPath), "");
       assertTrue(
           "should have failed with message: " + expectErrorMsg + "actual 
message : " + msg,
           msg.contains(expectErrorMsg));
diff --git a/solr/core/src/test/org/apache/solr/util/stats/MetricUtilsTest.java 
b/solr/core/src/test/org/apache/solr/util/stats/MetricUtilsTest.java
index a7f0838c05c..df6f8c991e9 100644
--- a/solr/core/src/test/org/apache/solr/util/stats/MetricUtilsTest.java
+++ b/solr/core/src/test/org/apache/solr/util/stats/MetricUtilsTest.java
@@ -245,7 +245,7 @@ public class MetricUtilsTest extends SolrTestCaseJ4 {
             assertTrue(o instanceof MapWriter);
             MapWriter writer = (MapWriter) o;
             assertEquals(1, writer._size());
-            assertEquals("bar", writer._get("foo", null));
+            assertEquals("bar", writer._get("foo"));
           } else {
             assertTrue(o instanceof MapWriter);
             Map<String, Object> v = new HashMap<>();
diff --git 
a/solr/modules/cross-dc/src/java/org/apache/solr/crossdc/update/processor/MirroringUpdateRequestProcessorFactory.java
 
b/solr/modules/cross-dc/src/java/org/apache/solr/crossdc/update/processor/MirroringUpdateRequestProcessorFactory.java
index 369d00d8b59..c4329b776f7 100644
--- 
a/solr/modules/cross-dc/src/java/org/apache/solr/crossdc/update/processor/MirroringUpdateRequestProcessorFactory.java
+++ 
b/solr/modules/cross-dc/src/java/org/apache/solr/crossdc/update/processor/MirroringUpdateRequestProcessorFactory.java
@@ -106,7 +106,7 @@ public class MirroringUpdateRequestProcessorFactory extends 
UpdateRequestProcess
       this.enabled = false;
     }
     for (ConfigProperty configKey : KafkaCrossDcConf.CONFIG_PROPERTIES) {
-      String val = args._getStr(configKey.getKey(), null);
+      String val = args._getStr(configKey.getKey());
       if (val != null && !val.isBlank()) {
         properties.put(configKey.getKey(), val);
       }
diff --git 
a/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/NodesSysPropsCacher.java
 
b/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/NodesSysPropsCacher.java
index 575c9edcf2a..35d6829f7cb 100644
--- 
a/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/NodesSysPropsCacher.java
+++ 
b/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/NodesSysPropsCacher.java
@@ -91,8 +91,8 @@ public class NodesSysPropsCacher implements NodesSysProps, 
AutoCloseable {
           solrClient
               
.requestWithBaseUrl(zkStateReader.getBaseUrlForNodeName(nodeName), null, req)
               .getResponse();
-      var metrics = NavigableObject.wrap(response._get("metrics", null));
-      keys.forEach((tag, key) -> result.put(tag, metrics._get(key, null)));
+      var metrics = NavigableObject.wrap(response._get("metrics"));
+      keys.forEach((tag, key) -> result.put(tag, metrics._get(key)));
       return result;
     } catch (Exception e) {
       throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
diff --git 
a/solr/solrj/src/java/org/apache/solr/common/LinkedHashMapWriter.java 
b/solr/solrj/src/java/org/apache/solr/common/LinkedHashMapWriter.java
index 613720f1142..57edf04c5b9 100644
--- a/solr/solrj/src/java/org/apache/solr/common/LinkedHashMapWriter.java
+++ b/solr/solrj/src/java/org/apache/solr/common/LinkedHashMapWriter.java
@@ -45,9 +45,9 @@ public class LinkedHashMapWriter<V> extends 
LinkedHashMap<String, V> implements
 
   @Override
   @SuppressWarnings({"unchecked"})
-  public Object _get(String path, Object def) {
-    if (path.indexOf('/') == -1) return getOrDefault(path, (V) def);
-    return MapWriter.super._get(path, def);
+  public Object _get(String path) {
+    if (path.indexOf('/') == -1) return get(path);
+    return MapWriter.super._get(path);
   }
 
   @Override
diff --git a/solr/solrj/src/java/org/apache/solr/common/MapWriterMap.java 
b/solr/solrj/src/java/org/apache/solr/common/MapWriterMap.java
index e8528bfd51b..44385d849f5 100644
--- a/solr/solrj/src/java/org/apache/solr/common/MapWriterMap.java
+++ b/solr/solrj/src/java/org/apache/solr/common/MapWriterMap.java
@@ -35,9 +35,9 @@ public class MapWriterMap implements MapWriter {
   }
 
   @Override
-  public Object _get(String path, Object def) {
-    if (path.indexOf('/') == -1) return delegate.getOrDefault(path, def);
-    return MapWriter.super._get(path, def);
+  public Object _get(String path) {
+    if (path.indexOf('/') == -1) return delegate.get(path);
+    return MapWriter.super._get(path);
   }
 
   @Override
diff --git a/solr/solrj/src/java/org/apache/solr/common/NavigableObject.java 
b/solr/solrj/src/java/org/apache/solr/common/NavigableObject.java
index 492ec9c14c6..f1c51a714cc 100644
--- a/solr/solrj/src/java/org/apache/solr/common/NavigableObject.java
+++ b/solr/solrj/src/java/org/apache/solr/common/NavigableObject.java
@@ -34,11 +34,16 @@ public interface NavigableObject {
    * list of strings where performance is important
    *
    * @param path the full path to that object such as a/b/c[4]/d etc
-   * @param def the default
    * @return the found value or default
    */
-  default Object _get(String path, Object def) {
+  default Object _get(String path) {
     Object v = Utils.getObjectByPath(this, false, path);
+    return v;
+  }
+
+  @Deprecated
+  default Object _get(String path, Object def) {
+    Object v = _get(path);
     return v == null ? def : v;
   }
 
@@ -46,11 +51,17 @@ public interface NavigableObject {
    * get the value as a String. useful in tests
    *
    * @param path the full path
-   * @param def default value
    */
-  default String _getStr(String path, String def) {
+  default String _getStr(String path) {
     Object v = Utils.getObjectByPath(this, false, path);
-    return v == null ? def : String.valueOf(v);
+    if (v == null) return null;
+    return String.valueOf(v);
+  }
+
+  @Deprecated
+  default String _getStr(String path, String def) {
+    String v = _getStr(path);
+    return v == null ? def : v;
   }
 
   /**
diff --git 
a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestV2Request.java 
b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestV2Request.java
index bec4705eb1e..faff53b15b6 100644
--- 
a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestV2Request.java
+++ 
b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestV2Request.java
@@ -54,7 +54,7 @@ public class TestV2Request extends SolrCloudTestCase {
             .withMethod(SolrRequest.METHOD.GET)
             .build()
             .process(cluster.getSolrClient());
-    List<?> l = (List<?>) rsp._get("nodes", null);
+    List<?> l = (List<?>) rsp._get("nodes");
     assertNotNull(l);
     assertFalse(l.isEmpty());
   }
@@ -164,7 +164,7 @@ public class TestV2Request extends SolrCloudTestCase {
 
     try (SolrClient client1 = new 
HttpSolrClient.Builder().withBaseSolrUrl(testServer).build()) {
       V2Response rsp = v2r.process(client1);
-      assertEquals("0", rsp._getStr("responseHeader/status", null));
+      assertEquals("0", rsp._getStr("responseHeader/status"));
     }
   }
 }
diff --git 
a/solr/solrj/src/test/org/apache/solr/common/cloud/PerReplicaStatesIntegrationTest.java
 
b/solr/solrj/src/test/org/apache/solr/common/cloud/PerReplicaStatesIntegrationTest.java
index ae76aad6a24..de1bd96ff98 100644
--- 
a/solr/solrj/src/test/org/apache/solr/common/cloud/PerReplicaStatesIntegrationTest.java
+++ 
b/solr/solrj/src/test/org/apache/solr/common/cloud/PerReplicaStatesIntegrationTest.java
@@ -198,8 +198,7 @@ public class PerReplicaStatesIntegrationTest extends 
SolrCloudTestCase {
         assertEquals(
             "active",
             rsp._get(
-                
"cluster/collections/prs_restart_test/shards/shard1/replicas/core_node2/state",
-                null));
+                
"cluster/collections/prs_restart_test/shards/shard1/replicas/core_node2/state"));
         assertNull(
             rsp._get(
                 
"cluster/collections/prs_restart_test/shards/shard1/replicas/core_node4/leader",
@@ -207,8 +206,7 @@ public class PerReplicaStatesIntegrationTest extends 
SolrCloudTestCase {
         assertEquals(
             "down",
             rsp._get(
-                
"cluster/collections/prs_restart_test/shards/shard1/replicas/core_node4/state",
-                null));
+                
"cluster/collections/prs_restart_test/shards/shard1/replicas/core_node4/state"));
 
         jsr.start();
         cluster.waitForActiveCollection(testCollection, 1, 2);
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java 
b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
index 6578a8dc537..bdb2cff914b 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
@@ -1920,9 +1920,9 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase 
{
     values.forEach(
         (s, o) -> {
           if (o instanceof String) {
-            assertEquals(o, rsp.getResponse()._getStr(s, null));
+            assertEquals(o, rsp.getResponse()._getStr(s));
           } else {
-            assertEquals(o, rsp.getResponse()._get(s, null));
+            assertEquals(o, rsp.getResponse()._get(s));
           }
         });
   }
diff --git 
a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java
 
b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java
index 79a5f59d12f..1d7276a2e22 100644
--- 
a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java
+++ 
b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractIncrementalBackupTest.java
@@ -298,14 +298,14 @@ public abstract class AbstractIncrementalBackupTest 
extends SolrCloudTestCase {
               .setRepositoryName(BACKUP_REPO_NAME)
               .setLocation(backupLocation)
               .process(cluster.getSolrClient());
-      assertEquals(1, resp.getResponse()._get("deleted[0]/backupId", null));
+      assertEquals(1, resp.getResponse()._get("deleted[0]/backupId"));
 
       resp =
           CollectionAdminRequest.deleteBackupById(backupName, 3)
               .setRepositoryName(BACKUP_REPO_NAME)
               .setLocation(backupLocation)
               .process(cluster.getSolrClient());
-      assertEquals(3, resp.getResponse()._get("deleted[0]/backupId", null));
+      assertEquals(3, resp.getResponse()._get("deleted[0]/backupId"));
 
       simpleRestoreAndCheckDocCount(solrClient, backupLocation, backupName);
 


Reply via email to