Hi Angela,

Thanks for driving this and coming up with a PoC. I like the direction this is taking. The module boundaries make sense to me and having certain dependencies de-tangled will certainly be helpful going forward. Could you share a bit of your experience doing this refactoring? What were the main difficulties? Quick wins? Is there anything that could be controversial?

Looking at the list of modules, its size and the names, did you consider switching to a hierarchical module structure? Or could this make sense later on? Otherwise can we come up with a naming scheme that implies grouping (e.g. node store implementations, blob store implementations, etc.)

Re. oak-base and oak-commons, these are probably separated to avoid circular dependencies. Is there anyway to otherwise clarify the difference between the two? I.e. if I implement a new class, which module it should go into? Would oak-base be something like oak-core-spi or even oak-spi? This would nicely dual the oak-store-spi module.

Is there plans to move document/rdb stores to separate modules or is this beyond the current scope?

Michael

On 12.04.17 11:21, Angela Schreiber wrote:
Hi

As mentioned my Marcel this morning [0] we had some offline discussions
related to the oak-blob-azure module and how we could independently
release it. While we didn't see a satisfying solution for the 1.6 branch,
we concluded that we should pick up the modularisation discussion for
address this in the near future.

Consequently a group of oak devs started to work on a PoC on how to
improve modularisation of Oak (in particular oak-core). As we managed to
get rid of the dependency of oak-blob-azure (and oak-segment-tar for that
matter) from oak-core with a reasonable effort, we would like move forward
with this in oak-trunk.

For that matter I created a new epic "Modularisation of Oak" (OAK-6069 at
[1]) and added/linked a initial bunch of issues spotted during the
workshop and earlier. For the 'oak-blob-azure' topic I create a dedicated
task OAK-6073 [2], where I will also add some detailed summary of the
initial effort. The latter can also be looked at on a github fork at [3].

Kind regards
Angela

[0]
http://markmail.org/message/neoiyv5qsffo424e?q=azure+list:org%2Eapache%2Eja
ckrabbit%2Eoak-dev+from:%22Marcel+Reutegger%22&page=1
[1] https://issues.apache.org/jira/browse/OAK-6069
[2] https://issues.apache.org/jira/browse/OAK-6073
[3] https://github.com/mreutegg/jackrabbit-oak/tree/m12n.

Reply via email to