Hello Łukasz,
> One of major problems which are hard to solve without cooperation is > mentioned "split package" which is currently found in the sources. Can you clarify details of what is the issue of having such a case? I my understanding it will be better to consider ignite-core + ignite-indexing + ignite-calcite as a single feature. Thus having a "split package" issue should not be a problem. It will be a quite challenging to keep these modules thruly without package duplication in future. I've also briefly looked at the integration with the Apache Karaf. Will it be possible to remove a module dependencies from the feature-file [4]? It seems it's a bit complicated to maintain these dependencies and corresponding versions each time some module changed. The issue IGNITE-17046 [1] you mentioned above was merged. I've also moved the OSGi sub-modules to the Apache Ignite Extensions project [2], so I hope we can proceed here. Please, note that I've removed the ignite-paxloggin module due to it is completely out of date. The ignite-log4j will be removed very soon [3], so we have to migrate everything to the ignite-log4j2. I've also take a look at the packages you mentioned above. Here is the list of packages with my comments: org.apache.ignite.internal.managers.systemview.walker (will be moved soon from ignite-indexing to the ignite-core) org.apache.ignite.internal.mxbean (ignite-indexing - classes deprecated and will be removed here [5]) org.apache.ignite.internal.processors.cache.query (ignite-indexing - I doubt it can be simply removed currently, refactoring is required) org.apache.ignite.internal.processors.query.stat (ignite-indexing - I doubt we can do anything here) org.apache.ignite.internal.visor.cache.index (ignite-indexing - we can simply move everything to the ignite-core) org.apache.ignite.internal.visor.verify (ignite-indexing - we can simply move everything to the ignite-core) org.apache.ignite.internal.managers.systemview (will be moved soon from ignite-indexing to the ignite-core) [1] https://issues.apache.org/jira/browse/IGNITE-17046 [2] https://issues.apache.org/jira/browse/IGNITE-13570 [3] https://issues.apache.org/jira/browse/IGNITE-16650 [4] https://github.com/apache/ignite-extensions/blob/master/modules/osgi-ext/osgi-karaf/src/main/resources/features.xml#L131 [5] https://issues.apache.org/jira/browse/IGNITE-15761 On Mon, 4 Jul 2022 at 21:42, Łukasz Dywicki <l...@code-house.org> wrote: > > Hello Maxim, > Thank you for your answer. I haven't expected such quick feedback. I am > here to help you with OSGi, I believe that together we will be able to > get Ignite free of troubles it gives. > > I abstained from creating new issues as there are two which already > outline end user problem: IGNITE-17216, IGNITE-17216. > > I do not see a problem with moving ignite-osgi module to other > repository as long as we avoid dependency cycles. > Since igite-osgi functionality seem to be limited to bootstrapping > ignite and its classloading it does not depend per say on where code > itself is located. I suppose that osgi-karaf and osgi-paxlogging should > follow that move to keep all osgi related things in one place. > > Major concern I can raise is how to keep it up so it does not sink over > time. Integration tests I mentioned will form a safety net, but they > need to be part of build pipeline to follow changes in main repository. > Some of recent changes I found about cleaning out some inner-dependency > paths (ie. indexing-h2 relation: IGNITE-17046), are very helpful to > solidify OSGi metadata. > One of major problems which are hard to solve without cooperation is > mentioned "split package" which is currently found in the sources. This > happens when same package is defined (and exported) from two places. > Currently both ignite-core and indexing bring contents of > org.apache.ignite.internal and spi packages: > - org.apache.ignite.internal.managers.systemview.walker > - org.apache.ignite.internal.mxbean > - org.apache.ignite.internal.processors.cache.query > - org.apache.ignite.internal.processors.query.stat > - org.apache.ignite.internal.visor.cache.index > - org.apache.ignite.internal.visor.verify > - org.apache.ignite.spi.systemview.view > To be fair, I don't know yet what is scope of these and that's where I > need most of your guidance. I don't think we will be able to stabilize > osgi integration to guarantee it will work reliably if these stay. > > Kind regards, > Łukasz > > On 4.07.2022 19:43, Maxim Muzafarov wrote: > > Hello Łukasz, > > > > Nice to meet you! > > > > Currently there are some known issues with the Apache Ignite OSGi > > integration. We have a lack of time and knowledg to support it, so any > > help are very appreciated. I also have a a plan to move this > > integration to the Apache Ignite Extensions project [1] and release it > > when all the issues are resolved. Here is an umbrella ticket for it > > [2]. > > > > What do you think if I move the OSGi to the Apache Ignite Extensions > > first and after it we will resolve the issue you mentioned above? I > > can help with a review and try to do the best I can here. > > Anyway if this plan wouldn't work for you, please, feel free to create > > an issue here [3] with your PR. > > > > > > [1] https://github.com/apache/ignite-extensions > > [2] https://issues.apache.org/jira/browse/IGNITE-17019 > > [3] https://issues.apache.org/jira/projects/IGNITE/ > > > > On Mon, 4 Jul 2022 at 20:26, Łukasz Dywicki <l...@code-house.org> wrote: > >> > >> > >> Hello everyone, > >> First of all thank you for awesome project and its maintenance. My name > >> is Łukasz and I am committer of Apache Karaf and Apache PLC4X projects > >> hence you most likely don't know me as I am coming from other part of > >> ASF ecosystem. > >> > >> I was asked about looking at Apache Ignite OSGi metadata as project we > >> are trying to use Ignite with is bound to the OSGi runtime. After a bit > >> of look I found that metadata generation is partial and overall > >> infrastructure in this area haven't received any polishing since a while. > >> Since there are "split packages" and few additional troubles I wanted to > >> check with you if there is a will to move that part ahead. Is there a > >> will or plan to retain the metadata or rather throw it away? > >> > >> Last week I made a draft PR with changes which allowed me to run ignite > >> inside Apache Karaf (4.3.x): https://github.com/apache/ignite/pull/10133 > >> There are several maven pom updates and, so far, one code relocation in > >> kubernetes module. I based all changes on exiting properties: > >> osgi.import.package, osgi.export.package, osgi.private.package > >> I think there are few more places where "split package" is found, > >> however I did not look very carefully at these yet. > >> > >> Looking forward to hear out your guidance in how you would like to get > >> these changes, if at all. If you would be up to move that part forward I > >> can sacrifice more time in making metadata generation and validation > >> more rebust through ie. basic OSGi integration tests. PR I linked above > >> automatically validates import and export constraints for Karaf feautes. > >> > >> Kind regards, > >> Łukasz