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

Make SchemaRegistryProvider pluggable in HttpClientUtil

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

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 8.6
    • Component/s: SolrJ
    • Labels:
      None

      Description

      HttpClientUtil.java defines and uses an abstract SchemaRegistryProvider for mapping a protocol to an Apache ConnectionSocketFactory. There is only one implementation of this abstract class (outside of test cases). Currently, it is not override-able at runtime.

      This PR adds the ability to override the registry provider at runtime, using the class name value provided by "solr.httpclient.socketFactory.registry.provider", similar to how this class allows for choosing the HttpClientBuilderFactory at runtime.  And SchemaRegistryProvider is renamed to SocketFactoryRegistryProvider.

      We've implemented a custom mTLS solution in Solr (which uses a custom SSL context). This change helps us more easily configure Solr in a modular way, since we've implemented a custom SocketFactoryRegistryProvider that configures Apache clients to use our SSL context.

        Attachments

          Activity

            People

            • Assignee:
              dsmiley David Smiley
              Reporter:
              athrog Andy Throgmorton

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

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

                  Issue deployment