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

Make SchemaRegistryProvider pluggable in HttpClientUtil

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 8.6
    • SolrJ
    • 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

        Issue Links

          Activity

            People

              dsmiley David Smiley
              athrog Andy Throgmorton
              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 - 1h
                  1h