lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erlend Garåsen (JIRA) <j...@apache.org>
Subject [jira] [Updated] (SOLR-13270) SolrJ does not send "Expect: 100-continue" header
Date Mon, 25 Feb 2019 16:43:00 GMT

     [ https://issues.apache.org/jira/browse/SOLR-13270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Erlend Garåsen updated SOLR-13270:
----------------------------------
    Description: 
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}
When using the last HttpClient test, the expect 100 header appears in missing-header.log:
{noformat}
http-outgoing-1 >> Expect: 100-continue{noformat}

  was:
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}
 


> 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
>            Priority: Major
>
> 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}
> When using the last HttpClient test, the expect 100 header appears in missing-header.log:
> {noformat}
> http-outgoing-1 >> Expect: 100-continue{noformat}



--
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


Mime
View raw message