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

Make SchemaRegistryProvider pluggable in HttpClientUtil

    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

          Issue Links

            Activity

              People

              • Assignee:
                dsmiley David Smiley
                Reporter:
                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