You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Erlend Garåsen (JIRA)" <ji...@apache.org> on 2019/02/25 16:37:00 UTC
[jira] [Created] (SOLR-13270) SolrJ does not send "Expect:
100-continue" header
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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org