For some reasons, the "Expect: 100-continue" header will not be set, even though it's configured in HttpClient: builder.setDefaultRequestConfig(RequestConfig.custom().setExpectContinueEnabled(true).build());
A HttpClient developer has reviewed the code and says we're setting up the client correctly, so I have a reason to believe there is a bug in SolrJ. It's actually a problem we are facing in ManifoldCF, explained in: https://issues.apache.org/jira/browse/CONNECTORS-1564 I have created a small application which can build by Maven in order to test it. It logs the http traffic to missing-header.log. The application also adds another header which *does* show up in the app log: builder.setDefaultHeaders(Arrays.asList(new BasicHeader("X-Default-Header", "default header"))); DEBUG 01.02.2019 13:14:59:768 (Wire.java:wire:73) - http-outgoing-0 >> "X-Default-Header: default header[\r][\n]" But no Expect: 100-continue header. The small app/code example is available here: http://folk.uio.no/erlendfg/solr/ Solr 7.4.0 is used in the app, but the same happens by using 7.6.0 (can be configured in pom.xml). It's actually as simple as this: HttpClientBuilder builder = HttpClients.custom(); // This header shows up: builder.setDefaultHeaders(Arrays.asList(new BasicHeader("X-Default-Header", "default header"))); // This should add an Expect: 100-continue header, but it's missing: builder.setDefaultRequestConfig(RequestConfig.custom().setExpectContinueEnabled(true).build()); HttpClient httpClient = builder.build(); HttpSolrClient client = new HttpSolrClient.Builder() .withHttpClient(httpClient) .withBaseSolrUrl("http://localhost:8983/solr").build(); Erlend