You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Robert Muir (Jira)" <ji...@apache.org> on 2021/03/18 03:42:00 UTC
[jira] [Commented] (LUCENE-9851) look at reducing depencies for
lucene/replicator
[ 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: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org