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

Solr Overseer Task Management Improvements



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


      Capturing some comments/ideas from SOLR-7789 so we don't forget them:

      • Can we simplify the OverseerMessageSelector? There is currently only one implementation of the interface. Perhaps we can just get rid of the interface
      • The processor state is not exposed in a handler-specific way. That is, there is now a CollectionQueue and a ConfigSetQueue (though they are the same under the covers), but only a single running map, failure map, completed map. This should probably be combined under a single state object, which would simplify the OverseerTaskProcessor constructor. Then, we can expose the single state objects for each queue in ZkController.
      • The DistributedTaskQueue / OverseerTaskQueue interface is bytes[] based, even though in every case, JSON is passed in. We should just make the insertion interface JSON based – this would also allow us to do transformations on insertion because we understand the structure,e.g. an OverseerConfigSetQueue could automatically prefix the action with "configsets:" so we don't expose how the overseer is doing the dispatch under the covers.
      • Perhaps we should separate the queue implementation into insertion-only and insertion/removal. It probably doesn't make sense for the CollectionsHandler / ConfigSetsHandler to be able to remove things from the queue.


          Issue Links



              • Assignee:
                gchanan Gregory Chanan
              • Votes:
                1 Vote for this issue
                1 Start watching this issue


                • Created: