Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-5091

Clean up Servlets APIs, Kill SolrDispatchFilter, simplify API creation

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 6.0
    • Component/s: None
    • Labels:
      None

      Description

      This is an issue to track a series of sub issues related to deprecated and crufty Servlet/REST API code. I'll create sub-tasks to manage them.

      1. Clean up all the old UI stuff (old redirects)
      2. Kill/Simplify SolrDispatchFilter – for instance, why not make the user always have a core name in 5.0? i.e. /collection1 is the default core
        1. I'd like to move to just using Guice's servlet extension to do this, which, I think will also make it easier to run Solr in other containers (i.e. non-servlet environments) due to the fact that you don't have to tie the request handling logic specifically to a Servlet.
      3. Simplify the creation and testing of REST and other APIs via Guice + Restlet, which I've done on a number of occasions.
        1. It might be also possible to move all of the APIs onto Restlet and maintain back compat through a simple restlet proxy (still exploring this). This would also have the benefit of abstracting the core request processing out of the Servlet context and make that an implementation detail.
        2. Moving to Guice, IMO, will make it easier to isolate and test individual components by being able to inject mocks easier.

      I am close to a working patch for some of this. I will post incremental updates/issues as I move forward on this, but I think we should take 5.x as an opportunity to be more agnostic of container and I believe the approach I have in mind will do so.

        Attachments

        1. SOLR-5091.patch
          180 kB
          Grant Ingersoll

          Issue Links

            Activity

              People

              • Assignee:
                gsingers Grant Ingersoll
                Reporter:
                gsingers Grant Ingersoll
              • Votes:
                2 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated: