Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-15781 Make v2 APIs more REST-ful and migrate to JAX-RS
  3. SOLR-16458

Cosmetic improvements and migration to JAX-RS ("node" APIs)



    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 9.1, main (10.0)
    • None
    • v2 API


      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, 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 Open N/A
      Update Log Level GET /api/node/logging?set=className:WARN PUT /api/node/logging/levels {"className": "WARN"} Open N/A
      Retrieve Log Messages GET /api/node/logging?since=123456789 GET /api/node/logging/messages?since=123456789 Open N/A
      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


        Issue Links



              Unassigned Unassigned
              gerlowskija Jason Gerlowski
              0 Vote for this issue
              1 Start watching this issue



                Time Tracking

                  Original Estimate - Not Specified
                  Not Specified
                  Remaining Estimate - 0h
                  Time Spent - 20m