jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-3187) Backporting journal to 1.0-branch
Date Mon, 10 Aug 2015 11:59:47 GMT

    [ https://issues.apache.org/jira/browse/OAK-3187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14680000#comment-14680000

Marcel Reutegger commented on OAK-3187:

I didn't yet look at the patch, but in general I would rather like to use existing issues
for backports. This makes it easier to check in a single place what changes went into which

Regarding other changes you mentioned and whether we should potentially backport:

- OAK-2685: if these changes reduces conflicts, we should probably backport them as well,
but then there may be other commits this issue depends on...
- OAK-2131: this is quite a significant change, because the document format changes somewhat.
I would rather not merge this into the 1.0 branch.
- OAK-2850: depends on the first issue in this list and we should only consider it if OAK-2685
is merged

> Backporting journal to 1.0-branch
> ---------------------------------
>                 Key: OAK-3187
>                 URL: https://issues.apache.org/jira/browse/OAK-3187
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, mongomk
>    Affects Versions: 1.0.18
>            Reporter: Stefan Egli
>            Assignee: Stefan Egli
>            Priority: Critical
>             Fix For: 1.0.19
>         Attachments: OAK-3187.1-0-branch.patch
> OAK-2829 introduces the concept of a journal that keeps track of all paths that have
changed between particular revisions in a cluster. The idea is to look into backporting OAK-2829
to the 1.0-branch - and that's tracked atm in this ticket (if it's better to do it in any
other way, eg track it in OAK-2829 directly, we can always change it that way).
> I've done a "{{git cherry-pick c28a5d504993d64501d59c94a59f6186e8a0ad6e}}" (which [merges
OAK-2829 changes from trunk to 1.2-branch|https://github.com/apache/jackrabbit-oak/commit/c28a5d504993d64501d59c94a59f6186e8a0ad6e])
and followed up on the numerous conflicts resulting from this.
> Before I go into the details of those conflicts below, there are probably a few higher-level
things to discuss too - as backporting "only" OAK-2829 (the journal) to 1.0 might only serve
half of the story - the diffCache and lastRev handling has experienced quite a few changes
since 1.0.x and it might be worth while considering if it is OK to not backport those and
still see enough improvement, or if that's not the case. Those that come to mind include:
> * OAK-2685: which introduces the {{TieredDiffCache}}
> * OAK-2131: 'reduce usage of _lastRev'
> * OAK-2850: 'Flag states from revision of an external change'
> The complete history of changes is what I'd put into the commit message and goes as follows
(not that OAK-3002 is also merged with this, and that for completeness sake OAK-3085 would
*have to be* merged too, but the latter is trivial and can be done after this jumbo one):
> {code}
>     OAK-2829: Comparing node states for external changes is too slow
>     OAK-3002: Optimize docCache and docChildrenCache invalidation by filtering using
>     Merged revisions 1678023,1678171,1684820,1685590,1685964,1685977,1685989,1686023,1686032,1688179
from trunk
>     git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/branches/1.2@1688649
>     Conflicts:
>         oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java
>                - [conflict with OAK-2685 not available in 1.0 branch]
>                - [therefore manually: applyToCache: newEntry signature changed]
>         oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
>                - [conflicts due to OAK-2850 and OAK-2685 not available in 1.0 branch]
>         oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
>                - [conflicts: only imports affected]
>         oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryAgent.java
>                - [conflict with OAK-2074 not available in 1.0 branch]
>                - [conflict with OAK-2131 not available in 1.0 branch]
>                - [conflict with OAK-2324 not available in 1.0 branch]
>         oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/LocalDiffCache.java
>                - [conflict with OAK-2685 / newEntry method signature changed]
>         oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/TieredDiffCache.java
>                - [conflict with OAK-2685 / newEntry signature, plus DiffCache.getStats
not avail in 1.0 branch]
>         oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/UnsavedModifications.java
>                - [conflict with OAK-2324 not available in 1.0 branch]
>                - [conflict with OAK-1768]
>                - [conflict with OAK-2888 only available in 1.0 branch]
>         oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
>                - [conflict with OAK-1641 not available in 1.0 branch]
>                - [conflict with OAK-2681 not available in 1.0 branch: findUncachedWithRetry
not avail in 1.0]
>         oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/Utils.java
>                - [conflicts: only imports affected]
>         oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/ClusterTest.java
>                - [conflict with OAK-2850 not available in 1.0 branch]
>         oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/observation/ChangeProcessor.java
>                - [conflicts: only imports affected]
>         oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/ObservationTest.java
>                - [conflict with OAK-2717 not available in 1.0 branch]
>                - [ADDED JcrCreator class plus OakRepositoryFixture.setUpCluster(int n,
JcrCreator customizer) from trunk]
>     Additional Compile Problems:
>         oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/UnsavedModificationsTest.java
>                - [conflict with OAK-2888 only available in 1.0 branch, fixed, Snapshot.IGNORE
>     Additional Test Problems:
>             oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalTest.java
>                - [conflict with OAK-2131 not available in 1.0 branch, hence test logic
had to be adapted/fixed]
> {code}

This message was sent by Atlassian JIRA

View raw message