[
https://issues.apache.org/jira/browse/SOLR-16458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jason Gerlowski updated SOLR-16458:
-----------------------------------
Description:
As mentioned on SOLR-15781, the v2 API currently has an experimental
designation, and the community has expressed an interest in using this period
to update our v2 endpoints to be more REST-ful and consistent. The current
plan is to follow the specific changes laid out in [this
spreadsheet|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing],
though of course nothing there is set in stone and there are still warts to be
worked out.
While we're touching the code for these endpoints, we should also convert them
to JAX-RS framework definitions. (This was initially tracked as a separate
effort - see SOLR-16370 - but the edit that were required ended up overlapping
so significantly with the "cosmetic" improvements here that in practice it
almost always makes sense to do the two together.)
This ticket plans to tackle making the changes required for Solr's "node" APIs:
those commands or actions that (primarily) affect the receiving node only such
as log-level changes, setting and removing node roles, etc. These are
described in detail in the spreadsheet linked above, but summarized in the
table below for convenience and ease of tracking.
*Cosmetic Changes and JAX-RS Conversion*
||API Name||Original Form||Desired Form||Status||Volunteer||
|-List Log Levels-|-GET /api/node/logging-|–GET
/api/node/logging/levels–|-Finished-|-Calvince Otieno-|
|-Update Log Level-|-GET /api/node/logging?set=className:WARN-|-PUT
/api/node/logging/levels-|-In Progress-|-Calvince Otieno-|
|-Retrieve Log Messages-|-GET /api/node/logging?since=123456789-|-GET
/api/node/logging/messages?since=123456789-|-Finished-|-Calvince Otieno-|
|-Update LogWatcher Threshold-|-GET /api/node/logging?threshold=WARN-|-PUT
/api/node/logging/messages/threshold-|-Finished-|-Calvince Otieno-|
|Add Role to Node|POST /api/cluster \{"add-role": \{...\}\}|PUT
/api/nodes/nodeName/roles/roleName|Open|N/A|
|Remove Role from Node|POST /api/cluster \{"remove-role": \{...\}\}|DELETE
/api/nodes/nodeName/roles/roleName|Open|N/A|
*JAX-RS Conversion Only*
||API Name||Endpoint||Status||Volunteer||
|List Threads on Node|GET /api/node/threads|Open|N/A|
Some helpful links related to these changes these changes. Should help get any
interested newcomers started!
* For detailed information on Solr's current and desired v2 APIs see the
spreadsheet
[here|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing]
* [Discussion of how APIs work in Solr
(video)|https://www.youtube.com/watch?v=iIpvfXBjDog]
* [Step-by-step guide to creating
APIs|https://issues.apache.org/jira/browse/SOLR-15737?focusedCommentId=17617923&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17617923]
using the JAX-RS v2 API framework
* [Example PR for a similar change|https://github.com/apache/solr/pull/1679]
was:
As mentioned on SOLR-15781, the v2 API currently has an experimental
designation, and the community has expressed an interest in using this period
to update our v2 endpoints to be more REST-ful and consistent. The current
plan is to follow the specific changes laid out in [this
spreadsheet|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing],
though of course nothing there is set in stone and there are still warts to be
worked out.
While we're touching the code for these endpoints, we should also convert them
to JAX-RS framework definitions. (This was initially tracked as a separate
effort - see SOLR-16370 - but the edit that were required ended up overlapping
so significantly with the "cosmetic" improvements here that in practice it
almost always makes sense to do the two together.)
This ticket plans to tackle making the changes required for Solr's "node" APIs:
those commands or actions that (primarily) affect the receiving node only such
as log-level changes, setting and removing node roles, etc. These are
described in detail in the spreadsheet linked above, but summarized in the
table below for convenience and ease of tracking.
*Cosmetic Changes and JAX-RS Conversion*
||API Name||Original Form||Desired Form||Status||Volunteer||
|-List Log Levels-|-GET /api/node/logging-|–GET
/api/node/logging/levels–|-Finished-|-Calvince Otieno-|
|-Update Log Level-|-GET /api/node/logging?set=className:WARN-|-PUT
/api/node/logging/levels-|-In Progress-|-Calvince Otieno-|
|-Retrieve Log Messages-|-GET /api/node/logging?since=123456789-|-GET
/api/node/logging/messages?since=123456789-|-Finished-|-Calvince Otieno-|
|-Update LogWatcher Threshold-|-GET /api/node/logging?threshold=WARN-|-PUT
/api/node/logging/messages/threshold-|-Finished-|-Calvince Otieno-|
|Add Role to Node|POST /api/cluster \{"add-role": \{...\}\}|PUT
/api/nodes/nodeName/roles/roleName|Open|N/A|
|Remove Role from Node|POST /api/cluster \{"remove-role": \{...\}\}|DELETE
/api/nodes/nodeName/roles/roleName|Open|N/A|
*JAX-RS Conversion Only*
||API Name||Endpoint||Status||Volunteer||
|List Threads on Node|GET /api/node/threads|Open|N/A|
> Cosmetic improvements and migration to JAX-RS ("node" APIs)
> -----------------------------------------------------------
>
> Key: SOLR-16458
> URL: https://issues.apache.org/jira/browse/SOLR-16458
> Project: Solr
> Issue Type: Sub-task
> Components: v2 API
> Affects Versions: 9.1, main (10.0)
> Reporter: Jason Gerlowski
> Priority: Major
> Labels: newdev
> Time Spent: 50m
> Remaining Estimate: 0h
>
> As mentioned on SOLR-15781, the v2 API currently has an experimental
> designation, and the community has expressed an interest in using this period
> to update our v2 endpoints to be more REST-ful and consistent. The current
> plan is to follow the specific changes laid out in [this
> spreadsheet|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing],
> though of course nothing there is set in stone and there are still warts to
> be worked out.
> While we're touching the code for these endpoints, we should also convert
> them to JAX-RS framework definitions. (This was initially tracked as a
> separate effort - see SOLR-16370 - but the edit that were required ended up
> overlapping so significantly with the "cosmetic" improvements here that in
> practice it almost always makes sense to do the two together.)
> This ticket plans to tackle making the changes required for Solr's "node"
> APIs: those commands or actions that (primarily) affect the receiving node
> only such as log-level changes, setting and removing node roles, etc. These
> are described in detail in the spreadsheet linked above, but summarized in
> the table below for convenience and ease of tracking.
> *Cosmetic Changes and JAX-RS Conversion*
> ||API Name||Original Form||Desired Form||Status||Volunteer||
> |-List Log Levels-|-GET /api/node/logging-|–GET
> /api/node/logging/levels–|-Finished-|-Calvince Otieno-|
> |-Update Log Level-|-GET /api/node/logging?set=className:WARN-|-PUT
> /api/node/logging/levels-|-In Progress-|-Calvince Otieno-|
> |-Retrieve Log Messages-|-GET /api/node/logging?since=123456789-|-GET
> /api/node/logging/messages?since=123456789-|-Finished-|-Calvince Otieno-|
> |-Update LogWatcher Threshold-|-GET /api/node/logging?threshold=WARN-|-PUT
> /api/node/logging/messages/threshold-|-Finished-|-Calvince Otieno-|
> |Add Role to Node|POST /api/cluster \{"add-role": \{...\}\}|PUT
> /api/nodes/nodeName/roles/roleName|Open|N/A|
> |Remove Role from Node|POST /api/cluster \{"remove-role": \{...\}\}|DELETE
> /api/nodes/nodeName/roles/roleName|Open|N/A|
> *JAX-RS Conversion Only*
> ||API Name||Endpoint||Status||Volunteer||
> |List Threads on Node|GET /api/node/threads|Open|N/A|
> Some helpful links related to these changes these changes. Should help get
> any interested newcomers started!
> * For detailed information on Solr's current and desired v2 APIs see the
> spreadsheet
> [here|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing]
> * [Discussion of how APIs work in Solr
> (video)|https://www.youtube.com/watch?v=iIpvfXBjDog]
> * [Step-by-step guide to creating
> APIs|https://issues.apache.org/jira/browse/SOLR-15737?focusedCommentId=17617923&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17617923]
> using the JAX-RS v2 API framework
> * [Example PR for a similar change|https://github.com/apache/solr/pull/1679]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]