[jira] [Updated] (OAK-3253) Support caching in FileDataStoreService

2015-08-19 Thread Shashank Gupta (JIRA)

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

Shashank Gupta updated OAK-3253:

Labels: candidate_oak_1_0 candidate_oak_1_2 docs-impacting features 
performance  (was: )

 Support caching in FileDataStoreService
 ---

 Key: OAK-3253
 URL: https://issues.apache.org/jira/browse/OAK-3253
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: blob
Affects Versions: 1.3.3
Reporter: Shashank Gupta
Assignee: Shashank Gupta
  Labels: candidate_oak_1_0, candidate_oak_1_2, docs-impacting, 
 features, performance
 Fix For: 1.3.4


 FDS on SAN/NAS storage is not efficient as it involves network call. In OAK. 
 indexes are stored SAN/NAS and even idle system does lot of read system 
 generated data. 
 Enable caching in FDS so the reads are done locally and async upload to 
 SAN/NAS
 See [previous 
 discussions|https://issues.apache.org/jira/browse/OAK-3005?focusedCommentId=14700801page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14700801]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (OAK-3254) Log expensive NodeDocument.getNewestRevision() call

2015-08-19 Thread Marcel Reutegger (JIRA)
Marcel Reutegger created OAK-3254:
-

 Summary: Log expensive NodeDocument.getNewestRevision() call
 Key: OAK-3254
 URL: https://issues.apache.org/jira/browse/OAK-3254
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: core, mongomk
Reporter: Marcel Reutegger
Assignee: Marcel Reutegger


NodeDocument.getNewestRevision() is usually rather quick because it only needs 
to check changes on the current document. Sometimes it may happen that previous 
documents are accessed the call is more expensive. I would like to add a debug 
log when this happens to identify the documents.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3251) speeding up the build time

2015-08-19 Thread Davide Giannella (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702933#comment-14702933
 ] 

Davide Giannella commented on OAK-3251:
---

Didn't look at the actual code yet so a full investigation and check
will be needed; but here's the plan. Can the mentioned ppl share their
opinions?

[~mduerig], [~alex.parvulescu]

{noformat}
org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
{noformat}

- add the Fixture concept to the tests (if not already there)
- move them as IT (ie renaming the classes as *IT)

[~egli], [~reschke], [~mreutegg]

{noformat}
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
{noformat}

- add the Fixture concept to the tests (if not already there)
- move them as IT (ie renaming the classes as *IT)


[~tmueller]

{noformat}
110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
{noformat}

- does it make sense to move them as ITs?
- if so will move them and see later on about what we can do to
  actually speed-up the execution.



 speeding up the build time
 --

 Key: OAK-3251
 URL: https://issues.apache.org/jira/browse/OAK-3251
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Attachments: oak-build-for-unittests-times.log, oak-build-times.log


 Running the build with a {mvn clean install} takes a considerable amount of 
 time: 15 minutes on my local.
 The top 10 slowest unit test are the following
 {noformat}
 110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 54.012 sec 
 org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
 36.593 sec 
 org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
 35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
 24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
 17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
 16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
 14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
 11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
 {noformat}
 Is there anything we could do to speed-up these?
 sorted times obtained with 
 https://gist.github.com/davidegiannella/b1d3cbe51d1f70314500



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (OAK-3254) Log expensive NodeDocument.getNewestRevision() call

2015-08-19 Thread Marcel Reutegger (JIRA)

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

Marcel Reutegger resolved OAK-3254.
---
   Resolution: Fixed
Fix Version/s: 1.3.5

Done in trunk: http://svn.apache.org/r1696578

 Log expensive NodeDocument.getNewestRevision() call
 ---

 Key: OAK-3254
 URL: https://issues.apache.org/jira/browse/OAK-3254
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: core, mongomk
Reporter: Marcel Reutegger
Assignee: Marcel Reutegger
 Fix For: 1.3.5


 NodeDocument.getNewestRevision() is usually rather quick because it only 
 needs to check changes on the current document. Sometimes it may happen that 
 previous documents are accessed the call is more expensive. I would like to 
 add a debug log when this happens to identify the documents.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3251) speeding up the build time

2015-08-19 Thread JIRA

[ 
https://issues.apache.org/jira/browse/OAK-3251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702912#comment-14702912
 ] 

Michael Dürig commented on OAK-3251:


Some of those should probably be ITs instead of UTs. Personally I wouldn't mind 
to move all of them to ITs.

 speeding up the build time
 --

 Key: OAK-3251
 URL: https://issues.apache.org/jira/browse/OAK-3251
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Attachments: oak-build-for-unittests-times.log, oak-build-times.log


 Running the build with a {mvn clean install} takes a considerable amount of 
 time: 15 minutes on my local.
 The top 10 slowest unit test are the following
 {noformat}
 110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 54.012 sec 
 org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
 36.593 sec 
 org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
 35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
 24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
 17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
 16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
 14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
 11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
 {noformat}
 Is there anything we could do to speed-up these?
 sorted times obtained with 
 https://gist.github.com/davidegiannella/b1d3cbe51d1f70314500



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-1752) Node name queries should use an index

2015-08-19 Thread Thomas Mueller (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-1752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14703031#comment-14703031
 ] 

Thomas Mueller commented on OAK-1752:
-

OAK-2634 is done now. Please note this patch will need a few changes because of 
this (changed name, currently disabled property in the Lucene index)

 Node name queries should use an index
 -

 Key: OAK-1752
 URL: https://issues.apache.org/jira/browse/OAK-1752
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: query
Reporter: Alex Parvulescu
Assignee: Chetan Mehrotra
 Fix For: 1.3.5

 Attachments: OAK-1752.patch


 The node name queries don't use any index currently, making them really slow 
 and triggering a lot of traversal warnings.
 Simply adding node names to a property index would be too much content 
 indexed, but as Lucene already indexes the node names, using this index would 
 be one viable option.
 {code}
 /jcr:root//*[fn:name() = 'jcr:content']
 /jcr:root//*[jcr:like(fn:name(), 'jcr:con%')] 
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3239) Port RepositoryUpgrade features to the RepositorySidegrade

2015-08-19 Thread JIRA

[ 
https://issues.apache.org/jira/browse/OAK-3239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702898#comment-14702898
 ] 

Tomek Rękawek commented on OAK-3239:


Patch attached.

 Port RepositoryUpgrade features to the RepositorySidegrade
 --

 Key: OAK-3239
 URL: https://issues.apache.org/jira/browse/OAK-3239
 Project: Jackrabbit Oak
  Issue Type: New Feature
  Components: upgrade
Reporter: Tomek Rękawek
 Attachments: OAK-3239.patch


 The RepositoryUpgrade class is used to convert CRX2 repository to an Oak node 
 store. Recently it gained a lot of features (repeated upgrades, skipping 
 orphaned versions, filters, etc.) These features are not available in the 
 RepositorySidegrade (used to copy one Oak node store to another one). This is 
 a container task for providing the new features to the RepositorySidegrade.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3251) speeding up the build time

2015-08-19 Thread JIRA

[ 
https://issues.apache.org/jira/browse/OAK-3251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702943#comment-14702943
 ] 

Michael Dürig commented on OAK-3251:


I'd be fine with moving the segment tests to ITs. 

 speeding up the build time
 --

 Key: OAK-3251
 URL: https://issues.apache.org/jira/browse/OAK-3251
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Attachments: oak-build-for-unittests-times.log, oak-build-times.log


 Running the build with a {mvn clean install} takes a considerable amount of 
 time: 15 minutes on my local.
 The top 10 slowest unit test are the following
 {noformat}
 110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 54.012 sec 
 org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
 36.593 sec 
 org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
 35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
 24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
 17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
 16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
 14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
 11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
 {noformat}
 Is there anything we could do to speed-up these?
 sorted times obtained with 
 https://gist.github.com/davidegiannella/b1d3cbe51d1f70314500



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-2875) Namespaces keep references to old node states

2015-08-19 Thread JIRA

[ 
https://issues.apache.org/jira/browse/OAK-2875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14703004#comment-14703004
 ] 

Michael Dürig commented on OAK-2875:


You are right. This didn't occur to me earlier. In this case +1 from me for the 
patch.



 Namespaces keep references to old node states
 -

 Key: OAK-2875
 URL: https://issues.apache.org/jira/browse/OAK-2875
 Project: Jackrabbit Oak
  Issue Type: Sub-task
  Components: core, jcr
Reporter: Alex Parvulescu
Assignee: Alex Parvulescu
 Fix For: 1.3.5

 Attachments: OAK-2875-v1.patch, OAK-2875-v2.patch


 As described on the parent issue OA2849, the session namespaces keep a 
 reference to a Tree instance which will make GC inefficient.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (OAK-2634) QueryEngine should expose name query as property restriction

2015-08-19 Thread Thomas Mueller (JIRA)

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

Thomas Mueller resolved OAK-2634.
-
Resolution: Fixed

http://svn.apache.org/r1696587

(oak-core and oak-lucene, where I had to disable index lookup for this property 
currently)

 QueryEngine should expose name query as property restriction
 

 Key: OAK-2634
 URL: https://issues.apache.org/jira/browse/OAK-2634
 Project: Jackrabbit Oak
  Issue Type: Sub-task
  Components: query
Reporter: Chetan Mehrotra
Assignee: Thomas Mueller
 Fix For: 1.3.5

 Attachments: OAK-2634-with-test.patch, OAK-2634.patch


 Currently {{NodeNameImpl}} and {{NodeLocalNameImpl}} do not add restriction 
 to a filter hence query index cannot handle such queries.
 To allow faster execution name related restriction can be converted to a 
 property restriction



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (OAK-2735) MongoDiffCacheTest.sizeLimit() uses too much memory

2015-08-19 Thread Marcel Reutegger (JIRA)

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

Marcel Reutegger resolved OAK-2735.
---
   Resolution: Not A Problem
Fix Version/s: (was: 1.3.5)

MongoDiffCache was removed in OAK-3223. This is not a problem anymore.

 MongoDiffCacheTest.sizeLimit() uses too much memory
 ---

 Key: OAK-2735
 URL: https://issues.apache.org/jira/browse/OAK-2735
 Project: Jackrabbit Oak
  Issue Type: Test
  Components: core
Reporter: Marcel Reutegger
Assignee: Marcel Reutegger
Priority: Minor
  Labels: CI

 The diff created by the test uses a lot of memory. Either test test should be 
 changed or the implementation should ignore further changes once a threshold 
 is reached.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (OAK-3252) make AbstractQueryTest#test() reflects real file paths

2015-08-19 Thread Davide Giannella (JIRA)

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

Davide Giannella resolved OAK-3252.
---
   Resolution: Fixed
Fix Version/s: 1.3.5

in trunk at http://svn.apache.org/r1696563

 make AbstractQueryTest#test() reflects real file paths
 --

 Key: OAK-3252
 URL: https://issues.apache.org/jira/browse/OAK-3252
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Fix For: 1.3.5


 When a failure happens during the execution of {{AbstractQueryTest#test()}} 
 an error message like the following is shown.
 {noformat}
 sql2(org.apache.jackrabbit.oak.plugins.index.property.OrderedIndexQueryTest): 
 Results in target/sql2.txt don't match expected results in 
 src/test/resources/sql2.txt; compare the files for details
 {noformat}
 the file paths highlighted don't reflect the actual file. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-3253) Support caching in FileDataStoreService

2015-08-19 Thread Shashank Gupta (JIRA)

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

Shashank Gupta updated OAK-3253:

Fix Version/s: 1.3.4

 Support caching in FileDataStoreService
 ---

 Key: OAK-3253
 URL: https://issues.apache.org/jira/browse/OAK-3253
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: blob
Affects Versions: 1.3.3
Reporter: Shashank Gupta
Assignee: Shashank Gupta
 Fix For: 1.3.4


 FDS on SAN/NAS storage is not efficient as it involves network call. In OAK. 
 indexes are stored SAN/NAS and even idle system does lot of read system 
 generated data. 
 Enable caching in FDS so the reads are done locally and async upload to 
 SAN/NAS
 See [previous 
 discussions|https://issues.apache.org/jira/browse/OAK-3005?focusedCommentId=14700801page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14700801]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-2896) Putting many elements into a map results in many small segments.

2015-08-19 Thread JIRA

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

Michael Dürig updated OAK-2896:
---
Fix Version/s: (was: 1.3.5)
   1.4

 Putting many elements into a map results in many small segments. 
 -

 Key: OAK-2896
 URL: https://issues.apache.org/jira/browse/OAK-2896
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: segmentmk
Reporter: Michael Dürig
Assignee: Michael Dürig
  Labels: performance
 Fix For: 1.4

 Attachments: OAK-2896.png, OAK-2896.xlsx


 There is an issue with how the HAMT implementation 
 ({{SegmentWriter.writeMap()}} interacts with the 256 segment references limit 
 when putting many entries into the map: This limit gets regularly reached 
 once the maps contains about 200k entries. At that points segments get 
 prematurely flushed resulting in more segments, thus more references and thus 
 even smaller segments. It is common for segments to be as small as 7k with a 
 tar file containing up to 35k segments. This is problematic as at this point 
 handling of the segment graph becomes expensive, both memory and CPU wise. I 
 have seen persisted segment graphs as big as 35M where the usual size is a 
 couple of ks. 
 As the HAMT map is used for storing children of a node this might have an 
 advert effect on nodes with many child nodes. 
 The following code can be used to reproduce the issue: 
 {code}
 SegmentWriter writer = new SegmentWriter(segmentStore, getTracker(), V_11);
 MapRecord baseMap = null;
 for (;;) {
 MapString, RecordId map = newHashMap();
 for (int k = 0; k  1000; k++) {
 RecordId stringId = 
 writer.writeString(String.valueOf(rnd.nextLong()));
 map.put(String.valueOf(rnd.nextLong()), stringId);
 }
 Stopwatch w = Stopwatch.createStarted();
 baseMap = writer.writeMap(baseMap, map);
 System.out.println(baseMap.size() +   + w.elapsed());
 }
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-3253) Support caching in FileDataStoreService

2015-08-19 Thread Shashank Gupta (JIRA)

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

Shashank Gupta updated OAK-3253:

Component/s: blob

 Support caching in FileDataStoreService
 ---

 Key: OAK-3253
 URL: https://issues.apache.org/jira/browse/OAK-3253
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: blob
Affects Versions: 1.3.3
Reporter: Shashank Gupta
Assignee: Shashank Gupta
 Fix For: 1.3.4


 FDS on SAN/NAS storage is not efficient as it involves network call. In OAK. 
 indexes are stored SAN/NAS and even idle system does lot of read system 
 generated data. 
 Enable caching in FDS so the reads are done locally and async upload to 
 SAN/NAS
 See [previous 
 discussions|https://issues.apache.org/jira/browse/OAK-3005?focusedCommentId=14700801page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14700801]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-3253) Support caching in FileDataStoreService

2015-08-19 Thread Shashank Gupta (JIRA)

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

Shashank Gupta updated OAK-3253:

Affects Version/s: 1.3.3

 Support caching in FileDataStoreService
 ---

 Key: OAK-3253
 URL: https://issues.apache.org/jira/browse/OAK-3253
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: blob
Affects Versions: 1.3.3
Reporter: Shashank Gupta
Assignee: Shashank Gupta
 Fix For: 1.3.4


 FDS on SAN/NAS storage is not efficient as it involves network call. In OAK. 
 indexes are stored SAN/NAS and even idle system does lot of read system 
 generated data. 
 Enable caching in FDS so the reads are done locally and async upload to 
 SAN/NAS
 See [previous 
 discussions|https://issues.apache.org/jira/browse/OAK-3005?focusedCommentId=14700801page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14700801]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-3163) Improve binary comparison during repeated upgrades

2015-08-19 Thread JIRA

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

Michael Dürig updated OAK-3163:
---
Assignee: Manfred Baedke

 Improve binary comparison during repeated upgrades
 --

 Key: OAK-3163
 URL: https://issues.apache.org/jira/browse/OAK-3163
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: upgrade
Affects Versions: 1.2.3, 1.3.3
Reporter: Julian Sedding
Assignee: Manfred Baedke
  Labels: performance
 Fix For: 1.3.5

 Attachments: OAK-3163.patch


 OAK-2619 introduced the possibility to run the same upgrade repeatedly and 
 achieve incremental upgrades. This reduces the time taken for {{CommitHook}} 
 processing, because the diff is reduced.
 However, for incremental upgrades to be really useful, the content-copy phase 
 needs to be fast. Currently an optimization that was proposed in OAK-2626 was 
 lost due to the implementation of a better solution to some part of the 
 problem. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-3239) Port RepositoryUpgrade features to the RepositorySidegrade

2015-08-19 Thread JIRA

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

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

 Port RepositoryUpgrade features to the RepositorySidegrade
 --

 Key: OAK-3239
 URL: https://issues.apache.org/jira/browse/OAK-3239
 Project: Jackrabbit Oak
  Issue Type: New Feature
  Components: upgrade
Reporter: Tomek Rękawek
 Attachments: OAK-3239.patch


 The RepositoryUpgrade class is used to convert CRX2 repository to an Oak node 
 store. Recently it gained a lot of features (repeated upgrades, skipping 
 orphaned versions, filters, etc.) These features are not available in the 
 RepositorySidegrade (used to copy one Oak node store to another one). This is 
 a container task for providing the new features to the RepositorySidegrade.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-3239) Port RepositoryUpgrade features to the RepositorySidegrade

2015-08-19 Thread JIRA

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

Tomek Rękawek updated OAK-3239:
---
Flags: Patch

 Port RepositoryUpgrade features to the RepositorySidegrade
 --

 Key: OAK-3239
 URL: https://issues.apache.org/jira/browse/OAK-3239
 Project: Jackrabbit Oak
  Issue Type: New Feature
  Components: upgrade
Reporter: Tomek Rękawek
 Attachments: OAK-3239.patch


 The RepositoryUpgrade class is used to convert CRX2 repository to an Oak node 
 store. Recently it gained a lot of features (repeated upgrades, skipping 
 orphaned versions, filters, etc.) These features are not available in the 
 RepositorySidegrade (used to copy one Oak node store to another one). This is 
 a container task for providing the new features to the RepositorySidegrade.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (OAK-3253) Support caching in FileDataStoreService

2015-08-19 Thread Shashank Gupta (JIRA)
Shashank Gupta created OAK-3253:
---

 Summary: Support caching in FileDataStoreService
 Key: OAK-3253
 URL: https://issues.apache.org/jira/browse/OAK-3253
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Shashank Gupta
Assignee: Shashank Gupta


FDS on SAN/NAS storage is not efficient as it involves network call. In OAK. 
indexes are stored SAN/NAS and even idle system does lot of read system 
generated data. 

Enable caching in FDS so the reads are done locally and async upload to SAN/NAS

See [previous 
discussions|https://issues.apache.org/jira/browse/OAK-3005?focusedCommentId=14700801page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14700801]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3239) Port RepositoryUpgrade features to the RepositorySidegrade

2015-08-19 Thread JIRA

[ 
https://issues.apache.org/jira/browse/OAK-3239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702907#comment-14702907
 ] 

Tomek Rękawek commented on OAK-3239:


[~baedke], could you take a look and merge the patch? Thanks!

 Port RepositoryUpgrade features to the RepositorySidegrade
 --

 Key: OAK-3239
 URL: https://issues.apache.org/jira/browse/OAK-3239
 Project: Jackrabbit Oak
  Issue Type: New Feature
  Components: upgrade
Reporter: Tomek Rękawek
 Attachments: OAK-3239.patch


 The RepositoryUpgrade class is used to convert CRX2 repository to an Oak node 
 store. Recently it gained a lot of features (repeated upgrades, skipping 
 orphaned versions, filters, etc.) These features are not available in the 
 RepositorySidegrade (used to copy one Oak node store to another one). This is 
 a container task for providing the new features to the RepositorySidegrade.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3251) speeding up the build time

2015-08-19 Thread Julian Reschke (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702939#comment-14702939
 ] 

Julian Reschke commented on OAK-3251:
-

I'm not convinced. I'd prefer that a regular unit test run on oak-core actually 
covers all DocumentStore implementations.


 speeding up the build time
 --

 Key: OAK-3251
 URL: https://issues.apache.org/jira/browse/OAK-3251
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Attachments: oak-build-for-unittests-times.log, oak-build-times.log


 Running the build with a {mvn clean install} takes a considerable amount of 
 time: 15 minutes on my local.
 The top 10 slowest unit test are the following
 {noformat}
 110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 54.012 sec 
 org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
 36.593 sec 
 org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
 35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
 24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
 17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
 16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
 14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
 11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
 {noformat}
 Is there anything we could do to speed-up these?
 sorted times obtained with 
 https://gist.github.com/davidegiannella/b1d3cbe51d1f70314500



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (OAK-3252) make AbstractQueryTest#test() reflects real file paths

2015-08-19 Thread Davide Giannella (JIRA)
Davide Giannella created OAK-3252:
-

 Summary: make AbstractQueryTest#test() reflects real file paths
 Key: OAK-3252
 URL: https://issues.apache.org/jira/browse/OAK-3252
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella


When a failure happens during the execution of {{AbstractQueryTest#test()}} an 
error message like the following is shown.

{noformat}
sql2(org.apache.jackrabbit.oak.plugins.index.property.OrderedIndexQueryTest): 
Results in target/sql2.txt don't match expected results in 
src/test/resources/sql2.txt; compare the files for details
{noformat}

the file paths highlighted don't reflect the actual file. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3251) speeding up the build time

2015-08-19 Thread Davide Giannella (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14703094#comment-14703094
 ] 

Davide Giannella commented on OAK-3251:
---

[~reschke] are you referring to the Fixture thing or the IT move? Or both? For 
the fixture we'll have the test running for all DOCUMENT fixtures; but you'll 
have to provide the parameter on the command line as the default clean install 
runs SEGMENT_MK.

 speeding up the build time
 --

 Key: OAK-3251
 URL: https://issues.apache.org/jira/browse/OAK-3251
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Attachments: oak-build-for-unittests-times.log, oak-build-times.log


 Running the build with a {mvn clean install} takes a considerable amount of 
 time: 15 minutes on my local.
 The top 10 slowest unit test are the following
 {noformat}
 110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 54.012 sec 
 org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
 36.593 sec 
 org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
 35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
 24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
 17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
 16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
 14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
 11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
 {noformat}
 Is there anything we could do to speed-up these?
 sorted times obtained with 
 https://gist.github.com/davidegiannella/b1d3cbe51d1f70314500



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3251) speeding up the build time

2015-08-19 Thread Julian Reschke (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14703106#comment-14703106
 ] 

Julian Reschke commented on OAK-3251:
-

...the fixture. I can see why higher-level projects (say oak-jcr) do not need 
to be unit-tested with each MK implementation by default, but I believe the 
answer needs to be different for oak-core. A standard unit test run should 
exercise at least basic functionality of all code that's in, and that implies 
for instance running the same set of tests for each implementation of the 
DocumentStore API.

If specific tests are too slow then yes we should check whether we can speed 
them up, or make them ITs (BTW: do we have documentation about how to do that 
properly? The approach that I adopted from other tests doesn't scale well at 
all :-)

 speeding up the build time
 --

 Key: OAK-3251
 URL: https://issues.apache.org/jira/browse/OAK-3251
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Attachments: oak-build-for-unittests-times.log, oak-build-times.log


 Running the build with a {mvn clean install} takes a considerable amount of 
 time: 15 minutes on my local.
 The top 10 slowest unit test are the following
 {noformat}
 110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 54.012 sec 
 org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
 36.593 sec 
 org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
 35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
 24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
 17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
 16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
 14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
 11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
 {noformat}
 Is there anything we could do to speed-up these?
 sorted times obtained with 
 https://gist.github.com/davidegiannella/b1d3cbe51d1f70314500



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Reopened] (OAK-3252) make AbstractQueryTest#test() reflects real file paths

2015-08-19 Thread Davide Giannella (JIRA)

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

Davide Giannella reopened OAK-3252:
---

reverted the commit in https://svn.apache.org/r1696596.

It was making oak-lucene breaking the tests.

 make AbstractQueryTest#test() reflects real file paths
 --

 Key: OAK-3252
 URL: https://issues.apache.org/jira/browse/OAK-3252
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Fix For: 1.3.5


 When a failure happens during the execution of {{AbstractQueryTest#test()}} 
 an error message like the following is shown.
 {noformat}
 sql2(org.apache.jackrabbit.oak.plugins.index.property.OrderedIndexQueryTest): 
 Results in target/sql2.txt don't match expected results in 
 src/test/resources/sql2.txt; compare the files for details
 {noformat}
 the file paths highlighted don't reflect the actual file. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-3042) Suspend commit on external conflict

2015-08-19 Thread Marcel Reutegger (JIRA)

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

Marcel Reutegger updated OAK-3042:
--
Labels: performance  (was: )

 Suspend commit on external conflict
 ---

 Key: OAK-3042
 URL: https://issues.apache.org/jira/browse/OAK-3042
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: core, mongomk
Reporter: Marcel Reutegger
Assignee: Marcel Reutegger
  Labels: performance

 A DocumentNodeStore cluster currently shows a conflict behavior, which
 is not intuitive. A modification may fail with a conflict even though
 before and after the conflict, the external change is not visible to
 the current session. There are two aspects to this issue.
 1) a modification may conflict with a change done on another cluster
 node, which is committed but not yet visible on the current cluster node.
 2) even after the InvalidItemStateException caused by the conflict, a
 refreshed session may still not see the external change.
 The first aspect is a fundamental design decision and cannot be changed
 easily.
 The second part can be addressed by suspending the commit until the external
 conflict becomes visible on the current cluster node. This would at least
 avoid the awkward situation where the external change is not visible after
 the InvalidItemStateException.
 The system would also become more deterministic. A commit currently goes
 into a number of retries with exponential back off, but there's no guarantee
 the external modification becomes visible within those retries. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-2472) Add support for atomic counters on cluster solutions

2015-08-19 Thread Davide Giannella (JIRA)

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

Davide Giannella updated OAK-2472:
--
Fix Version/s: (was: 1.3.5)
   1.3.6

 Add support for atomic counters on cluster solutions
 

 Key: OAK-2472
 URL: https://issues.apache.org/jira/browse/OAK-2472
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: core
Reporter: Davide Giannella
Assignee: Davide Giannella
  Labels: scalability
 Fix For: 1.3.6


 As of OAK-2220 we added support for atomic counters in a non-clustered 
 situation. 
 This ticket is about covering the clustered ones.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (OAK-3255) indexing: add advice on indexing jcr:primaryType

2015-08-19 Thread Julian Reschke (JIRA)
Julian Reschke created OAK-3255:
---

 Summary: indexing: add advice on indexing jcr:primaryType
 Key: OAK-3255
 URL: https://issues.apache.org/jira/browse/OAK-3255
 Project: Jackrabbit Oak
  Issue Type: Task
  Components: query
Reporter: Julian Reschke


It seems that it's not always clear whether creating a property index on 
jcr:primaryType makes sense.

As this index is extremely expensive to maintain, it would be good to have 
documentation advice on this topic.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-2149) Locks are not enforced

2015-08-19 Thread Julian Reschke (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702859#comment-14702859
 ] 

Julian Reschke commented on OAK-2149:
-

There are multiple ways to look at this.

a) We shouldn't give the impression that we support proper JCR locking when we 
don't, thus adding checks is not a good idea.

b) Even if we can't always enforce locks, we should try to enforce them when we 
can.

I started with a), but now I'm leaning towards b): not doing any checking might 
cause people to *rely* on this behavior, which might make it even harder to 
implement proper locking later on.


 Locks are not enforced
 --

 Key: OAK-2149
 URL: https://issues.apache.org/jira/browse/OAK-2149
 Project: Jackrabbit Oak
  Issue Type: Sub-task
  Components: core, jcr
Affects Versions: 1.0.6
Reporter: Damien Obrist
 Attachments: 0001-OAK-2149-Locks-are-not-enforced.patch


 Locks are not enforced and do not prevent nodes from being modified by 
 non-lock-owning sessions.
 Consider following code excerpt:
 {code:java}
 Repository repo = ...
 String path = /some/node;
 Session session1 = repo.login(new SimpleCredentials(A, 
 password.toCharArray()));
 session1.getNode(path).addMixin(mix:lockable);
 session1.save();
 LockManager lockManager = session1.getWorkspace().getLockManager();
 lockManager.lock(path, true, false, Long.MAX_VALUE, null);
 Session session2 = repo.login(new SimpleCredentials(B, 
 password.toCharArray()));
 session2.getNode(path).setProperty(foo, bar);
 session2.save();
 {code}
 User {{A}} puts a lock on {{/some/node}}. User {{B}} is still able to set a 
 property on that node after it has been locked. Instead, this should throw a 
 {{LockException}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (OAK-2634) QueryEngine should expose name query as property restriction

2015-08-19 Thread Thomas Mueller (JIRA)

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

Thomas Mueller reassigned OAK-2634:
---

Assignee: Thomas Mueller

 QueryEngine should expose name query as property restriction
 

 Key: OAK-2634
 URL: https://issues.apache.org/jira/browse/OAK-2634
 Project: Jackrabbit Oak
  Issue Type: Sub-task
  Components: query
Reporter: Chetan Mehrotra
Assignee: Thomas Mueller
 Fix For: 1.3.5

 Attachments: OAK-2634-with-test.patch, OAK-2634.patch


 Currently {{NodeNameImpl}} and {{NodeLocalNameImpl}} do not add restriction 
 to a filter hence query index cannot handle such queries.
 To allow faster execution name related restriction can be converted to a 
 property restriction



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-1752) Node name queries should use an index

2015-08-19 Thread Thomas Mueller (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-1752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702782#comment-14702782
 ] 

Thomas Mueller commented on OAK-1752:
-

The patch looks good to me, I will work on OAK-2634.

 Node name queries should use an index
 -

 Key: OAK-1752
 URL: https://issues.apache.org/jira/browse/OAK-1752
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: query
Reporter: Alex Parvulescu
Assignee: Chetan Mehrotra
 Fix For: 1.3.5

 Attachments: OAK-1752.patch


 The node name queries don't use any index currently, making them really slow 
 and triggering a lot of traversal warnings.
 Simply adding node names to a property index would be too much content 
 indexed, but as Lucene already indexes the node names, using this index would 
 be one viable option.
 {code}
 /jcr:root//*[fn:name() = 'jcr:content']
 /jcr:root//*[jcr:like(fn:name(), 'jcr:con%')] 
 {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-2634) QueryEngine should expose name query as property restriction

2015-08-19 Thread Thomas Mueller (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-2634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702786#comment-14702786
 ] 

Thomas Mueller commented on OAK-2634:
-

Currently running tests, will commit afterwards.

 QueryEngine should expose name query as property restriction
 

 Key: OAK-2634
 URL: https://issues.apache.org/jira/browse/OAK-2634
 Project: Jackrabbit Oak
  Issue Type: Sub-task
  Components: query
Reporter: Chetan Mehrotra
Assignee: Thomas Mueller
 Fix For: 1.3.5

 Attachments: OAK-2634-with-test.patch, OAK-2634.patch


 Currently {{NodeNameImpl}} and {{NodeLocalNameImpl}} do not add restriction 
 to a filter hence query index cannot handle such queries.
 To allow faster execution name related restriction can be converted to a 
 property restriction



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3005) OSGI wrapper service for Jackrabbit CachingFDS

2015-08-19 Thread Shashank Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3005?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702801#comment-14702801
 ] 

Shashank Gupta commented on OAK-3005:
-

[~tmueller] Make sense. 
Ironing  out the finer points. 

* PID org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore ( with 
cacheSize=0 or not set)
--  FDS implementation will be wired and would be compatible to older release. 

* PID org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore ( with 
cacheSize set )
-- CachingFDS implementation will be wired here. 
-- CachingFDS's understands path as cache path (used in S3DS too). So cachepath 
would be mapped to CachingFDS's path
--  {{path}} would be mapped CachingFDS's {{fsbackend}} variable. 



 OSGI wrapper service for Jackrabbit CachingFDS
 --

 Key: OAK-3005
 URL: https://issues.apache.org/jira/browse/OAK-3005
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: blob
Affects Versions: 1.0.15
Reporter: Shashank Gupta
Assignee: Shashank Gupta
  Labels: candidate_oak_1_0, candidate_oak_1_2, docs-impacting, 
 features, performance
 Fix For: 1.3.1

 Attachments: OAK-2729.patch, 
 org.apache.jackrabbit.oak.plugins.blob.datastore.CachingFDS.sample.config


 OSGI service wrapper for JCR-3869 which provides CachingDataStore 
 capabilities for SAN  NAS storage



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-3235) Deadlock when closing a concurrently used FileStore

2015-08-19 Thread Francesco Mari (JIRA)

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

Francesco Mari updated OAK-3235:

Affects Version/s: 1.3.3

 Deadlock when closing a concurrently used FileStore
 ---

 Key: OAK-3235
 URL: https://issues.apache.org/jira/browse/OAK-3235
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: segmentmk
Affects Versions: 1.3.3
Reporter: Francesco Mari
Priority: Critical
 Fix For: 1.3.4

 Attachments: OAK-3235-01.patch


 A deadlock was detected while stopping the {{SegmentCompactionIT}} using the 
 exposed MBean.
 {noformat}
 Found one Java-level deadlock:
 =
 pool-1-thread-23:
   waiting to lock monitor 0x7fa8cf1f0488 (object 0x0007a0081e48, a 
 org.apache.jackrabbit.oak.plugins.segment.file.FileStore),
   which is held by main
 main:
   waiting to lock monitor 0x7fa8cc015ff8 (object 0x0007a011f750, a 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter),
   which is held by pool-1-thread-23
 Java stack information for the threads listed above:
 ===
 pool-1-thread-23:
   at 
 org.apache.jackrabbit.oak.plugins.segment.file.FileStore.writeSegment(FileStore.java:948)
   - waiting to lock 0x0007a0081e48 (a 
 org.apache.jackrabbit.oak.plugins.segment.file.FileStore)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.flush(SegmentWriter.java:228)
   - locked 0x0007a011f750 (a 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.prepare(SegmentWriter.java:329)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeListBucket(SegmentWriter.java:447)
   - locked 0x0007a011f750 (a 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeList(SegmentWriter.java:698)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1190)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1154)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:100)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.updated(SegmentNodeBuilder.java:85)
   at 
 

[jira] [Updated] (OAK-3235) Deadlock when closing a concurrently used FileStore

2015-08-19 Thread Francesco Mari (JIRA)

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

Francesco Mari updated OAK-3235:

Fix Version/s: 1.3.5

 Deadlock when closing a concurrently used FileStore
 ---

 Key: OAK-3235
 URL: https://issues.apache.org/jira/browse/OAK-3235
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: segmentmk
Reporter: Francesco Mari
Priority: Critical
 Fix For: 1.3.5

 Attachments: OAK-3235-01.patch


 A deadlock was detected while stopping the {{SegmentCompactionIT}} using the 
 exposed MBean.
 {noformat}
 Found one Java-level deadlock:
 =
 pool-1-thread-23:
   waiting to lock monitor 0x7fa8cf1f0488 (object 0x0007a0081e48, a 
 org.apache.jackrabbit.oak.plugins.segment.file.FileStore),
   which is held by main
 main:
   waiting to lock monitor 0x7fa8cc015ff8 (object 0x0007a011f750, a 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter),
   which is held by pool-1-thread-23
 Java stack information for the threads listed above:
 ===
 pool-1-thread-23:
   at 
 org.apache.jackrabbit.oak.plugins.segment.file.FileStore.writeSegment(FileStore.java:948)
   - waiting to lock 0x0007a0081e48 (a 
 org.apache.jackrabbit.oak.plugins.segment.file.FileStore)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.flush(SegmentWriter.java:228)
   - locked 0x0007a011f750 (a 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.prepare(SegmentWriter.java:329)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeListBucket(SegmentWriter.java:447)
   - locked 0x0007a011f750 (a 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeList(SegmentWriter.java:698)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1190)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1154)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:100)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.updated(SegmentNodeBuilder.java:85)
   at 
 

[jira] [Updated] (OAK-3235) Deadlock when closing a concurrently used FileStore

2015-08-19 Thread Francesco Mari (JIRA)

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

Francesco Mari updated OAK-3235:

Fix Version/s: (was: 1.3.5)
   1.3.4

 Deadlock when closing a concurrently used FileStore
 ---

 Key: OAK-3235
 URL: https://issues.apache.org/jira/browse/OAK-3235
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: segmentmk
Affects Versions: 1.3.3
Reporter: Francesco Mari
Priority: Critical
 Fix For: 1.3.4

 Attachments: OAK-3235-01.patch


 A deadlock was detected while stopping the {{SegmentCompactionIT}} using the 
 exposed MBean.
 {noformat}
 Found one Java-level deadlock:
 =
 pool-1-thread-23:
   waiting to lock monitor 0x7fa8cf1f0488 (object 0x0007a0081e48, a 
 org.apache.jackrabbit.oak.plugins.segment.file.FileStore),
   which is held by main
 main:
   waiting to lock monitor 0x7fa8cc015ff8 (object 0x0007a011f750, a 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter),
   which is held by pool-1-thread-23
 Java stack information for the threads listed above:
 ===
 pool-1-thread-23:
   at 
 org.apache.jackrabbit.oak.plugins.segment.file.FileStore.writeSegment(FileStore.java:948)
   - waiting to lock 0x0007a0081e48 (a 
 org.apache.jackrabbit.oak.plugins.segment.file.FileStore)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.flush(SegmentWriter.java:228)
   - locked 0x0007a011f750 (a 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.prepare(SegmentWriter.java:329)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeListBucket(SegmentWriter.java:447)
   - locked 0x0007a011f750 (a 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeList(SegmentWriter.java:698)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1190)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter$2.childNodeChanged(SegmentWriter.java:1135)
   at 
 org.apache.jackrabbit.oak.plugins.memory.ModifiedNodeState.compareAgainstBaseState(ModifiedNodeState.java:400)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1126)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentWriter.writeNode(SegmentWriter.java:1154)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.getNodeState(SegmentNodeBuilder.java:100)
   at 
 org.apache.jackrabbit.oak.plugins.segment.SegmentNodeBuilder.updated(SegmentNodeBuilder.java:85)
   at 
 

[jira] [Comment Edited] (OAK-3005) OSGI wrapper service for Jackrabbit CachingFDS

2015-08-19 Thread Shashank Gupta (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3005?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702801#comment-14702801
 ] 

Shashank Gupta edited comment on OAK-3005 at 8/19/15 10:08 AM:
---

[~tmueller] Make sense. 
Ironing  out the finer points. 

* PID org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore ( with 
cacheSize=0 or not set)
--  FDS implementation will be wired and would be compatible to older release. 

* PID org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore ( with 
cacheSize set )
-- CachingFDS implementation will be wired here. 
-- CachingFDS's understands path as cache path (used in S3DS too). So cachepath 
would be mapped to CachingFDS's path
--  {{path}} would be mapped CachingFDS's {{fsbackend}} field. 




was (Author: shgupta):
[~tmueller] Make sense. 
Ironing  out the finer points. 

* PID org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore ( with 
cacheSize=0 or not set)
--  FDS implementation will be wired and would be compatible to older release. 

* PID org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore ( with 
cacheSize set )
-- CachingFDS implementation will be wired here. 
-- CachingFDS's understands path as cache path (used in S3DS too). So cachepath 
would be mapped to CachingFDS's path
--  {{path}} would be mapped CachingFDS's {{fsbackend}} variable. 



 OSGI wrapper service for Jackrabbit CachingFDS
 --

 Key: OAK-3005
 URL: https://issues.apache.org/jira/browse/OAK-3005
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: blob
Affects Versions: 1.0.15
Reporter: Shashank Gupta
Assignee: Shashank Gupta
  Labels: candidate_oak_1_0, candidate_oak_1_2, docs-impacting, 
 features, performance
 Fix For: 1.3.1

 Attachments: OAK-2729.patch, 
 org.apache.jackrabbit.oak.plugins.blob.datastore.CachingFDS.sample.config


 OSGI service wrapper for JCR-3869 which provides CachingDataStore 
 capabilities for SAN  NAS storage



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (OAK-3251) speeding up the build time

2015-08-19 Thread Davide Giannella (JIRA)
Davide Giannella created OAK-3251:
-

 Summary: speeding up the build time
 Key: OAK-3251
 URL: https://issues.apache.org/jira/browse/OAK-3251
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella


Running the build with a {mvn clean install} takes a considerable amount of 
time: 15 minutes on my local.

The top 10 slowest unit test are the following

{noformat}
110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
54.012 sec org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
36.593 sec 
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
{noformat}

Is there anything we could do to speed-up these?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-3251) speeding up the build time

2015-08-19 Thread Davide Giannella (JIRA)

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

Davide Giannella updated OAK-3251:
--
Description: 
Running the build with a {mvn clean install} takes a considerable amount of 
time: 15 minutes on my local.

The top 10 slowest unit test are the following

{noformat}
110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
54.012 sec org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
36.593 sec 
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
{noformat}

Is there anything we could do to speed-up these?

sorted times obtained with 
https://gist.github.com/davidegiannella/b1d3cbe51d1f70314500

  was:
Running the build with a {mvn clean install} takes a considerable amount of 
time: 15 minutes on my local.

The top 10 slowest unit test are the following

{noformat}
110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
54.012 sec org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
36.593 sec 
org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
{noformat}

Is there anything we could do to speed-up these?


 speeding up the build time
 --

 Key: OAK-3251
 URL: https://issues.apache.org/jira/browse/OAK-3251
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Attachments: oak-build-for-unittests-times.log, oak-build-times.log


 Running the build with a {mvn clean install} takes a considerable amount of 
 time: 15 minutes on my local.
 The top 10 slowest unit test are the following
 {noformat}
 110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 54.012 sec 
 org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
 36.593 sec 
 org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
 35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
 24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
 17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
 16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
 14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
 11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
 {noformat}
 Is there anything we could do to speed-up these?
 sorted times obtained with 
 https://gist.github.com/davidegiannella/b1d3cbe51d1f70314500



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (OAK-3251) speeding up the build time

2015-08-19 Thread Davide Giannella (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702675#comment-14702675
 ] 

Davide Giannella commented on OAK-3251:
---

When running a simple clean install, only the SEGMENT_MK is passed as
fixture. A first quick win I can thing by looking at the tests
namespaces is to adopt the {{FixtureHelper}} in

- org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
- org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest

by having them running only for {{DOCUMENT_*}} fixtures. This will
speed up a clean install already by roughly one minute.

On the other hand for speeding up the builds Fixtures oriented builds
on jenkins we could limit to {{SEGMENT_MK}} fixtures the tests

- org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
- org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
- org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
- org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest

having therefore a build for {{DOCUMENT_*}} roughly 2 minutes faster.

Thoughts?




 speeding up the build time
 --

 Key: OAK-3251
 URL: https://issues.apache.org/jira/browse/OAK-3251
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Attachments: oak-build-for-unittests-times.log, oak-build-times.log


 Running the build with a {mvn clean install} takes a considerable amount of 
 time: 15 minutes on my local.
 The top 10 slowest unit test are the following
 {noformat}
 110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 54.012 sec 
 org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
 36.593 sec 
 org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
 35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
 24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
 17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
 16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
 14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
 11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
 {noformat}
 Is there anything we could do to speed-up these?
 sorted times obtained with 
 https://gist.github.com/davidegiannella/b1d3cbe51d1f70314500



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (OAK-3251) speeding up the build time

2015-08-19 Thread Davide Giannella (JIRA)

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

Davide Giannella updated OAK-3251:
--
Attachment: oak-build-times.log
oak-build-for-unittests-times.log

attaching

- [^oak-build-for-unittests-times.log]: the full build output
- [^oak-build-times.log] the parsed version

 speeding up the build time
 --

 Key: OAK-3251
 URL: https://issues.apache.org/jira/browse/OAK-3251
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Attachments: oak-build-for-unittests-times.log, oak-build-times.log


 Running the build with a {mvn clean install} takes a considerable amount of 
 time: 15 minutes on my local.
 The top 10 slowest unit test are the following
 {noformat}
 110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 54.012 sec 
 org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
 36.593 sec 
 org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
 35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
 24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
 17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
 16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
 14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
 11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
 {noformat}
 Is there anything we could do to speed-up these?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (OAK-3251) speeding up the build time

2015-08-19 Thread Davide Giannella (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-3251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14702675#comment-14702675
 ] 

Davide Giannella edited comment on OAK-3251 at 8/19/15 8:04 AM:


When running a simple clean install, only the SEGMENT_MK is passed as
fixture. A first quick win I can think by looking at the tests
namespaces is to adopt the {{FixtureHelper}} in

- org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
- org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest

by having them running only for {{DOCUMENT_*}} fixtures. This will
speed up a clean install already by roughly one minute.

On the other hand for speeding up the builds Fixtures oriented builds
on jenkins we could limit to {{SEGMENT_MK}} fixtures the tests

- org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
- org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
- org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
- org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest

having therefore a build for {{DOCUMENT_*}} roughly 2 minutes faster.

Thoughts?





was (Author: edivad):
When running a simple clean install, only the SEGMENT_MK is passed as
fixture. A first quick win I can thing by looking at the tests
namespaces is to adopt the {{FixtureHelper}} in

- org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
- org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest

by having them running only for {{DOCUMENT_*}} fixtures. This will
speed up a clean install already by roughly one minute.

On the other hand for speeding up the builds Fixtures oriented builds
on jenkins we could limit to {{SEGMENT_MK}} fixtures the tests

- org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
- org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
- org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
- org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest

having therefore a build for {{DOCUMENT_*}} roughly 2 minutes faster.

Thoughts?




 speeding up the build time
 --

 Key: OAK-3251
 URL: https://issues.apache.org/jira/browse/OAK-3251
 Project: Jackrabbit Oak
  Issue Type: Improvement
Reporter: Davide Giannella
Assignee: Davide Giannella
 Attachments: oak-build-for-unittests-times.log, oak-build-times.log


 Running the build with a {mvn clean install} takes a considerable amount of 
 time: 15 minutes on my local.
 The top 10 slowest unit test are the following
 {noformat}
 110.822 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 54.012 sec 
 org.apache.jackrabbit.oak.plugins.segment.SegmentDataStoreBlobGCTest
 36.593 sec 
 org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollectorTest
 35.234 sec org.apache.jackrabbit.oak.jcr.query.QueryJcrTest
 25.047 sec org.apache.jackrabbit.oak.plugins.segment.file.FileStoreTest
 24.787 sec org.apache.jackrabbit.oak.plugins.document.BasicDocumentStoreTest
 17.477 sec org.apache.jackrabbit.oak.plugins.segment.ExternalBlobTest
 16.343 sec org.apache.jackrabbit.oak.jcr.query.QueryTest
 14.519 sec org.apache.jackrabbit.oak.plugins.segment.CompactionAndCleanupTest
 11.604 sec org.apache.jackrabbit.oak.run.osgi.LuceneSupportTest
 {noformat}
 Is there anything we could do to speed-up these?
 sorted times obtained with 
 https://gist.github.com/davidegiannella/b1d3cbe51d1f70314500



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)