[jira] [Created] (OAK-5924) Prevent long running query from delaying close of index

2017-03-13 Thread Chetan Mehrotra (JIRA)
Chetan Mehrotra created OAK-5924:


 Summary: Prevent long running query from delaying close of index
 Key: OAK-5924
 URL: https://issues.apache.org/jira/browse/OAK-5924
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: lucene
Reporter: Chetan Mehrotra
Assignee: Chetan Mehrotra
 Fix For: 1.8


Whenever the index gets updated {{IndexTracker}} detects the changes and open 
new {{IndexNode}} and closes old index nodes. This flow would block untill all 
old IndexNode are closed.

IndexNode close itself relies on a writer lock. It can happen that a long 
running query i.e. a query which is about to read a page of large is currently 
executing on the old IndexNode instance. This query is trying load 100k  docs 
and is very slow (due to loading of excerpt) then such a query would prevent 
the IndexNode from getting closed. This in turn would prevent the index from 
seeing latest data and become stale.

To make query and indexing more resilient we should look if current IndexNode 
being used for query is closing or not. If closing then query should open a 
fresh searcher



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (OAK-5908) BlobIdTracker should not resurrect deleted blob ids in a clustered/shared setup after GC

2017-03-13 Thread Amit Jain (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-5908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Jain updated OAK-5908:
---
Description: 
BlobIdTracker can resurrect deleted blob ids from a previous run when running 
in a clustered setup by also synchronizing blob references from other 
cluster/shared nodes which don't have information about the deleted blob ids.
The effect of this is that when blob gc is executed again it identifies those 
ids as candidates and logs a warning when trying to delete them since they had 
already been deleted in the last gc execution.

The locally tracked files at each of the instances should be purged after 
synchronizing with the datastore.

  was:
BlobIdTracker can resurrect deleted blob ids from a previous run when running 
in a clustered setup by also synchronizing blob references from other cluster 
nodes which don't have information about the deleted blob ids.
The effect of this is that when blob gc is executed again it identifies those 
ids as candidates and logs a warning when trying to delete them since they had 
already been deleted in the last gc execution.

The locally tracked files at each of the instances should be purged after 
synchronizing with the datastore.


> BlobIdTracker should not resurrect deleted blob ids in a clustered/shared 
> setup after GC
> 
>
> Key: OAK-5908
> URL: https://issues.apache.org/jira/browse/OAK-5908
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: blob
>Reporter: Amit Jain
>Assignee: Amit Jain
>  Labels: candidate_oak_1_6
> Fix For: 1.7.0, 1.8
>
>
> BlobIdTracker can resurrect deleted blob ids from a previous run when running 
> in a clustered setup by also synchronizing blob references from other 
> cluster/shared nodes which don't have information about the deleted blob ids.
> The effect of this is that when blob gc is executed again it identifies those 
> ids as candidates and logs a warning when trying to delete them since they 
> had already been deleted in the last gc execution.
> The locally tracked files at each of the instances should be purged after 
> synchronizing with the datastore.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (OAK-5908) BlobIdTracker should not resurrect deleted blob ids in a clustered/shared setup after GC

2017-03-13 Thread Amit Jain (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-5908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amit Jain updated OAK-5908:
---
Summary: BlobIdTracker should not resurrect deleted blob ids in a 
clustered/shared setup after GC  (was: BlobIdTracker should not resurrect 
deleted blob ids in a clustered setup after GC)

> BlobIdTracker should not resurrect deleted blob ids in a clustered/shared 
> setup after GC
> 
>
> Key: OAK-5908
> URL: https://issues.apache.org/jira/browse/OAK-5908
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: blob
>Reporter: Amit Jain
>Assignee: Amit Jain
>  Labels: candidate_oak_1_6
> Fix For: 1.7.0, 1.8
>
>
> BlobIdTracker can resurrect deleted blob ids from a previous run when running 
> in a clustered setup by also synchronizing blob references from other cluster 
> nodes which don't have information about the deleted blob ids.
> The effect of this is that when blob gc is executed again it identifies those 
> ids as candidates and logs a warning when trying to delete them since they 
> had already been deleted in the last gc execution.
> The locally tracked files at each of the instances should be purged after 
> synchronizing with the datastore.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (OAK-5855) RDBDocumentStore: improve query support for VersionGC

2017-03-13 Thread Julian Reschke (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-5855?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated OAK-5855:

Attachment: OAK-5855-14.diff

(wip)

> RDBDocumentStore: improve query support for VersionGC
> -
>
> Key: OAK-5855
> URL: https://issues.apache.org/jira/browse/OAK-5855
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: rdbmk
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
> Attachments: OAK-5855-10.diff, OAK-5855-11.diff, OAK-5855-12.diff, 
> OAK-5855-13.diff, OAK-5855-14.diff, OAK-5855-2.diff, OAK-5855-3.diff, 
> OAK-5855-4.diff, OAK-5855-5.diff, OAK-5855-6.diff, OAK-5855-7.diff, 
> OAK-5855-8.diff, OAK-5855-9.diff, OAK-5855.diff
>
>
> ...matching {{MongoVersionSupport}}, such as: no batched query needed; just 
> return an iterable over delete candidates. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (OAK-5855) RDBDocumentStore: improve query support for VersionGC

2017-03-13 Thread Julian Reschke (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-5855?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated OAK-5855:

Attachment: OAK-5855-13.diff

(wip)

> RDBDocumentStore: improve query support for VersionGC
> -
>
> Key: OAK-5855
> URL: https://issues.apache.org/jira/browse/OAK-5855
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: rdbmk
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
> Attachments: OAK-5855-10.diff, OAK-5855-11.diff, OAK-5855-12.diff, 
> OAK-5855-13.diff, OAK-5855-2.diff, OAK-5855-3.diff, OAK-5855-4.diff, 
> OAK-5855-5.diff, OAK-5855-6.diff, OAK-5855-7.diff, OAK-5855-8.diff, 
> OAK-5855-9.diff, OAK-5855.diff
>
>
> ...matching {{MongoVersionSupport}}, such as: no batched query needed; just 
> return an iterable over delete candidates. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (OAK-5920) Checkpoint migration will fail if the MissingBlobStore is used

2017-03-13 Thread JIRA

[ 
https://issues.apache.org/jira/browse/OAK-5920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15907650#comment-15907650
 ] 

Tomek Rękawek commented on OAK-5920:


Attached patch breaks the migration if the checkpoints can't be copied. This 
behaviour can be overridden with the new {{\-\-skip\-checkpoints}} option.

> Checkpoint migration will fail if the MissingBlobStore is used
> --
>
> Key: OAK-5920
> URL: https://issues.apache.org/jira/browse/OAK-5920
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: upgrade
>Affects Versions: 1.6.1
>Reporter: Tomek Rękawek
>Assignee: Tomek Rękawek
> Fix For: 1.7.0
>
> Attachments: OAK-5920.patch
>
>
> It seems that the checkpoint migration doesn't work with the missing blob 
> store:
> {noformat}
> 09.03.2017 07:44:22.777 INFO   o.a.j.o.u.RepositorySidegrade: Copying node 
> #2638: 
> /libs/fd/af/components/panel/cq:styleConfig/items/wizardPanel/items/wizardPanelScrollers
> 09.03.2017 07:44:22.813 INFO   o.a.j.o.u.RepositorySidegrade: Copying node 
> #2639: 
> /apps/acs-commons/components/content/sharethis-buttons/dialog/items/items
> 09.03.2017 07:44:31.805 INFO   o.a.j.o.s.f.FileStore: TarMK closed: 
> /mnt/crx/publish/crx-quickstart/repository-segment-tar-20170309-072655/segmentstore
> 09.03.2017 07:44:32.051 INFO   o.a.j.o.p.s.f.FileStore: TarMK closed: 
> /mnt/crx/publish/crx-quickstart/repository/segmentstore
> Caused by: java.lang.RuntimeException: javax.jcr.RepositoryException: Failed 
> to copy content
>   at com.google.common.io.Closer.rethrow(Closer.java:149)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:81)
>   at 
> com.adobe.granite.crx2oak.engine.MigrationEngine$2.doMigration(MigrationEngine.java:66)
>   at 
> com.adobe.granite.crx2oak.engine.MigrationEngine.process(MigrationEngine.java:91)
>   at com.adobe.granite.crx2oak.pipeline.Pipeline.run(Pipeline.java:103)
>   at com.adobe.granite.crx2oak.CRX2Oak.run(CRX2Oak.java:66)
>   at com.adobe.granite.crx2oak.CRX2Oak.main(CRX2Oak.java:51)
>   ... 6 more
> Caused by: javax.jcr.RepositoryException: Failed to copy content
>   at 
> org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:286)
>   at 
> org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:242)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.sidegrade(OakUpgrade.java:92)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:78)
>   ... 11 more
> Caused by: java.lang.UnsupportedOperationException
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.blob.MissingBlobStore.getInputStream(MissingBlobStore.java:62)
>   at 
> org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob.getNewStream(BlobStoreBlob.java:47)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:276)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:86)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractBlob$1.openStream(AbstractBlob.java:44)
>   at com.google.common.io.ByteSource.contentEquals(ByteSource.java:344)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractBlob.equal(AbstractBlob.java:67)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.equals(SegmentBlob.java:227)
>   at com.google.common.base.Objects.equal(Objects.java:60)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState.equal(AbstractPropertyState.java:53)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.equals(SegmentPropertyState.java:242)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareProperties(SegmentNodeState.java:617)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:511)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:456)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
>   at 
> 

[jira] [Updated] (OAK-5920) Checkpoint migration will fail if the MissingBlobStore is used

2017-03-13 Thread JIRA

 [ 
https://issues.apache.org/jira/browse/OAK-5920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomek Rękawek updated OAK-5920:
---
Attachment: OAK-5920.patch

> Checkpoint migration will fail if the MissingBlobStore is used
> --
>
> Key: OAK-5920
> URL: https://issues.apache.org/jira/browse/OAK-5920
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: upgrade
>Affects Versions: 1.6.1
>Reporter: Tomek Rękawek
>Assignee: Tomek Rękawek
> Fix For: 1.7.0
>
> Attachments: OAK-5920.patch
>
>
> It seems that the checkpoint migration doesn't work with the missing blob 
> store:
> {noformat}
> 09.03.2017 07:44:22.777 INFO   o.a.j.o.u.RepositorySidegrade: Copying node 
> #2638: 
> /libs/fd/af/components/panel/cq:styleConfig/items/wizardPanel/items/wizardPanelScrollers
> 09.03.2017 07:44:22.813 INFO   o.a.j.o.u.RepositorySidegrade: Copying node 
> #2639: 
> /apps/acs-commons/components/content/sharethis-buttons/dialog/items/items
> 09.03.2017 07:44:31.805 INFO   o.a.j.o.s.f.FileStore: TarMK closed: 
> /mnt/crx/publish/crx-quickstart/repository-segment-tar-20170309-072655/segmentstore
> 09.03.2017 07:44:32.051 INFO   o.a.j.o.p.s.f.FileStore: TarMK closed: 
> /mnt/crx/publish/crx-quickstart/repository/segmentstore
> Caused by: java.lang.RuntimeException: javax.jcr.RepositoryException: Failed 
> to copy content
>   at com.google.common.io.Closer.rethrow(Closer.java:149)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:81)
>   at 
> com.adobe.granite.crx2oak.engine.MigrationEngine$2.doMigration(MigrationEngine.java:66)
>   at 
> com.adobe.granite.crx2oak.engine.MigrationEngine.process(MigrationEngine.java:91)
>   at com.adobe.granite.crx2oak.pipeline.Pipeline.run(Pipeline.java:103)
>   at com.adobe.granite.crx2oak.CRX2Oak.run(CRX2Oak.java:66)
>   at com.adobe.granite.crx2oak.CRX2Oak.main(CRX2Oak.java:51)
>   ... 6 more
> Caused by: javax.jcr.RepositoryException: Failed to copy content
>   at 
> org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:286)
>   at 
> org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:242)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.sidegrade(OakUpgrade.java:92)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:78)
>   ... 11 more
> Caused by: java.lang.UnsupportedOperationException
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.blob.MissingBlobStore.getInputStream(MissingBlobStore.java:62)
>   at 
> org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob.getNewStream(BlobStoreBlob.java:47)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:276)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:86)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractBlob$1.openStream(AbstractBlob.java:44)
>   at com.google.common.io.ByteSource.contentEquals(ByteSource.java:344)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractBlob.equal(AbstractBlob.java:67)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.equals(SegmentBlob.java:227)
>   at com.google.common.base.Objects.equal(Objects.java:60)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState.equal(AbstractPropertyState.java:53)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.equals(SegmentPropertyState.java:242)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareProperties(SegmentNodeState.java:617)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:511)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:456)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
>   at 
> 

[jira] [Updated] (OAK-5663) Improve LogCustomizer to allow filtering on log messages too

2017-03-13 Thread Julian Reschke (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-5663?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated OAK-5663:

Summary: Improve LogCustomizer to allow filtering on log messages too  
(was: Improve LogCutomizer to allow filtering on log messages too)

> Improve LogCustomizer to allow filtering on log messages too
> 
>
> Key: OAK-5663
> URL: https://issues.apache.org/jira/browse/OAK-5663
> Project: Jackrabbit Oak
>  Issue Type: Test
>Reporter: Vikas Saurabh
>Assignee: Vikas Saurabh
>Priority: Minor
> Fix For: 1.0.37, 1.2.24, 1.4.14, 1.7.0, 1.8, 1.6.1
>
> Attachments: OAK-5663.patch
>
>
> Currently {{LogCustomizer}} only allows filtering on log level. It'd be 
> useful to have a bit of filtering on log message too.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (OAK-4793) Check usage of DocumentStoreException in RDBDocumentStore

2017-03-13 Thread Julian Reschke (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-4793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15907435#comment-15907435
 ] 

Julian Reschke commented on OAK-4793:
-

trunk: [r1760946|http://svn.apache.org/r1760946]
1.4: [r1786679|http://svn.apache.org/r1786679]


> Check usage of DocumentStoreException in RDBDocumentStore
> -
>
> Key: OAK-4793
> URL: https://issues.apache.org/jira/browse/OAK-4793
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: core, rdbmk
>Reporter: Marcel Reutegger
>Assignee: Julian Reschke
>Priority: Minor
>  Labels: candidate_oak_1_0, candidate_oak_1_2, resilience
> Fix For: 1.4.15, 1.5.11, 1.6.0
>
> Attachments: OAK-4793-1.diff, OAK-4793-2.diff, OAK-4793.diff, 
> OAK-4793.diff
>
>
> With OAK-4771 the usage of DocumentStoreException was clarified in the 
> DocumentStore interface. The purpose of this task is to check usage of the 
> DocumentStoreException in RDBDocumentStore and make sure JDBC driver specific 
> exceptions are handled consistently and wrapped in a DocumentStoreException. 
> At the same time, cache consistency needs to be checked as well in case of a 
> driver exception. E.g. invalidate if necessary.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Issue Comment Deleted] (OAK-4793) Check usage of DocumentStoreException in RDBDocumentStore

2017-03-13 Thread Julian Reschke (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-4793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated OAK-4793:

Comment: was deleted

(was: trunk: [r1760946|http://svn.apache.org/r1760946]
)

> Check usage of DocumentStoreException in RDBDocumentStore
> -
>
> Key: OAK-4793
> URL: https://issues.apache.org/jira/browse/OAK-4793
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: core, rdbmk
>Reporter: Marcel Reutegger
>Assignee: Julian Reschke
>Priority: Minor
>  Labels: candidate_oak_1_0, candidate_oak_1_2, resilience
> Fix For: 1.4.15, 1.5.11, 1.6.0
>
> Attachments: OAK-4793-1.diff, OAK-4793-2.diff, OAK-4793.diff, 
> OAK-4793.diff
>
>
> With OAK-4771 the usage of DocumentStoreException was clarified in the 
> DocumentStore interface. The purpose of this task is to check usage of the 
> DocumentStoreException in RDBDocumentStore and make sure JDBC driver specific 
> exceptions are handled consistently and wrapped in a DocumentStoreException. 
> At the same time, cache consistency needs to be checked as well in case of a 
> driver exception. E.g. invalidate if necessary.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (OAK-4793) Check usage of DocumentStoreException in RDBDocumentStore

2017-03-13 Thread Julian Reschke (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-4793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated OAK-4793:

Fix Version/s: 1.4.15

> Check usage of DocumentStoreException in RDBDocumentStore
> -
>
> Key: OAK-4793
> URL: https://issues.apache.org/jira/browse/OAK-4793
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: core, rdbmk
>Reporter: Marcel Reutegger
>Assignee: Julian Reschke
>Priority: Minor
>  Labels: candidate_oak_1_0, candidate_oak_1_2, resilience
> Fix For: 1.4.15, 1.5.11, 1.6.0
>
> Attachments: OAK-4793-1.diff, OAK-4793-2.diff, OAK-4793.diff, 
> OAK-4793.diff
>
>
> With OAK-4771 the usage of DocumentStoreException was clarified in the 
> DocumentStore interface. The purpose of this task is to check usage of the 
> DocumentStoreException in RDBDocumentStore and make sure JDBC driver specific 
> exceptions are handled consistently and wrapped in a DocumentStoreException. 
> At the same time, cache consistency needs to be checked as well in case of a 
> driver exception. E.g. invalidate if necessary.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (OAK-4793) Check usage of DocumentStoreException in RDBDocumentStore

2017-03-13 Thread Julian Reschke (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-4793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated OAK-4793:

Labels: candidate_oak_1_0 candidate_oak_1_2 resilience  (was: 
candidate_oak_1_0 candidate_oak_1_2 candidate_oak_1_4 resilience)

> Check usage of DocumentStoreException in RDBDocumentStore
> -
>
> Key: OAK-4793
> URL: https://issues.apache.org/jira/browse/OAK-4793
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: core, rdbmk
>Reporter: Marcel Reutegger
>Assignee: Julian Reschke
>Priority: Minor
>  Labels: candidate_oak_1_0, candidate_oak_1_2, resilience
> Fix For: 1.4.15, 1.5.11, 1.6.0
>
> Attachments: OAK-4793-1.diff, OAK-4793-2.diff, OAK-4793.diff, 
> OAK-4793.diff
>
>
> With OAK-4771 the usage of DocumentStoreException was clarified in the 
> DocumentStore interface. The purpose of this task is to check usage of the 
> DocumentStoreException in RDBDocumentStore and make sure JDBC driver specific 
> exceptions are handled consistently and wrapped in a DocumentStoreException. 
> At the same time, cache consistency needs to be checked as well in case of a 
> driver exception. E.g. invalidate if necessary.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (OAK-5855) RDBDocumentStore: improve query support for VersionGC

2017-03-13 Thread Julian Reschke (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-5855?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated OAK-5855:

Attachment: OAK-5855-12.diff

(wip)

> RDBDocumentStore: improve query support for VersionGC
> -
>
> Key: OAK-5855
> URL: https://issues.apache.org/jira/browse/OAK-5855
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: rdbmk
>Reporter: Julian Reschke
>Assignee: Julian Reschke
>Priority: Minor
> Attachments: OAK-5855-10.diff, OAK-5855-11.diff, OAK-5855-12.diff, 
> OAK-5855-2.diff, OAK-5855-3.diff, OAK-5855-4.diff, OAK-5855-5.diff, 
> OAK-5855-6.diff, OAK-5855-7.diff, OAK-5855-8.diff, OAK-5855-9.diff, 
> OAK-5855.diff
>
>
> ...matching {{MongoVersionSupport}}, such as: no batched query needed; just 
> return an iterable over delete candidates. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (OAK-5920) Checkpoint migration will fail if the MissingBlobStore is used

2017-03-13 Thread JIRA

[ 
https://issues.apache.org/jira/browse/OAK-5920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15907395#comment-15907395
 ] 

Tomek Rękawek edited comment on OAK-5920 at 3/13/17 12:49 PM:
--

Updated the warning message to:
{quote}
Checkpoints won't be copied, because no external datastore has been specified. 
This will result in the full repository reindexing on the first start. See 
https://jackrabbit.apache.org/oak/docs/migration.html#Checkpoints_migration for 
more info.
{quote}
Revision: [r1786673|https://svn.apache.org/r1786673].


was (Author: tomek.rekawek):
Updated the warning message and the documentation in 
[r1786673|https://svn.apache.org/r1786673].

> Checkpoint migration will fail if the MissingBlobStore is used
> --
>
> Key: OAK-5920
> URL: https://issues.apache.org/jira/browse/OAK-5920
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: upgrade
>Affects Versions: 1.6.1
>Reporter: Tomek Rękawek
>Assignee: Tomek Rękawek
> Fix For: 1.7.0
>
>
> It seems that the checkpoint migration doesn't work with the missing blob 
> store:
> {noformat}
> 09.03.2017 07:44:22.777 INFO   o.a.j.o.u.RepositorySidegrade: Copying node 
> #2638: 
> /libs/fd/af/components/panel/cq:styleConfig/items/wizardPanel/items/wizardPanelScrollers
> 09.03.2017 07:44:22.813 INFO   o.a.j.o.u.RepositorySidegrade: Copying node 
> #2639: 
> /apps/acs-commons/components/content/sharethis-buttons/dialog/items/items
> 09.03.2017 07:44:31.805 INFO   o.a.j.o.s.f.FileStore: TarMK closed: 
> /mnt/crx/publish/crx-quickstart/repository-segment-tar-20170309-072655/segmentstore
> 09.03.2017 07:44:32.051 INFO   o.a.j.o.p.s.f.FileStore: TarMK closed: 
> /mnt/crx/publish/crx-quickstart/repository/segmentstore
> Caused by: java.lang.RuntimeException: javax.jcr.RepositoryException: Failed 
> to copy content
>   at com.google.common.io.Closer.rethrow(Closer.java:149)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:81)
>   at 
> com.adobe.granite.crx2oak.engine.MigrationEngine$2.doMigration(MigrationEngine.java:66)
>   at 
> com.adobe.granite.crx2oak.engine.MigrationEngine.process(MigrationEngine.java:91)
>   at com.adobe.granite.crx2oak.pipeline.Pipeline.run(Pipeline.java:103)
>   at com.adobe.granite.crx2oak.CRX2Oak.run(CRX2Oak.java:66)
>   at com.adobe.granite.crx2oak.CRX2Oak.main(CRX2Oak.java:51)
>   ... 6 more
> Caused by: javax.jcr.RepositoryException: Failed to copy content
>   at 
> org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:286)
>   at 
> org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:242)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.sidegrade(OakUpgrade.java:92)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:78)
>   ... 11 more
> Caused by: java.lang.UnsupportedOperationException
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.blob.MissingBlobStore.getInputStream(MissingBlobStore.java:62)
>   at 
> org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob.getNewStream(BlobStoreBlob.java:47)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:276)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:86)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractBlob$1.openStream(AbstractBlob.java:44)
>   at com.google.common.io.ByteSource.contentEquals(ByteSource.java:344)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractBlob.equal(AbstractBlob.java:67)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.equals(SegmentBlob.java:227)
>   at com.google.common.base.Objects.equal(Objects.java:60)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState.equal(AbstractPropertyState.java:53)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.equals(SegmentPropertyState.java:242)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareProperties(SegmentNodeState.java:617)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:511)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
>   at 
> 

[jira] [Commented] (OAK-5920) Checkpoint migration will fail if the MissingBlobStore is used

2017-03-13 Thread JIRA

[ 
https://issues.apache.org/jira/browse/OAK-5920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15907395#comment-15907395
 ] 

Tomek Rękawek commented on OAK-5920:


Updated the warning message and the documentation in 
[r1786673|https://svn.apache.org/r1786673].

> Checkpoint migration will fail if the MissingBlobStore is used
> --
>
> Key: OAK-5920
> URL: https://issues.apache.org/jira/browse/OAK-5920
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: upgrade
>Affects Versions: 1.6.1
>Reporter: Tomek Rękawek
>Assignee: Tomek Rękawek
> Fix For: 1.7.0
>
>
> It seems that the checkpoint migration doesn't work with the missing blob 
> store:
> {noformat}
> 09.03.2017 07:44:22.777 INFO   o.a.j.o.u.RepositorySidegrade: Copying node 
> #2638: 
> /libs/fd/af/components/panel/cq:styleConfig/items/wizardPanel/items/wizardPanelScrollers
> 09.03.2017 07:44:22.813 INFO   o.a.j.o.u.RepositorySidegrade: Copying node 
> #2639: 
> /apps/acs-commons/components/content/sharethis-buttons/dialog/items/items
> 09.03.2017 07:44:31.805 INFO   o.a.j.o.s.f.FileStore: TarMK closed: 
> /mnt/crx/publish/crx-quickstart/repository-segment-tar-20170309-072655/segmentstore
> 09.03.2017 07:44:32.051 INFO   o.a.j.o.p.s.f.FileStore: TarMK closed: 
> /mnt/crx/publish/crx-quickstart/repository/segmentstore
> Caused by: java.lang.RuntimeException: javax.jcr.RepositoryException: Failed 
> to copy content
>   at com.google.common.io.Closer.rethrow(Closer.java:149)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:81)
>   at 
> com.adobe.granite.crx2oak.engine.MigrationEngine$2.doMigration(MigrationEngine.java:66)
>   at 
> com.adobe.granite.crx2oak.engine.MigrationEngine.process(MigrationEngine.java:91)
>   at com.adobe.granite.crx2oak.pipeline.Pipeline.run(Pipeline.java:103)
>   at com.adobe.granite.crx2oak.CRX2Oak.run(CRX2Oak.java:66)
>   at com.adobe.granite.crx2oak.CRX2Oak.main(CRX2Oak.java:51)
>   ... 6 more
> Caused by: javax.jcr.RepositoryException: Failed to copy content
>   at 
> org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:286)
>   at 
> org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:242)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.sidegrade(OakUpgrade.java:92)
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:78)
>   ... 11 more
> Caused by: java.lang.UnsupportedOperationException
>   at 
> org.apache.jackrabbit.oak.upgrade.cli.blob.MissingBlobStore.getInputStream(MissingBlobStore.java:62)
>   at 
> org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob.getNewStream(BlobStoreBlob.java:47)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:276)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:86)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractBlob$1.openStream(AbstractBlob.java:44)
>   at com.google.common.io.ByteSource.contentEquals(ByteSource.java:344)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractBlob.equal(AbstractBlob.java:67)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.equals(SegmentBlob.java:227)
>   at com.google.common.base.Objects.equal(Objects.java:60)
>   at 
> org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState.equal(AbstractPropertyState.java:53)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.equals(SegmentPropertyState.java:242)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareProperties(SegmentNodeState.java:617)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:511)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:456)
>   at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
>   at 
> org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
>   at 
> 

[jira] [Updated] (OAK-5921) Make import org.apache.log4j optional

2017-03-13 Thread JIRA

 [ 
https://issues.apache.org/jira/browse/OAK-5921?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Dürig updated OAK-5921:
---
Fix Version/s: 1.7.0

> Make import org.apache.log4j optional
> -
>
> Key: OAK-5921
> URL: https://issues.apache.org/jira/browse/OAK-5921
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: segment-tar
>Affects Versions: 1.6.1
>Reporter: Oliver Lietz
> Fix For: 1.7.0
>
> Attachments: OAK-5921.patch
>
>
> {{oak-segment-tar}} imports {{org.apache.log4j}}. I didn't investigate why 
> {{oak-segment-tar}} is importing {{org.apache.log4j}} at all (no direct use), 
> but that import could be optional (did some tests in Sling).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (OAK-4802) Basic cache consistency test on exception

2017-03-13 Thread Julian Reschke (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-4802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15907087#comment-15907087
 ] 

Julian Reschke commented on OAK-4802:
-

trunk: [r1760701|http://svn.apache.org/r1760701] 
[r1760677|http://svn.apache.org/r1760677]
1.4: [r1786646|http://svn.apache.org/r1786646] 
[r1786640|http://svn.apache.org/r1786640]


> Basic cache consistency test on exception
> -
>
> Key: OAK-4802
> URL: https://issues.apache.org/jira/browse/OAK-4802
> Project: Jackrabbit Oak
>  Issue Type: Test
>  Components: core, documentmk
>Reporter: Marcel Reutegger
>Assignee: Marcel Reutegger
>Priority: Minor
>  Labels: candidate_oak_1_0, candidate_oak_1_2, resilience
> Fix For: 1.4.15, 1.5.11, 1.6.0
>
>
> OAK-4774 and OAK-4793 aim to check if the cache behaviour of a DocumentStore 
> implementation when the underlying backend throws an exception even though 
> the operation succeeded. E.g. the response cannot be sent back because of a 
> network issue.
> This issue will provide the DocumentStore independent part of those tests.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (OAK-4802) Basic cache consistency test on exception

2017-03-13 Thread Julian Reschke (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-4802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated OAK-4802:

Labels: candidate_oak_1_0 candidate_oak_1_2 resilience  (was: 
candidate_oak_1_0 candidate_oak_1_2 candidate_oak_1_4 resilience)

> Basic cache consistency test on exception
> -
>
> Key: OAK-4802
> URL: https://issues.apache.org/jira/browse/OAK-4802
> Project: Jackrabbit Oak
>  Issue Type: Test
>  Components: core, documentmk
>Reporter: Marcel Reutegger
>Assignee: Marcel Reutegger
>Priority: Minor
>  Labels: candidate_oak_1_0, candidate_oak_1_2, resilience
> Fix For: 1.4.15, 1.5.11, 1.6.0
>
>
> OAK-4774 and OAK-4793 aim to check if the cache behaviour of a DocumentStore 
> implementation when the underlying backend throws an exception even though 
> the operation succeeded. E.g. the response cannot be sent back because of a 
> network issue.
> This issue will provide the DocumentStore independent part of those tests.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (OAK-4802) Basic cache consistency test on exception

2017-03-13 Thread Julian Reschke (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-4802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated OAK-4802:

Fix Version/s: 1.4.15

> Basic cache consistency test on exception
> -
>
> Key: OAK-4802
> URL: https://issues.apache.org/jira/browse/OAK-4802
> Project: Jackrabbit Oak
>  Issue Type: Test
>  Components: core, documentmk
>Reporter: Marcel Reutegger
>Assignee: Marcel Reutegger
>Priority: Minor
>  Labels: candidate_oak_1_0, candidate_oak_1_2, resilience
> Fix For: 1.4.15, 1.5.11, 1.6.0
>
>
> OAK-4774 and OAK-4793 aim to check if the cache behaviour of a DocumentStore 
> implementation when the underlying backend throws an exception even though 
> the operation succeeded. E.g. the response cannot be sent back because of a 
> network issue.
> This issue will provide the DocumentStore independent part of those tests.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (OAK-5920) Checkpoint migration will fail if the MissingBlobStore is used

2017-03-13 Thread Arek Kita (JIRA)

 [ 
https://issues.apache.org/jira/browse/OAK-5920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Arek Kita updated OAK-5920:
---
Description: 
It seems that the checkpoint migration doesn't work with the missing blob store:

{noformat}
09.03.2017 07:44:22.777 INFO   o.a.j.o.u.RepositorySidegrade: Copying node 
#2638: 
/libs/fd/af/components/panel/cq:styleConfig/items/wizardPanel/items/wizardPanelScrollers
09.03.2017 07:44:22.813 INFO   o.a.j.o.u.RepositorySidegrade: Copying node 
#2639: 
/apps/acs-commons/components/content/sharethis-buttons/dialog/items/items
09.03.2017 07:44:31.805 INFO   o.a.j.o.s.f.FileStore: TarMK closed: 
/mnt/crx/publish/crx-quickstart/repository-segment-tar-20170309-072655/segmentstore
09.03.2017 07:44:32.051 INFO   o.a.j.o.p.s.f.FileStore: TarMK closed: 
/mnt/crx/publish/crx-quickstart/repository/segmentstore
Caused by: java.lang.RuntimeException: javax.jcr.RepositoryException: Failed to 
copy content
at com.google.common.io.Closer.rethrow(Closer.java:149)
at 
org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:81)
at 
com.adobe.granite.crx2oak.engine.MigrationEngine$2.doMigration(MigrationEngine.java:66)
at 
com.adobe.granite.crx2oak.engine.MigrationEngine.process(MigrationEngine.java:91)
at com.adobe.granite.crx2oak.pipeline.Pipeline.run(Pipeline.java:103)
at com.adobe.granite.crx2oak.CRX2Oak.run(CRX2Oak.java:66)
at com.adobe.granite.crx2oak.CRX2Oak.main(CRX2Oak.java:51)
... 6 more
Caused by: javax.jcr.RepositoryException: Failed to copy content
at 
org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:286)
at 
org.apache.jackrabbit.oak.upgrade.RepositorySidegrade.copy(RepositorySidegrade.java:242)
at 
org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.sidegrade(OakUpgrade.java:92)
at 
org.apache.jackrabbit.oak.upgrade.cli.OakUpgrade.migrate(OakUpgrade.java:78)
... 11 more
Caused by: java.lang.UnsupportedOperationException
at 
org.apache.jackrabbit.oak.upgrade.cli.blob.MissingBlobStore.getInputStream(MissingBlobStore.java:62)
at 
org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob.getNewStream(BlobStoreBlob.java:47)
at 
org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:276)
at 
org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.getNewStream(SegmentBlob.java:86)
at 
org.apache.jackrabbit.oak.plugins.memory.AbstractBlob$1.openStream(AbstractBlob.java:44)
at com.google.common.io.ByteSource.contentEquals(ByteSource.java:344)
at 
org.apache.jackrabbit.oak.plugins.memory.AbstractBlob.equal(AbstractBlob.java:67)
at 
org.apache.jackrabbit.oak.plugins.segment.SegmentBlob.equals(SegmentBlob.java:227)
at com.google.common.base.Objects.equal(Objects.java:60)
at 
org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState.equal(AbstractPropertyState.java:53)
at 
org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.equals(SegmentPropertyState.java:242)
at 
org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareProperties(SegmentNodeState.java:617)
at 
org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:511)
at 
org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
at 
org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
at 
org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
at 
org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
at 
org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
at 
org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:456)
at 
org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
at 
org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
at 
org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:551)
at 
org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
at 
org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:456)
at 
org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:604)
at 
org.apache.jackrabbit.oak.spi.state.ApplyDiff.childNodeChanged(ApplyDiff.java:87)
at 
org.apache.jackrabbit.oak.plugins.segment.MapRecord$2.childNodeChanged(MapRecord.java:399)
at 
org.apache.jackrabbit.oak.plugins.segment.MapRecord.compare(MapRecord.java:456)
at