Nick Shanin created SOLR-18549:
----------------------------------

             Summary: Standalone node throws NPE for nodes or node parameters 
in proxy-capable admin endpoints
                 Key: SOLR-18549
                 URL: https://issues.apache.org/jira/browse/SOLR-18549
             Project: Solr
          Issue Type: Bug
            Reporter: Nick Shanin


🤖 _AI text below_ 🤖 _(posted on behalf of Nick Shanin)_

Related: SOLR-18317 (the Admin UI half of the same report), SOLR-15823 (open; 
V2 logging broadcast).

  The \{{nodes}} and \{{node}} parameters on a standalone node (not running in 
SolrCloud) fail with a
  NullPointerException, or with a 500 error that wraps one, in four endpoints:
  * \{{/admin/info/logging}} (v1), for reads and for \{{set}}
  * \{{/admin/info/system}} (v1)
  * \{{/api/node/system}} (v2)
  * \{{/admin/metrics}} (v1), with \{{node}}
  The \{{nodes}} and \{{node}} parameters on a standalone node (not running in 
SolrCloud) fail with a NullPointerException, or with a 500 error that
  wraps one, in four endpoints:
  * \{{/admin/info/logging}} (v1), for reads and for \{{set}}
  * \{{/admin/info/system}} (v1)
  * \{{/api/node/system}} (v2)
  * \{{/admin/metrics}} (v1), with \{{node}}

  For example, \{{GET /solr/admin/info/logging?nodes=all}} fails. A \{{set}} 
request with \{{nodes=all}} applies the level change on the node and then
  fails the same way. The shared proxy code 
(RemoteRequestProxy.validateNodeNames and GenericV1RequestProxy.shouldProxy) 
reads the ZooKeeper
  controller without checking that one exists. The Admin UI no longer sends 
\{{nodes=all}} in standalone mode, but other clients, older UIs and
  direct calls still get the error.

  Expected behavior:
  * \{{/admin/info/logging}}, \{{/admin/info/system}} and 
\{{/api/node/system}}: \{{nodes=all}} is answered by the node itself. Other 
\{{nodes}} values
  return 400 with a message that the parameter requires SolrCloud mode.
  * \{{/admin/metrics}}: \{{node=all}} and explicit node names return 400 with 
the same kind of message.

  Outside this ticket: the V2 logging endpoint (\{{/api/node/logging/levels}}). 
SOLR-15823 gives it a 400 for \{{nodes}} in standalone mode. Open
  question: should the V2 logging endpoint answer \{{nodes=all}} locally too, 
for consistency with v1? This ticket does not decide it.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to