Hi Olivier,

great! I will look at it. I will give you feedback the next days.
And yes I have to optimize the jcr oak part and stabilize it. I will work on it.

Greetings

Martin




Am 15. August 2017 11:30:04 MESZ schrieb Olivier Lamy <ol...@apache.org>:
>Hi
>Took a bit of time but I finally get the branch working :-)
>branch: feature/jcr_oak
>Let me know what do you think of?
>Well I guess there are still some optimisations to do for jcr oak
>I can see some logs:
>21:02:39.559 [1071] [main] WARN  oak.query.QueryImpl - Traversal query
>(query without index): SELECT * FROM [nt:base] WHERE [jcr:uuid] = $id
>/*
>oak-internal */; consider creating an index
>21:02:39.563 [328] [main] WARN  plugins.index.Cursors$TraversingCursor
>-
>Traversed 1000 nodes with filter Filter(query=SELECT * FROM [nt:base]
>WHERE
>[jcr:uuid] = $id /* oak-internal */, path=*,
>property=[jcr:uuid=[21232f29-7a57-35a7-8389-4a0e4a801fc3]]); consider
>creating an index or changing the query
>
>
>
>
>
>On 8 July 2017 at 06:22, Martin <marti...@apache.org> wrote:
>
>> Hi Olivier,
>>
>> great!
>> For my understanding: The dependency to lucene in the pom of
>indexer-core
>> is
>> still there, but the lucene packages are moved to the
>> ...maven.index.shaded...
>> package? You develop indexer-core with the standard lucene packages
>and the
>> shading is executed during the build of the indexer package?
>>
>> I think that may solve our dependency problem.
>>
>> I still got errors in the maven-indexer module, but I think the
>status is
>> still "work in progress". I don't want to interfere too much with
>your
>> changes.
>>
>> I'm not sure, if we should keep the JCR Oak as metadata
>implementation. I
>> think OrientDB may be a feasible alternative: Embeddable,  Graph
>database,
>> Lucene index optional and may be omitted, Apache License. And with
>JCR Oak
>> we
>> also have to convert the existing metadata index.
>>
>> But one step after the other. If we agree that the shaded indexer
>works, we
>> should merge only the maven indexer changes to the master branch
>without
>> the
>> JCR/lucene update and change the JCR and or lucene afterwards.
>>
>> Greetings
>>
>> Martin
>>
>> Am Freitag, 7. Juli 2017, 09:23:24 CEST schrieb Olivier Lamy:
>> > So the repo contains a branch feature/jar_shaded_lucene here
>> >
>https://git1-us-west.apache.org/repos/asf?p=maven-indexer.git;a=summary
>> > and I pushed what I started for Archiva in the branch called
>> feature/jcr_oak
>> > So in order to test it you need to build first maven-indexer from
>the
>> > branch feature/jar_shaded_lucene
>> >
>> > On 6 July 2017 at 22:31, Olivier Lamy <ol...@apache.org> wrote:
>> > > I will try to share the work I did tomorrow in a branch
>> > >
>> > > On Thu, 6 Jul 2017 at 7:48 pm, Martin Stockhammer
><marti...@apache.org
>> >
>> > >
>> > > wrote:
>> > >> We have different lucene (incompatible) dependencies that
>prevents us
>> to
>> > >> update the maven indexer and/or jackrabbit. And this will happen
>again
>> > >> with
>> > >> each upgrade from one of these two packages in the future.
>> > >> So would be really good if we can find a solution that removes
>one of
>> the
>> > >> lucene dependencies.
>> > >>
>> > >> Greetings
>> > >>
>> > >> Martin
>> > >>
>> > >>
>> > >> Am 6. Juli 2017 09:36:06 MESZ schrieb Chris Graham <
>> chrisgw...@gmail.com
>> > >>
>> > >> >Can I please an obvious/stupid question?
>> > >> >
>> > >> >What is driving this need for change?
>> > >> >
>> > >> >From a quick read of the thread above, all of the options
>appear to
>> > >> >introduce a lot of breaking changes, and a whole lot more
>> uncertainty.
>> > >> >
>> > >> >So, what is so broken that it is driving these changes?
>> > >> >
>> > >> >Sent from my iPhone
>> > >> >
>> > >> >> On 6 Jul 2017, at 12:39 pm, Olivier Lamy <ol...@apache.org>
>wrote:
>> > >> >>
>> > >> >> Yup.
>> > >> >> The idea is to have an extra jar produced by the
>maven-indexer with
>> > >> >
>> > >> >shaded
>> > >> >
>> > >> >> lucene version.
>> > >> >> So the lucene classes (version used by Maven indexer) will be
>> > >> >
>> > >> >relocated in
>> > >> >
>> > >> >> a package called org.apache.maven.index.shaded.lucene (such
>> > >> >> org.apache.maven.index.shaded.lucene.search.BooleanClause )
>> > >> >> Then you exclude lucene dependencies used by maven indexer
>and
>> voila.
>> > >> >> The voila is a bit optimistic and not so ezy but anyway
>working on
>> it
>> > >> >
>> > >> >ATM.
>> > >> >
>> > >> >>> On 6 July 2017 at 07:08, Martin <marti...@apache.org> wrote:
>> > >> >>>
>> > >> >>> What do you mean exactly by shading? Moving to another
>package
>> name?
>> > >> >>>
>> > >> >>> Am Mittwoch, 5. Juli 2017, 01:19:17 CEST schrieb Olivier
>Lamy:
>> > >> >>>> maybe an option is to use some shading?
>> > >> >>>> I'm thinking of shading lucene packages used by maven
>indexer. I
>> > >> >
>> > >> >can
>> > >> >
>> > >> >>> easily
>> > >> >>>
>> > >> >>>> provide a build for that.
>> > >> >>>> WDYT?
>> > >> >>>>
>> > >> >>>>> On 26 June 2017 at 11:49, Olivier Lamy <ol...@apache.org>
>> wrote:
>> > >> >>>>> Hi
>> > >> >>>>> graph/document storage could be convenient (but not
>possible
>> with
>> > >> >>>
>> > >> >>> neo4j as
>> > >> >>>
>> > >> >>>>> it's GPL license [1])
>> > >> >>>>> well we can add solr as an additional webapp with our
>jetty
>> > >> >>>
>> > >> >>> distribution
>> > >> >>>
>> > >> >>>>> but this will be a pain for users who want to use tomcat
>or any
>> > >> >
>> > >> >other
>> > >> >
>> > >> >>>>> servlet container...
>> > >> >>>>> we still need to investigate a new storage model :-)
>> > >> >>>>>
>> > >> >>>>> Olivier
>> > >> >>>>> [1] https://neo4j.com/licensing/
>> > >> >>>>>
>> > >> >>>>>> On 25 June 2017 at 06:26, Martin <marti...@apache.org>
>wrote:
>> > >> >>>>>> Yes, you are right. The lucene dependency causes a lot of
>> trouble
>> > >> >
>> > >> >and
>> > >> >
>> > >> >>>>>> will
>> > >> >>>>>> cause headaches with each version change of one of the
>> > >> >
>> > >> >dependencies.
>> > >> >
>> > >> >>>>>> What are the requirements for a replacement?
>> > >> >>>>>> - We want to store hierarchical data?
>> > >> >>>>>> - We want to store metadata for nodes ?
>> > >> >>>>>> - Fulltext search (only metadata or for artifacts too?)
>> > >> >>>>>> - Blob / Artifact storage (I don't think so, but not so
>> familiar
>> > >> >
>> > >> >with
>> > >> >
>> > >> >>> the
>> > >> >>>
>> > >> >>>>>> archiva artifact model)?
>> > >> >>>>>>
>> > >> >>>>>> Maybe some graph database may be an alternative. Don't
>know if
>> > >> >
>> > >> >the
>> > >> >
>> > >> >>>>>> license of
>> > >> >>>>>> neo4j is compatible to the apache license, and I think it
>> brings
>> > >> >>>
>> > >> >>> lucene
>> > >> >>>
>> > >> >>>>>> as
>> > >> >>>>>> dependency too. I will have a look.
>> > >> >>>>>> Problem is, if there is fulltext search needed, I think,
>for
>> most
>> > >> >
>> > >> >of
>> > >> >
>> > >> >>> the
>> > >> >>>
>> > >> >>>>>> frameworks we get a lucene dependency, if it's embedded.
>> > >> >>>>>>
>> > >> >>>>>> Other alternatives:
>> > >> >>>>>> - Implement fulltext search by our own (index of the
>metadata
>> > >> >
>> > >> >stored
>> > >> >
>> > >> >>> via
>> > >> >>>
>> > >> >>>>>> the
>> > >> >>>>>> archiva api) and use the lucene dependency that comes
>from the
>> > >> >>>>>> maven-indexer
>> > >> >>>>>> - Jcr Oak with Solr. Solr is not embedded, must run as
>its own
>> > >> >>>>>> application
>> > >> >>>>>> (war).
>> > >> >>>>>>
>> > >> >>>>>> Greetings
>> > >> >>>>>>
>> > >> >>>>>> Martin
>> > >> >>>>>>
>> > >> >>>>>> Am Samstag, 24. Juni 2017, 14:05:26 CEST schrieb Olivier
>Lamy:
>> > >> >>>>>>> well this gonna be a pain.
>> > >> >>>>>>> IMHO we need to find a new alternative to jcr oak.
>> > >> >>>>>>> And something not using Lucene as it's a real pain to
>have
>> > >> >
>> > >> >different
>> > >> >
>> > >> >>>>>>> librairies using lucene as they do not update in the
>same time
>> > >> >
>> > >> >(and
>> > >> >
>> > >> >>>>>> Lucene
>> > >> >>>>>>
>> > >> >>>>>>> break backward compat so quickly...)
>> > >> >>>>>>> Any ideas? I'd like to have something embedded (but with
>a
>> > >> >
>> > >> >possible
>> > >> >
>> > >> >>>>>>> external server configuration).
>> > >> >>>>>>> There is currently a Cassandra implementation. I was not
>> > >> >
>> > >> >satisfied
>> > >> >
>> > >> >>>>>>> about
>> > >> >>>>>>> performance but I guess I did that 4yo ago so can be
>improved
>> > >> >
>> > >> >for
>> > >> >
>> > >> >>> sure
>> > >> >>>
>> > >> >>>>>> :-)
>> > >> >>>>>> :
>> > >> >>>>>>> Maybe orientdb?
>> > >> >>>>>>> What else?
>> > >> >>>>>>>
>> > >> >>>>>>>> On 24 June 2017 at 09:50, Olivier Lamy
><ol...@apache.org>
>> > >> >
>> > >> >wrote:
>> > >> >>>>>>>> well the issue is non compatible version of Lucene for
>Maven
>> > >> >>>
>> > >> >>> Indexer
>> > >> >>>
>> > >> >>>>>> and
>> > >> >>>>>>
>> > >> >>>>>>>> Oak (well I can try push a patch to Oak for
>upgrading...)
>> > >> >>>>>>>>
>> > >> >>>>>>>>> On 24 June 2017 at 08:41, Olivier Lamy
><ol...@apache.org>
>> > >> >
>> > >> >wrote:
>> > >> >>>>>>>>> Hi
>> > >> >>>>>>>>> Maven Indexer 6.0-SNAPSHOT doesn't need anymore plexus
>> bridge.
>> > >> >>>>>>>>> I'm working on it in the branch ( feature/jcr_oak )
>> > >> >>>>>>>>> Not sure why but I have intermittent failure with
>store-jcr
>> > >> >>>
>> > >> >>> module.
>> > >> >>>
>> > >> >>>>>>>>> I definitely agree on the upgrade.
>> > >> >>>>>>>>> Well we can simply detect it's not oak compatible and
>> schedule
>> > >> >
>> > >> >a
>> > >> >
>> > >> >>>>>>>>> full
>> > >> >>>>>>>>> reindex (maybe with a message in logs and ui?)
>> > >> >>>>>>>>> But we need to be sure we can still read central index
>and
>> not
>> > >> >>>
>> > >> >>> sure
>> > >> >>>
>> > >> >>>>>> about
>> > >> >>>>>>
>> > >> >>>>>>>>> possible lucene conflict with oak and maven indexer.
>> > >> >>>>>>>>> We can work on this branch? (I created a Jenkins job
>for it
>> > >> >>>>>>>>>
>https://builds.apache.org/view/A-D/view/Archiva/job/archi
>> > >> >>>>>>>>> va-jcr-oak-branch/)
>> > >> >>>>>>>>> If you prefer master I would say no worries neither.
>> > >> >>>>>>>>> Something else to look at is upgrading maven-core
>etc...
>> > >> >>>>>>>>> Anyway
>> > >> >>>>>>>>> Cheers
>> > >> >>>>>>>>> Olivier
>> > >> >>>>>>>>>
>> > >> >>>>>>>>>> On 22 June 2017 at 19:16, Martin
><marti...@apache.org>
>> wrote:
>> > >> >>>>>>>>>> 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
>> > >> >>>>>>>>>
>> > >> >>>>>>>>> --
>> > >> >>>>>>>>> Olivier Lamy
>> > >> >>>>>>>>> http://twitter.com/olamy |
>http://linkedin.com/in/olamy
>> > >> >>>>>>>>
>> > >> >>>>>>>> --
>> > >> >>>>>>>> Olivier Lamy
>> > >> >>>>>>>> http://twitter.com/olamy | http://linkedin.com/in/olamy
>> > >> >>>>>
>> > >> >>>>> --
>> > >> >>>>> Olivier Lamy
>> > >> >>>>> http://twitter.com/olamy | http://linkedin.com/in/olamy
>> > >> >>
>> > >> >> --
>> > >> >> Olivier Lamy
>> > >> >> http://twitter.com/olamy | http://linkedin.com/in/olamy
>> > >>
>> > >> --
>> > >> Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail
>gesendet.
>> > >
>> > > --
>> > > Olivier Lamy
>> > > http://twitter.com/olamy | http://linkedin.com/in/olamy
>>
>>
>>
>
>
>-- 
>Olivier Lamy
>http://twitter.com/olamy | http://linkedin.com/in/olamy

-- 
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

Reply via email to