On 15.1.14 7:35 , Jukka Zitting wrote:
Hi,

a) Upgrade Jackrabbit Classic to use Lucene 4. As discussed earlier
(http://markmail.org/message/nv5jeeoda7qe5qen) this is pretty hard,
and it's questionable whether the benefits are worth the effort.

-0, too little benefit for the effort it would take.


b) Downgrade Oak to use Lucene 3. This should be doable with not much
effort, as the Lucene integration in Oak is much simpler than in
Jackrabbit Classic. It might even be possible to make oak-lucene
version-independent, so it would work with both Lucene 3 and 4.

-1, people will start bugging us about upgrading to Lucene 4 as soon as Oak is out.


c) Ship the jackrabbit deployment packages without Lucene integration
for Oak. This would allow people to start playing with Oak in their
existing deployments, but require some deployment changes for full Oak
functionality.

+0, not sure how much this degrades the actual value of the deployment packages though.


d) Use the class rewriting tricks in something like the Shade plugin
[1] to be able to include both Lucene 3 *and* 4 in the same deployment
packages. I'm not sure if this is even possible with Lucene, or how
much effort it would require.

e) Use a custom classloader setup to load the correct version of
Lucene depending on the selected Jackrabbit mode.

-10^12, and spend the rest of our lives debugging all kinds of weird class loading issues in each and every deployment container ;-)


f) Adjust the Jackrabbit deployment packages to use an embedded OSGi
container, and use it to selectively deploy the required
implementation components, including the correct version of Lucene.

+1 if we have a strong argument for going with the combined deployment option.


g) Or as a last resort, abandon the idea of a joint deployment
package. Jackrabbit Classic and Oak would be shipped in separate
deployment artifacts.

+1 for its simplicity otherwise.

Michael


I'm thinking of trying to implement one or two of these alternatives
within the next few weeks, and cut Jackrabbit 2.8 based on that work
and including something like Oak 0.16 as a beta feature. Assuming that
approach works and Oak stabilizes as planned, we could then follow up
with Jackrabbit 3.0 fairly soon after 2.8.

[1] http://maven.apache.org/plugins/maven-shade-plugin/

BR,

Jukka Zitting

Reply via email to