Erlend Garåsen created SOLR-13270:
-------------------------------------

             Summary: SolrJ does not send "Expect: 100-continue" header
                 Key: SOLR-13270
                 URL: https://issues.apache.org/jira/browse/SOLR-13270
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
          Components: SolrJ
    Affects Versions: 7.7
            Reporter: Erlend Garåsen


SolrJ does not set the "Expect: 100-continue" header, even though it's 
configured in HttpClient:
{code:java}
builder.setDefaultRequestConfig(RequestConfig.custom().setExpectContinueEnabled(true).build());{code}
A HttpClient developer has reviewed the code and says we're setting up
the client correctly, so we 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

The problem can be reproduced by building and running the following small Maven 
project:

[http://folk.uio.no/erlendfg/solr/missing-header.zip]

The application runs SolrJ code where the header does not show up and 
HttpClient code where the header is present.

 
{code:java}
HttpClientBuilder builder = HttpClients.custom();
// This should add an Expect: 100-continue header:
builder.setDefaultRequestConfig(RequestConfig.custom().setExpectContinueEnabled(true).build());
HttpClient httpClient = builder.build();

// Start Solr and create a core named "test".
String baseUrl = "http://localhost:8983/solr/test";;

// Test using SolrJ — no expect 100 header
HttpSolrClient client = new HttpSolrClient.Builder()
  .withHttpClient(httpClient)
  .withBaseSolrUrl(baseUrl).build();
SolrQuery query = new SolrQuery();
query.setQuery("*:*");
client.query(query);

// Test using HttpClient directly — expect 100 header shows up:
HttpPost httpPost = new HttpPost(baseUrl);
HttpEntity entity = new InputStreamEntity(new 
ByteArrayInputStream("test".getBytes()));
httpPost.setEntity(entity);
httpClient.execute(httpPost);
{code}
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to