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:31:00 UTC

[jira] [Created] (LUCENE-9851) look at reducing depencies for lucene/replicator

Robert Muir created LUCENE-9851:
-----------------------------------

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


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