[ 
https://issues.apache.org/jira/browse/LUCENE-9851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17303835#comment-17303835
 ] 

Robert Muir commented on LUCENE-9851:
-------------------------------------

Currently all dependencies in question (servlet-api, httpclient, jetty) are 
non-test...

{noformat}
  <dependencies>
    <dependency> 
      <!-- lucene-test-framework dependency must be declared before lucene-core 
-->
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-test-framework</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-facet</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpcore</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-continuation</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-http</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-io</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-servlet</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-util</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.lucene</groupId>
      <artifactId>lucene-codecs</artifactId>
      <scope>test</scope>
    </dependency>
{noformat}

> look at reducing depencies for lucene/replicator
> ------------------------------------------------
>
>                 Key: LUCENE-9851
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9851
>             Project: Lucene - Core
>          Issue Type: Wish
>            Reporter: Robert Muir
>            Priority: Major
>
> Lucene/replicator brings in a lot of dependencies (some test-only) for http 
> communication (httpclient, jetty, servet-api, etc), I think it is worth 
> looking at reducing these.
> It isn't gonna need to be used as a typical high-qps webserver, instead low 
> level transfer of index segments. IMO this is a more delicate operation where 
> we actually care about stuff like how/if data is compressed and want it done 
> efficiently.
> I've had good experiences in production with java 11's new http client: 
> https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/package-summary.html
> It is maintained by openjdk and built into java's core, so we could remove 
> the httpclient dependency and not cause conflicts with downstream projects.
> On the server side I think jetty may be overkill, we could use jdk's built-in 
> Http/HttpsServer, too. Because we don't need fancy nonblocking io / resource 
> pooling / whatever, its smaller number but MUCH BIGGER than average http 
> transfers going on.
> We can keep replicators apis generic so that users can still use different 
> protocols or methods, this is really just about the *implementations* and 
> *tests* that we supply.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to