Hi,

upgrading the maven indexer leads to some major changes.
Lucene is used by maven-indexer and also by jackrabbit. Jackrabbit sticks to 
the old 3.x version and, as I see it, they will not move to a newer version.
There is Jackrabbit Oak as alternative.
I tried a proof of concept and could replace the jackrabbit implementation of 
metadata-store-jcr with a oak implementation. At least I got the unit tests of 
this module all to pass.
But switching to Oak has some drawbacks:
- The repository format changed and we must provide a way to migrate (either 
migrate the existing repository or create a new one by reindexing)
- The lucene version used is newer but does not match to the version from the 
maven-indexer dependencies. There may come up some incompatibilities that are 
not solvable without using a modified version of one of the both. Or there may 
be the possibility to switch to solr (as separate component) and get rid of 
the lucene dependencies for jcr inside the archiva project.

Switching to maven-indexer 6.0-SNAPSHOT means some changes too:
- The Plexus-Sisu-Bridge does not work as before. 
- We must migrate from the NexusIndexer to the indexer API.

So switching to the new indexer and oak means more work as expected and some 
risks regarding new incompatibility problems. And I think this cannot be done 
without broken master builds for some time period.

So, what should we do? I think maven indexer is one of the core components of 
archiva, and we should utilize the 3.x-version to  migrate to the new indexer 
version, even if this means switching to jcr oak. Otherwise it would mean to 
stick to the old version for the next years.
@Olivier, regarding the maven-indexer / sisu-Bridge API changes, I hope you 
can provide  useful help.

I committed the PoC to the branch feature/jcr_oak. There are some modules 
where the tests do not pass (mainly because of the indexer API changes).

Any comments?

Cheers

Martin

Am Dienstag, 13. Juni 2017, 09:07:35 CEST schrieb Olivier Lamy:
> forget it but we need to ensure we can read maven index files....
> 
> On 13 June 2017 at 17:06, Olivier Lamy <ol...@apache.org> wrote:
> > Hi,
> > Remember jackrabbit depends on Lucene as well so upgrading Lucene can be a
> > problem here.
> > Regarding maven-indexer yes we can depend on a snapshot until the release.
> > I can release it ;-)
> > 
> > On 13 June 2017 at 06:06, Martin <marti...@apache.org> wrote:
> >> Hi,
> >> 
> >> the lucene version depends on the maven indexer. But I'm not sure about
> >> the
> >> current state of maven-indexer. The version has not changed since some
> >> 2013.
> >> 
> >> There are commits on the master branch since then, and the lucene version
> >> has
> >> been changed too, but no releases were tagged.
> >> Does it make sense to switch to the maven-indexer 6.0-SNAPSHOT?
> >> 
> >> As I know there are new compact index formats with new lucene versions
> >> but I'm
> >> not sure if this is relevant for the maven indexes.
> >> 
> >> Cheers
> >> 
> >> Martin
> > 
> > --
> > Olivier Lamy
> > http://twitter.com/olamy | http://linkedin.com/in/olamy


Reply via email to