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

ZkStateReader.readConfigName is doing too much work

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 8.6
    • None
    • None

    Description

      ZkStateReader.readConfigName reads the configSet name given a collection name parameter. Simple. It's doing too much work to do this though. First it's calling zkClient.exists() which is redundant given that we then call getData will will detect if it doesn't exist. Then we validate that the config path exists. But I don't think that should be verified on read, only on write. This method is a hotspot for nodes with lots of cores, proven out with profiling.

      Ideally the configSet name ought to be moved to state.json which is where all the other collection metadata is and is thus already read by most spots that want to read the configSet name. That would speed things up further and generally simplify things as well. That can happen on a follow-on issue, I think.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            dsmiley David Smiley
            dsmiley David Smiley
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0h
              0h
              Logged:
              Time Spent - 50m
              50m

              Slack

                Issue deployment