Hi Jesse,

How about routing all queries related to Maven central through the REST API and all other requests through the indexer? This would substantially reduce the amount of processing taking place on the indexer without interfering with the offline use-case.

We'd still need to optimize the indexer because in some companies I've worked for the offline binary servers cache large parts of Maven Central, so when Netbeans indexes them it ends up with the same problem. Still, this will impact a much smaller percentage of our users.

Gili

On 2018-04-27 9:57 PM, Jesse Glick wrote:
On Mon, Apr 23, 2018 at 2:14 AM, Jaroslav Tulach
<[email protected]> wrote:
there should be no Maven index processing on the
client (by default). There should be a webservice the IDE would query
instead.
This just begs the question of which web service that would be. If you
only use Maven Central, fine, but if you are using custom or even
private/firewalled repositories, this will not fly.

Not to say that the current Nexus index system is ideal—in fact Nexus
3 seems to have dropped this feature, at least so far, so you have to
stay on Nexus 2. (Or, ironically, Artifactory.)

*Probably* the current indexer functionality could be replaced by REST
calls to your artifact manager. But there is no standard API for that,
as far as I know, so there would need to be separately maintained
Nexus and Artifactory modules.

One relatively easy target for optimization, however: stop relying on
the indexer to service queries about available versions of a given
artifact (i.e., find GAVs when GA is known). That is a common
operation: for example, completion on `<version>` in a POM, or the
hint about an old `<parent>`. This can be done quite simply and
portably by downloading `maven-metadata.xml` from the repository. In
fact Maven itself downloads this automatically at various times, and
caches it in the local repository; and the accuracy of even the cached
version is generally better than that of a Nexus index: Maven
refreshes the cache once per day or when passed `-U` or when running
`mvn install`.

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

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists





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

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



Reply via email to