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

Clean up Servlets APIs, Kill SolrDispatchFilter, simplify API creation



    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • 6.0
    • None
    • None


      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.


        1. SOLR-5091.patch
          180 kB
          Grant Ingersoll

        Issue Links



              gsingers Grant Ingersoll
              gsingers Grant Ingersoll
              2 Vote for this issue
              10 Start watching this issue