[jira] [Created] (SLING-2918) I18NFilter ignores RequestLocaleResolver with higher ranking

2013-06-12 Thread Joel Richard (JIRA)
Joel Richard created SLING-2918:
---

 Summary: I18NFilter ignores RequestLocaleResolver with higher 
ranking
 Key: SLING-2918
 URL: https://issues.apache.org/jira/browse/SLING-2918
 Project: Sling
  Issue Type: Improvement
Affects Versions: i18n 2.2.4
 Environment: Granite
Reporter: Joel Richard


In the Granite environment a RequestLocaleResolver exists by default. If you 
install a bundle with another RequestLocaleResolver, it will be ignored - even 
if it has a higher ranking - because the dependency has already been resolved. 
This could be fixed easily with adding 
policyOption=ReferencePolicyOption.GREEDY to the reference.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (SLING-3943) Sling persistence API ignores jcr:createdBy property when creating JCR node

2014-09-16 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-3943:

Affects Version/s: (was: Resource Merger 1.1.0)
   Resource Resolver 1.1.0

 Sling persistence API ignores jcr:createdBy property when creating JCR node
 ---

 Key: SLING-3943
 URL: https://issues.apache.org/jira/browse/SLING-3943
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Resolver 1.1.0
Reporter: Joel Richard

 I have the following code:
 {code}
 Resource channelFolder = 
 ResourceUtil.getOrCreateResource(resolver, socket.getNamespace().getName(), 
 sling:OrderedFolder, sling:Folder, false);
 MapString, Object props = new HashMapString, 
 Object();
 props.put(jcr:primaryType, nt:unstructured);
 props.put(jcr:description, msg);
 props.put(jcr:createdBy, user);
 resolver.create(channelFolder, 
 System.currentTimeMillis() + - + user, props);
 resolver.commit();
 {code}
 For whatever reason, the jcr:createdBy property isn't persisted. If I use the 
 JCR API instead, the jcr:createdBy property is saved.
 We use the sling resource resolver in version 1.1.1-R1618115.



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


[jira] [Created] (SLING-3943) Sling persistence API ignores jcr:createdBy property when creating JCR node

2014-09-16 Thread Joel Richard (JIRA)
Joel Richard created SLING-3943:
---

 Summary: Sling persistence API ignores jcr:createdBy property when 
creating JCR node
 Key: SLING-3943
 URL: https://issues.apache.org/jira/browse/SLING-3943
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.1.0
Reporter: Joel Richard


I have the following code:
{code}
Resource channelFolder = 
ResourceUtil.getOrCreateResource(resolver, socket.getNamespace().getName(), 
sling:OrderedFolder, sling:Folder, false);
MapString, Object props = new HashMapString, 
Object();
props.put(jcr:primaryType, nt:unstructured);
props.put(jcr:description, msg);
props.put(jcr:createdBy, user);
resolver.create(channelFolder, 
System.currentTimeMillis() + - + user, props);
resolver.commit();
{code}
For whatever reason, the jcr:createdBy property isn't persisted. If I use the 
JCR API instead, the jcr:createdBy property is saved.

We use the sling resource resolver in version 1.1.1-R1618115.



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


[jira] [Commented] (SLING-3943) Sling persistence API ignores jcr:createdBy property when creating JCR node

2015-03-13 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14360121#comment-14360121
 ] 

Joel Richard commented on SLING-3943:
-

[~cziegeler], it might have been org.apache.sling.jcr.resource 2.3.12.

 Sling persistence API ignores jcr:createdBy property when creating JCR node
 ---

 Key: SLING-3943
 URL: https://issues.apache.org/jira/browse/SLING-3943
 Project: Sling
  Issue Type: Bug
  Components: JCR
Reporter: Joel Richard

 I have the following code:
 {code}
 Resource channelFolder = 
 ResourceUtil.getOrCreateResource(resolver, socket.getNamespace().getName(), 
 sling:OrderedFolder, sling:Folder, false);
 MapString, Object props = new HashMapString, 
 Object();
 props.put(jcr:primaryType, nt:unstructured);
 props.put(jcr:description, msg);
 props.put(jcr:createdBy, user);
 resolver.create(channelFolder, 
 System.currentTimeMillis() + - + user, props);
 resolver.commit();
 {code}
 For whatever reason, the jcr:createdBy property isn't persisted. If I use the 
 JCR API instead, the jcr:createdBy property is saved.
 We use the sling resource resolver in version 1.1.1-R1618115.



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


[jira] [Commented] (SLING-3943) Sling persistence API ignores jcr:createdBy property when creating JCR node

2015-03-13 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14360118#comment-14360118
 ] 

Joel Richard commented on SLING-3943:
-

[~cziegeler], unfortunately, I don't have a way to figure out the version of 
the org.apache.sling.jcr.resource bundle anymore because it isn't a direct 
dependency and I have deleted the instance. However, I think it was a pretty 
new version when I run into this problem.

 Sling persistence API ignores jcr:createdBy property when creating JCR node
 ---

 Key: SLING-3943
 URL: https://issues.apache.org/jira/browse/SLING-3943
 Project: Sling
  Issue Type: Bug
  Components: JCR
Reporter: Joel Richard

 I have the following code:
 {code}
 Resource channelFolder = 
 ResourceUtil.getOrCreateResource(resolver, socket.getNamespace().getName(), 
 sling:OrderedFolder, sling:Folder, false);
 MapString, Object props = new HashMapString, 
 Object();
 props.put(jcr:primaryType, nt:unstructured);
 props.put(jcr:description, msg);
 props.put(jcr:createdBy, user);
 resolver.create(channelFolder, 
 System.currentTimeMillis() + - + user, props);
 resolver.commit();
 {code}
 For whatever reason, the jcr:createdBy property isn't persisted. If I use the 
 JCR API instead, the jcr:createdBy property is saved.
 We use the sling resource resolver in version 1.1.1-R1618115.



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


[jira] [Updated] (SLING-4544) Performance: MessageFormat shouldn't be used for logging in SlingRequestProgressTracker

2015-03-25 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4544:

Attachment: Screen Shot 2015-03-25 at 10.42.05.png

 Performance: MessageFormat shouldn't be used for logging in 
 SlingRequestProgressTracker
 ---

 Key: SLING-4544
 URL: https://issues.apache.org/jira/browse/SLING-4544
 Project: Sling
  Issue Type: Improvement
  Components: Engine
Affects Versions: Engine 2.4.0
Reporter: Joel Richard
  Labels: performance
 Attachments: Screen Shot 2015-03-25 at 10.42.05.png


 I am profiling an application where up to 5% of the rendering time is spent 
 in MessageFormat.format for SlingRequestProgressTracker.log (see attached 
 screenshot). Since the advanced capabilities of MessageFormat are not 
 required here, it should be rather easy to implement a utility which supports 
 \{x} as well but is much faster.



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


[jira] [Created] (SLING-4544) Performance: MessageFormat shouldn't be used for logging in SlingRequestProgressTracker

2015-03-25 Thread Joel Richard (JIRA)
Joel Richard created SLING-4544:
---

 Summary: Performance: MessageFormat shouldn't be used for logging 
in SlingRequestProgressTracker
 Key: SLING-4544
 URL: https://issues.apache.org/jira/browse/SLING-4544
 Project: Sling
  Issue Type: Improvement
  Components: Engine
Affects Versions: Engine 2.4.0
Reporter: Joel Richard


I am profiling an application where up to 5% of the rendering time is spent in 
MessageFormat.format for SlingRequestProgressTracker.log (see attached 
screenshot). Since the advanced capabilities of MessageFormat are not required 
here, it should be rather easy to implement a utility which supports {x} as 
well but is much faster.



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


[jira] [Updated] (SLING-4544) Performance: MessageFormat shouldn't be used for logging in SlingRequestProgressTracker

2015-03-25 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4544:

Description: I am profiling an application where up to 5% of the rendering 
time is spent in MessageFormat.format for SlingRequestProgressTracker.log (see 
attached screenshot). Since the advanced capabilities of MessageFormat are not 
required here, it should be rather easy to implement a utility which supports 
\{x} as well but is much faster.  (was: I am profiling an application where up 
to 5% of the rendering time is spent in MessageFormat.format for 
SlingRequestProgressTracker.log (see attached screenshot). Since the advanced 
capabilities of MessageFormat are not required here, it should be rather easy 
to implement a utility which supports {x} as well but is much faster.)

 Performance: MessageFormat shouldn't be used for logging in 
 SlingRequestProgressTracker
 ---

 Key: SLING-4544
 URL: https://issues.apache.org/jira/browse/SLING-4544
 Project: Sling
  Issue Type: Improvement
  Components: Engine
Affects Versions: Engine 2.4.0
Reporter: Joel Richard
  Labels: performance

 I am profiling an application where up to 5% of the rendering time is spent 
 in MessageFormat.format for SlingRequestProgressTracker.log (see attached 
 screenshot). Since the advanced capabilities of MessageFormat are not 
 required here, it should be rather easy to implement a utility which supports 
 \{x} as well but is much faster.



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


[jira] [Created] (SLING-4551) Performance: Use static logger in ResourceIterator

2015-03-30 Thread Joel Richard (JIRA)
Joel Richard created SLING-4551:
---

 Summary: Performance: Use static logger in ResourceIterator
 Key: SLING-4551
 URL: https://issues.apache.org/jira/browse/SLING-4551
 Project: Sling
  Issue Type: Improvement
  Components: ResourceResolver
Affects Versions: Resource Resolver 1.2.4
Reporter: Joel Richard
Priority: Minor


The logger lookup in 
org.apache.sling.resourceresolver.impl.helper.ResourceIterator adds 1% 
rendering overhead because the logger variable is an instance variable and the 
class is used very often. This can be avoided simply by using a static logger.



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


[jira] [Commented] (SLING-4551) Performance: Use static logger in ResourceIterator

2015-03-30 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14386340#comment-14386340
 ] 

Joel Richard commented on SLING-4551:
-

[~cziegeler], I have reported this one because I know that it's very easy to 
fix. If we find just ten other little mistakes like this, then we gain already 
quite a bit.

 Performance: Use static logger in ResourceIterator
 --

 Key: SLING-4551
 URL: https://issues.apache.org/jira/browse/SLING-4551
 Project: Sling
  Issue Type: Improvement
  Components: ResourceResolver
Affects Versions: Resource Resolver 1.2.4
Reporter: Joel Richard
Priority: Minor
  Labels: performance
 Fix For: Resource Resolver 1.2.6


 The logger lookup in 
 org.apache.sling.resourceresolver.impl.helper.ResourceIterator adds 1% 
 rendering overhead because the logger variable is an instance variable and 
 the class is used very often. This can be avoided simply by using a static 
 logger.



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


[jira] [Resolved] (SLING-4532) Performance: DefaultSlingScript has too much overhead

2015-03-27 Thread Joel Richard (JIRA)

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

Joel Richard resolved SLING-4532.
-
Resolution: Invalid

Closing because the overhead is added in a BindingsValuesProvider which is 
called in DefaultSlingScript.verifySlingBindings and not in DefaultSlingScript 
itself.

 Performance: DefaultSlingScript has too much overhead
 -

 Key: SLING-4532
 URL: https://issues.apache.org/jira/browse/SLING-4532
 Project: Sling
  Issue Type: Improvement
  Components: Scripting
Affects Versions: Scripting Core 2.0.28
Reporter: Joel Richard
  Labels: performance
 Attachments: measure.patch


 While I was profiling a slow page, I saw that a significant amount of time is 
 spent inside DefaultSlingScript. Since profilers often cannot be trusted, I 
 added some code (see attachment) to measure the time spent without the script 
 execution itself (JSP in my case) and came to 8% of the whole page rendering 
 time. Since the JSP itself has been compiled before the measurements, I would 
 have expected the overhead clearly below 1%.
 The page which I profiled has about 100 sling includes.



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


[jira] [Commented] (SLING-4544) Performance: MessageFormat shouldn't be used for logging in SlingRequestProgressTracker

2015-03-27 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14383784#comment-14383784
 ] 

Joel Richard commented on SLING-4544:
-

[~rombert], although the log-API mentions MessageFormat, I didn't find an 
invocation which uses any of the more advanced functionalities. Don't you think 
it would be acceptable to write a very limited MessageFormat implementation 
which is used here instead of java.text.MessageFormat (and does guarantee to 
not throw an exception and would just ignore the advanced formatting 
capabilities).

 Performance: MessageFormat shouldn't be used for logging in 
 SlingRequestProgressTracker
 ---

 Key: SLING-4544
 URL: https://issues.apache.org/jira/browse/SLING-4544
 Project: Sling
  Issue Type: Improvement
  Components: Engine
Affects Versions: Engine 2.4.0
Reporter: Joel Richard
  Labels: performance
 Attachments: Screen Shot 2015-03-25 at 10.42.05.png


 I am profiling an application where up to 5% of the rendering time is spent 
 in MessageFormat.format for SlingRequestProgressTracker.log (see attached 
 screenshot). Since the advanced capabilities of MessageFormat are not 
 required here, it should be rather easy to implement a utility which supports 
 \{x} as well but is much faster.



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


[jira] [Updated] (SLING-4532) Performance: DefaultSlingScript has too much overhead

2015-03-24 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4532:

Labels: performance  (was: )

 Performance: DefaultSlingScript has too much overhead
 -

 Key: SLING-4532
 URL: https://issues.apache.org/jira/browse/SLING-4532
 Project: Sling
  Issue Type: Improvement
  Components: Scripting
Affects Versions: Scripting Core 2.0.28
Reporter: Joel Richard
  Labels: performance
 Attachments: measure.patch


 While I was profiling a slow page, I saw that a significant amount of time is 
 spent inside DefaultSlingScript. Since profilers often cannot be trusted, I 
 added some code (see attachment) to measure the time spent without the script 
 execution itself (JSP in my case) and came to 8% of the whole page rendering 
 time. Since the JSP itself has been compiled before the measurements, I would 
 have expected the overhead clearly below 1%.
 The page which I profiled has about 100 sling includes.



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


[jira] [Updated] (SLING-4532) Performance: DefaultSlingScript has too much overhead

2015-03-23 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4532:

Attachment: measure.patch

 Performance: DefaultSlingScript has too much overhead
 -

 Key: SLING-4532
 URL: https://issues.apache.org/jira/browse/SLING-4532
 Project: Sling
  Issue Type: Improvement
  Components: Scripting
Affects Versions: Scripting Core 2.0.28
Reporter: Joel Richard
 Attachments: measure.patch


 While I was profiling a slow page, I saw that a significant amount of time is 
 spent inside DefaultSlingScript. Since profilers often cannot be trusted, I 
 added some code (see attachment) to measure the time spent without the script 
 execution itself (JSP in my case) and came to 8% of the whole page rendering 
 time. Since the JSP itself has been compiled before the measurements, I would 
 have expected the overhead clearly below 1%.
 The page which I profiled has about 100 sling includes.



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


[jira] [Created] (SLING-4532) Performance: DefaultSlingScript has too much overhead

2015-03-23 Thread Joel Richard (JIRA)
Joel Richard created SLING-4532:
---

 Summary: Performance: DefaultSlingScript has too much overhead
 Key: SLING-4532
 URL: https://issues.apache.org/jira/browse/SLING-4532
 Project: Sling
  Issue Type: Improvement
  Components: Scripting
Affects Versions: Scripting Core 2.0.28
Reporter: Joel Richard
 Attachments: measure.patch

While I was profiling a slow page, I saw that a significant amount of time is 
spent inside DefaultSlingScript. Since profilers often cannot be trusted, I 
added some code (see attachment) to measure the time spent without the script 
execution itself (JSP in my case) and came to 8% of the whole page rendering 
time. Since the JSP itself has been compiled before the measurements, I would 
have expected the overhead clearly below 1%.

The page which I profiled has about 100 sling includes.



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


[jira] [Created] (SLING-4653) Resource merging properties are ignored if the direct parent of the read resource does not exist

2015-04-23 Thread Joel Richard (JIRA)
Joel Richard created SLING-4653:
---

 Summary: Resource merging properties are ignored if the direct 
parent of the read resource does not exist
 Key: SLING-4653
 URL: https://issues.apache.org/jira/browse/SLING-4653
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical


If the parent of one of the merged resources does not exist, but another 
resource between the merged resource of the same search path and root has some 
resource merging properties attached, these properties are ignored in 
MergingResourceProvider because resource.getParent returns null and then it 
does not try to traverse to root anymore and therefore does not find these 
properties.

Example:
/apps/a with sling:hideChildren=*
/libs/a/b/c

If you try to read /mnt/overlay/a/b, it will return null. On the other hand, 
/mnt/overlay/a/b/c will return an unmodified merged resource.



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


[jira] [Updated] (SLING-4653) Resource merging properties are ignored if the direct parent of the read resource does not exist

2015-04-23 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4653:

Description: 
If the parent of one of the merged resources does not exist, but another 
resource between the merged resource of the same search path and root has some 
resource merging properties attached, these properties are ignored in 
MergingResourceProvider because resource.getParent returns null and then it 
does not try to traverse to root anymore and therefore does not find these 
properties.

Example:
/apps/a with sling:hideChildren=*
/libs/a/b/c

If you try to read /mnt/overlay/a/b, it will return null. On the other hand, 
/mnt/overlay/a/b/c will return an unmodified merged resource.

*Important:* Consider the performance impact when fixing this issue. See 
referenced issue for more information.

  was:
If the parent of one of the merged resources does not exist, but another 
resource between the merged resource of the same search path and root has some 
resource merging properties attached, these properties are ignored in 
MergingResourceProvider because resource.getParent returns null and then it 
does not try to traverse to root anymore and therefore does not find these 
properties.

Example:
/apps/a with sling:hideChildren=*
/libs/a/b/c

If you try to read /mnt/overlay/a/b, it will return null. On the other hand, 
/mnt/overlay/a/b/c will return an unmodified merged resource.


 Resource merging properties are ignored if the direct parent of the read 
 resource does not exist
 

 Key: SLING-4653
 URL: https://issues.apache.org/jira/browse/SLING-4653
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical

 If the parent of one of the merged resources does not exist, but another 
 resource between the merged resource of the same search path and root has 
 some resource merging properties attached, these properties are ignored in 
 MergingResourceProvider because resource.getParent returns null and then it 
 does not try to traverse to root anymore and therefore does not find these 
 properties.
 Example:
 /apps/a with sling:hideChildren=*
 /libs/a/b/c
 If you try to read /mnt/overlay/a/b, it will return null. On the other hand, 
 /mnt/overlay/a/b/c will return an unmodified merged resource.
 *Important:* Consider the performance impact when fixing this issue. See 
 referenced issue for more information.



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


[jira] [Updated] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-24 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4568:

Attachment: SLING-4568_skip-underlying.patch

[~cziegeler], I have created a new patch (SLING-4568_skip-underlying.patch) 
which does not contain the exclude search path configuration and does skip the 
ParentHidingHandler also for listChildren and CRUDMergingResourceProvider. 
Sorry for the detour, I should have seen before that there are other 
ParentHidingHandler usages which should be adjusted as well.

I had to adjust the code in CRUDMergingResourceProvider#getAllResources a 
little bit further to prevent that the parent is not read unnecessarily. I even 
wanted to create a comment addResourceToHolder method, but this isn't possible 
right now because they use different unrelated resource holder classes.

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Assignee: Carsten Ziegeler
  Labels: performance
 Fix For: Resource Merger 1.2.10

 Attachments: SLING-4568_exclude_search_paths.patch, 
 SLING-4568_experimental_cache.patch, SLING-4568_skip-underlying.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Updated] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-24 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4568:

Attachment: (was: SLING-4568_skip-underlying.patch)

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Assignee: Carsten Ziegeler
  Labels: performance
 Fix For: Resource Merger 1.2.10

 Attachments: SLING-4568_exclude_search_paths.patch, 
 SLING-4568_experimental_cache.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Updated] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-24 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4568:

Attachment: SLING-4568_skip-underlying.patch

[~cziegeler], I have attached the same patch again, but this time created with 
git instead of my IDE.

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Assignee: Carsten Ziegeler
  Labels: performance
 Fix For: Resource Merger 1.2.10

 Attachments: SLING-4568_exclude_search_paths.patch, 
 SLING-4568_experimental_cache.patch, SLING-4568_skip-underlying.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Reopened] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-23 Thread Joel Richard (JIRA)

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

Joel Richard reopened SLING-4568:
-

Reopening because the applied patch was incomplete.

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Assignee: Carsten Ziegeler
  Labels: performance
 Fix For: Resource Merger 1.2.10

 Attachments: SLING-4568_exclude_search_paths.patch, 
 SLING-4568_experimental_cache.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Updated] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-27 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4568:

Attachment: SLING-4568_skip-underlying_3.patch

[~cziegeler], I wasn't aware of your changes, but I have merged them and it 
should hopefully work now.

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Assignee: Carsten Ziegeler
  Labels: performance
 Fix For: Resource Merger 1.2.10

 Attachments: SLING-4568_exclude_search_paths.patch, 
 SLING-4568_experimental_cache.patch, SLING-4568_skip-underlying.patch, 
 SLING-4568_skip-underlying_3.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Updated] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-27 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4568:

Attachment: (was: SLING-4568_skip-underlying.patch)

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Assignee: Carsten Ziegeler
  Labels: performance
 Fix For: Resource Merger 1.2.10

 Attachments: SLING-4568_exclude_search_paths.patch, 
 SLING-4568_experimental_cache.patch, SLING-4568_skip-underlying_3.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Updated] (SLING-3944) org.apache.sling.scripting.java bundle exports javax.inject package in wrong version

2015-05-06 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-3944:

Attachment: Screen Shot 2015-05-06 at 12.36.05.png

[~olli], the exported version is now 0, but it seems like the imported version 
has been set to [0.0, 1) because of this (see attached screenshot). Won't that 
cause further problems?

 org.apache.sling.scripting.java bundle exports javax.inject package in wrong 
 version
 

 Key: SLING-3944
 URL: https://issues.apache.org/jira/browse/SLING-3944
 Project: Sling
  Issue Type: Bug
  Components: Scripting
Affects Versions: Scripting Java 2.0.10
Reporter: Markus Haack
Assignee: Oliver Lietz
Priority: Critical
 Fix For: Scripting Java 2.0.12

 Attachments: Screen Shot 2015-05-06 at 12.36.05.png


 The org.apache.sling.scripting.java bundle exports the package javax.inject 
 in the version of the bundle, which is wrong and should be fixed. 
 This can lead to bundle version problems for other bundles which depend on 
 javax.inject in version [1.0,2) - the correct version (like Jersey Web 
 Services libraries).
 Either export javax.inject with version 0.0.0 or even better with the correct 
 version 1.0.0.



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


[jira] [Commented] (SLING-3944) org.apache.sling.scripting.java bundle exports javax.inject package in wrong version

2015-05-07 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-3944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14532297#comment-14532297
 ] 

Joel Richard commented on SLING-3944:
-

@Carsten Ziegler, nothing concrete, I am just wondering whether the import of 
javax.inject version 0 could cause further problems. Looks weird too me. If 
that's fine, then you can ignore my comments.

 org.apache.sling.scripting.java bundle exports javax.inject package in wrong 
 version
 

 Key: SLING-3944
 URL: https://issues.apache.org/jira/browse/SLING-3944
 Project: Sling
  Issue Type: Bug
  Components: Scripting
Affects Versions: Scripting Java 2.0.10
Reporter: Markus Haack
Assignee: Oliver Lietz
Priority: Critical
 Fix For: Scripting Java 2.0.12

 Attachments: Screen Shot 2015-05-06 at 12.36.05.png


 The org.apache.sling.scripting.java bundle exports the package javax.inject 
 in the version of the bundle, which is wrong and should be fixed. 
 This can lead to bundle version problems for other bundles which depend on 
 javax.inject in version [1.0,2) - the correct version (like Jersey Web 
 Services libraries).
 Either export javax.inject with version 0.0.0 or even better with the correct 
 version 1.0.0.



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


[jira] [Updated] (SLING-4626) NullPointerExceptions in MockResourceResolver

2015-04-15 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4626:

Attachment: SLING-4626.patch

 NullPointerExceptions in MockResourceResolver
 -

 Key: SLING-4626
 URL: https://issues.apache.org/jira/browse/SLING-4626
 Project: Sling
  Issue Type: Bug
  Components: Testing
Affects Versions: Testing ResourceResolver Mock 1.1.4
Reporter: Joel Richard
Priority: Minor
 Attachments: SLING-4626.patch


 The MockResourceResolver throws an exception when trying to access a resource 
 outside of the root. The normal ResourceResolver implementation returns just 
 null instead.
 Moreover, I get another NullPointerException in MockValueMap#convertForWrite 
 if I try to create a MockResource with null properties (which is for example 
 done in MergedResourceTest).
 Patch is attached.



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


[jira] [Created] (SLING-4626) NullPointerExceptions in MockResourceResolver

2015-04-15 Thread Joel Richard (JIRA)
Joel Richard created SLING-4626:
---

 Summary: NullPointerExceptions in MockResourceResolver
 Key: SLING-4626
 URL: https://issues.apache.org/jira/browse/SLING-4626
 Project: Sling
  Issue Type: Bug
  Components: Testing
Affects Versions: Testing ResourceResolver Mock 1.1.4
Reporter: Joel Richard
Priority: Minor


The MockResourceResolver throws an exception when trying to access a resource 
outside of the root. The normal ResourceResolver implementation returns just 
null instead.

Moreover, I get another NullPointerException in MockValueMap#convertForWrite if 
I try to create a MockResource with null properties (which is for example done 
in MergedResourceTest).

Patch is attached.



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


[jira] [Updated] (SLING-4596) Performance: Consider optimizing JcrItemResource#getParent and getChild

2015-04-15 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4596:

Attachment: SLING-4596_experimental.patch

I have attached an experimental patch which improves the rendering performance 
for 18%-25% (tested on two different pages). Please notice that I added the 
OptimizableResourceProvider interface only to a new package for my convenience 
(otherwise I would have had to update a lot of bundles).

 Performance: Consider optimizing JcrItemResource#getParent and getChild
 ---

 Key: SLING-4596
 URL: https://issues.apache.org/jira/browse/SLING-4596
 Project: Sling
  Issue Type: Improvement
  Components: JCR, ResourceResolver
Affects Versions: JCR Resource 2.5.0
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: JcrNodeResource_getParent.patch, 
 SLING-4596_experimental.patch


 I have noticed that on some resource intensive pages up to 24% of the 
 rendering time is spent in AbstractResource.getParent. One of the main 
 reasons for this is because the ParentHidingHandler traverses for each 
 resource to the root (see SLING-4568).
 getParent is not just called often, but is also about 10 times slower than 
 jcrNode.getParent() which has the following reasons:
 - itemExists is called unnecessary because JcrResourceProvider#createResource 
 does not know that the path belongs to a parent of a node which has already 
 been read. See also SLING-4585.
 - jcrSession.getItem (which is used to read parents in 
 JcrResourceProvider#createResource) is about 3.5 times slower than 
 jcrNode.getParent in Oak.
 - Some other overhead which cannot be avoided entirely.
 The situation could be improved with a getParent implementation which is 
 specific to JcrNodeResource and uses getNode().getParent() directly to create 
 a new JcrNodeResource. I have implemented such a method (see attached 
 experimental patch) and it reduces the time for getParent from 24% to 5% on 
 my test page.
 As discussed on the [mailing 
 list|http://mail-archives.apache.org/mod_mbox/sling-dev/201504.mbox/%3C55266BB2.1050506%40apache.org%3E]
  this is not a good solution because the parent resource could be backed by 
 another provider. An alternative approach would be to create a new resource 
 provider interface which accepts the base resource (which is passed to 
 resourceResolver.getResource), retrieves the node form it and uses it for a 
 direct getParent/getNode call (see the linked mail for more information).



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


[jira] [Updated] (SLING-4611) Performance: Consider optimizing MergedResource#getParent and getChild

2015-04-15 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4611:

Attachment: SLING-4611_experimental.patch

I have attached an experimental patch which improves the rendering performance 
in combination with the patch from SLING-4596 for 28%-39% (tested on two 
different pages). This patch depends on the other one and must not be applied 
alone.

In order to make the resourcemerger tests passing again, the patch from 
SLING-4626 has to be applied as well.

 Performance: Consider optimizing MergedResource#getParent and getChild
 --

 Key: SLING-4611
 URL: https://issues.apache.org/jira/browse/SLING-4611
 Project: Sling
  Issue Type: Improvement
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: perfomance
 Attachments: SLING-4611_experimental.patch


 For some pages up to 29% of the rendering time is spent in 
 AbstractResource.getChild. In my case, 75% of the resources are 
 MergedResources and the rest are JcrNodeResources (for which I have already 
 opened SLING-4596).
 Therefore, I would suggest implementing the following optimization:
 The merged resources should be stored in MergedResource and when getChild is 
 called, it would use getChild on them directly and merge the child resources. 
 This would have the advantage that the ParentHidingHandler would not have to 
 be called again for the parent resources and could even make SLING-4568 
 obsolete. Moreover, it would leverage optimizations of the merged resource 
 implementations (e.g. SLING-4596 for JcrNodeResource#getChild).
 A problem with this approach is that possible in JCR (and maybe also some 
 other resource providers) to set ACLs which allow to read children but not 
 their parents. Therefore, getChild will in addition have to check for each 
 search path which isn't covered with a merged resource if this path does 
 really not exist.



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


[jira] [Updated] (SLING-4584) Performance: XSSAPI.getValidHref should not be based on HTML filtering

2015-04-14 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4584:

Attachment: SLING-4584.patch

I have implemented a patch which uses some AntiSamy internals to implement 
getValidHref without having to parse a whole html link and is thereof much 
faster. All tests do still pass. Please review and let me know what you think.

 Performance: XSSAPI.getValidHref should not be based on HTML filtering
 --

 Key: SLING-4584
 URL: https://issues.apache.org/jira/browse/SLING-4584
 Project: Sling
  Issue Type: Improvement
Affects Versions: XSS Protection API 1.0.2
Reporter: Joel Richard
  Labels: perfomance, xss
 Attachments: SLING-4584.patch


 Around 3% of the rendering time is spent in getValidHref because it uses 
 AntiSamy (which is a HTML filter) to do the job. This is obviously a hack and 
 adds a lot of unnecessary overhead.



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


[jira] [Updated] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-17 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4568:

Attachment: (was: SLING-4568.patch)

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance

 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Updated] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-17 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4568:

Attachment: SLING-4568_exclude_search_paths.patch
SLING-4568_experimental_cache.patch

I have renamed to previous patch to SLING-4568_experimental_cache.patch and 
attached a new patch which is simpler and even more efficient. It includes two 
changes:

* It let's you exclude search paths which should not be merged. In our case, we 
have 4 different search paths, but only two are relevant for the merging. By 
adding them to the excluded list, a lot of unnecessary getResource calls are 
avoided. Moreover, it makes it possible for us to benefit from the more 
important second change.
* The ParentHidingHandler is not not executed anymore for the last not excluded 
search path and is therefore only executed for the real overlays. This makes 
the MergingResourceProvider overhead negligible in most cases and makes the 
cache from the first patch irrelevant. 

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: SLING-4568_exclude_search_paths.patch, 
 SLING-4568_experimental_cache.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Created] (SLING-4611) Performance: Consider optimizing MergedResource#getParent and getChild

2015-04-13 Thread Joel Richard (JIRA)
Joel Richard created SLING-4611:
---

 Summary: Performance: Consider optimizing MergedResource#getParent 
and getChild
 Key: SLING-4611
 URL: https://issues.apache.org/jira/browse/SLING-4611
 Project: Sling
  Issue Type: Improvement
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical


For some pages up to 29% of the rendering time is spent in 
AbstractResource.getChild. In my case, 75% of the resources are MergedResources 
and the rest are JcrNodeResources (for which I have already opened SLING-4596).

Therefore, I would suggest implementing the following optimization:

The merged resources should be stored in MergedResource and when getChild is 
called, it would use getChild on them directly and merge the child resources. 
This would have the advantage that the ParentHidingHandler would not have to be 
called again for the parent resources and could even make SLING-4568 obsolete. 
Moreover, it would leverage optimizations of the merged resource 
implementations (e.g. SLING-4596 for JcrNodeResource#getChild).

A problem with this approach is that possible in JCR (and maybe also some other 
resource providers) to set ACLs which allow to read children but not their 
parents. Therefore, getChild will in addition have to check for each search 
path which isn't covered with a merged resource if this path does really not 
exist.



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


[jira] [Commented] (SLING-4611) Performance: Consider optimizing MergedResource#getParent and getChild

2015-04-13 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14492383#comment-14492383
 ] 

Joel Richard commented on SLING-4611:
-

The idea is basically the same as in SLING-4596 just for MergedResource. One 
way of implementing it which should work in all cases would be the following:
# Store the mappedResources which are already passed to the MergedResource 
constructor in the object.
# Introduce the ResourceProvider API which is described in SLING-4596 and 
accepts the base resource for getResource.
# Check in getResource whether the base resource is also MergedResource and if 
so get all mapped resources.
# Call getChild for each mapped resource. If the resource is a JcrNodeResource, 
it would benefit here from the SLING-4596 optimization.
# Next it would have to check which search paths aren't covered with the mapped 
resources and try to get the resources for theses. In most cases getResource 
will return null for these (because the parent couldn't be read either).
# Combine the resources from both sources and merge them.

 Performance: Consider optimizing MergedResource#getParent and getChild
 --

 Key: SLING-4611
 URL: https://issues.apache.org/jira/browse/SLING-4611
 Project: Sling
  Issue Type: Improvement
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: perfomance

 For some pages up to 29% of the rendering time is spent in 
 AbstractResource.getChild. In my case, 75% of the resources are 
 MergedResources and the rest are JcrNodeResources (for which I have already 
 opened SLING-4596).
 Therefore, I would suggest implementing the following optimization:
 The merged resources should be stored in MergedResource and when getChild is 
 called, it would use getChild on them directly and merge the child resources. 
 This would have the advantage that the ParentHidingHandler would not have to 
 be called again for the parent resources and could even make SLING-4568 
 obsolete. Moreover, it would leverage optimizations of the merged resource 
 implementations (e.g. SLING-4596 for JcrNodeResource#getChild).
 A problem with this approach is that possible in JCR (and maybe also some 
 other resource providers) to set ACLs which allow to read children but not 
 their parents. Therefore, getChild will in addition have to check for each 
 search path which isn't covered with a merged resource if this path does 
 really not exist.



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


[jira] [Commented] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30% rendering overhead

2015-04-07 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14482731#comment-14482731
 ] 

Joel Richard commented on SLING-4568:
-

Instead of a simple HashMap we could use a data structure dedicated for caches 
(which is limited or where the items expire). It would probably also make sense 
to clear the cache in commit(). Another approach would be to enable this cache 
only for requests or even only for GET requests.

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30% 
 rendering overhead
 --

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: SLING-4568.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35% faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Commented] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30% rendering overhead

2015-04-07 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14482696#comment-14482696
 ] 

Joel Richard commented on SLING-4568:
-

[~cziegeler], the cache is bound to a resource resolver and will therefore not 
last longer than the resource resolver itself.

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30% 
 rendering overhead
 --

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: SLING-4568.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35% faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Created] (SLING-4584) Performance: XSSAPI.getValidHref should not be based on HTML filtering

2015-04-07 Thread Joel Richard (JIRA)
Joel Richard created SLING-4584:
---

 Summary: Performance: XSSAPI.getValidHref should not be based on 
HTML filtering
 Key: SLING-4584
 URL: https://issues.apache.org/jira/browse/SLING-4584
 Project: Sling
  Issue Type: Improvement
Affects Versions: XSS Protection API 1.0.2
Reporter: Joel Richard


Around 3% of the rendering time is spent in getValidHref because it uses 
AntiSamy (which is a HTML filter) to do the job. This is obviously a hack and 
adds a lot of unnecessary overhead.



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


[jira] [Created] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-04-07 Thread Joel Richard (JIRA)
Joel Richard created SLING-4585:
---

 Summary: Performance: Use JackrabbitSession#getItemOrNull to speed 
up JcrResourceProvider#createResource
 Key: SLING-4585
 URL: https://issues.apache.org/jira/browse/SLING-4585
 Project: Sling
  Issue Type: Improvement
  Components: JCR, ResourceResolver
Affects Versions: JCR Resource 2.5.0
Reporter: Joel Richard
Priority: Critical


If the current session is a JackrabbitSession, JcrResourceProvider should use 
getItemOrNull (as soon as exported) to save rendering time.

See referenced issue and the following mail thread for more information: 
http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/browser



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


[jira] [Updated] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-04-07 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4585:

Description: 
If the current session is a JackrabbitSession, JcrResourceProvider should use 
getItemOrNull (as soon as exported) to save rendering time.

See referenced issue and the following mail thread for more information: 
http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E

  was:
If the current session is a JackrabbitSession, JcrResourceProvider should use 
getItemOrNull (as soon as exported) to save rendering time.

See referenced issue and the following mail thread for more information: 
http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/browser


 Performance: Use JackrabbitSession#getItemOrNull to speed up 
 JcrResourceProvider#createResource
 ---

 Key: SLING-4585
 URL: https://issues.apache.org/jira/browse/SLING-4585
 Project: Sling
  Issue Type: Improvement
  Components: JCR, ResourceResolver
Affects Versions: JCR Resource 2.5.0
Reporter: Joel Richard
Priority: Critical
  Labels: performance

 If the current session is a JackrabbitSession, JcrResourceProvider should use 
 getItemOrNull (as soon as exported) to save rendering time.
 See referenced issue and the following mail thread for more information: 
 http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E



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


[jira] [Issue Comment Deleted] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-04-07 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4585:

Comment: was deleted

(was: Is there a way to achieve this without using a try/catch to detect 
whether the method is available or using reflection?)

 Performance: Use JackrabbitSession#getItemOrNull to speed up 
 JcrResourceProvider#createResource
 ---

 Key: SLING-4585
 URL: https://issues.apache.org/jira/browse/SLING-4585
 Project: Sling
  Issue Type: Improvement
  Components: JCR, ResourceResolver
Affects Versions: JCR Resource 2.5.0
Reporter: Joel Richard
Priority: Critical
  Labels: performance

 If the current session is a JackrabbitSession, JcrResourceProvider should use 
 getItemOrNull (as soon as exported) to save rendering time.
 See referenced issue and the following mail thread for more information: 
 http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/browser



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


[jira] [Commented] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-04-07 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14483150#comment-14483150
 ] 

Joel Richard commented on SLING-4585:
-

Is there a way to achieve this without using a try/catch to detect whether the 
method is available or using reflection?

 Performance: Use JackrabbitSession#getItemOrNull to speed up 
 JcrResourceProvider#createResource
 ---

 Key: SLING-4585
 URL: https://issues.apache.org/jira/browse/SLING-4585
 Project: Sling
  Issue Type: Improvement
  Components: JCR, ResourceResolver
Affects Versions: JCR Resource 2.5.0
Reporter: Joel Richard
Priority: Critical
  Labels: performance

 If the current session is a JackrabbitSession, JcrResourceProvider should use 
 getItemOrNull (as soon as exported) to save rendering time.
 See referenced issue and the following mail thread for more information: 
 http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/browser



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


[jira] [Commented] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-04-07 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14483151#comment-14483151
 ] 

Joel Richard commented on SLING-4585:
-

Is there a way to achieve this without using a try/catch to detect whether the 
method is available or using reflection?

 Performance: Use JackrabbitSession#getItemOrNull to speed up 
 JcrResourceProvider#createResource
 ---

 Key: SLING-4585
 URL: https://issues.apache.org/jira/browse/SLING-4585
 Project: Sling
  Issue Type: Improvement
  Components: JCR, ResourceResolver
Affects Versions: JCR Resource 2.5.0
Reporter: Joel Richard
Priority: Critical
  Labels: performance

 If the current session is a JackrabbitSession, JcrResourceProvider should use 
 getItemOrNull (as soon as exported) to save rendering time.
 See referenced issue and the following mail thread for more information: 
 http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/browser



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


[jira] [Updated] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-07 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4568:

Summary: Performance: MergingResourceProvider.ParentHidingHandler adds 
about 30pp rendering overhead  (was: Performance: 
MergingResourceProvider.ParentHidingHandler adds about 30% rendering overhead)

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: SLING-4568.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35% faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Commented] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-07 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14483466#comment-14483466
 ] 

Joel Richard commented on SLING-4568:
-

For some pages the overhead is even bigger. Here we have an example where it is 
46pp (87%):

With ParentHidingHandler:
{code}
  50%524
  66%529
  75%536
  80%541
  90%554
  95%617
  98%798
  99%942
{code}

Without ParentHidingHandler:
{code}
  50%280
  66%283
  75%286
  80%288
  90%295
  95%425
  98%454
  99%459
{code}

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: SLING-4568.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Comment Edited] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-07 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14483466#comment-14483466
 ] 

Joel Richard edited comment on SLING-4568 at 4/7/15 4:42 PM:
-

For some pages the overhead is even bigger. Here we have an example where it is 
46pp (87%):

With ParentHidingHandler:
{quote}
  50%524
  66%529
  75%536
  80%541
  90%554
  95%617
  98%798
  99%942
{code}

Without ParentHidingHandler:
{code}
  50%280
  66%283
  75%286
  80%288
  90%295
  95%425
  98%454
  99%459
{quote}


was (Author: joelrich):
For some pages the overhead is even bigger. Here we have an example where it is 
46pp (87%):

With ParentHidingHandler:
{code}
  50%524
  66%529
  75%536
  80%541
  90%554
  95%617
  98%798
  99%942
{code}

Without ParentHidingHandler:
{code}
  50%280
  66%283
  75%286
  80%288
  90%295
  95%425
  98%454
  99%459
{code}

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: SLING-4568.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Updated] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-07 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4568:

Description: 
When I was analysing all read properties, I noticed a recurring pattern with 
sling:hideChildren and jcr:primaryType and that more than 40% of the read 
properties are sling:hideChildren. I figured out that sling:hideChildren is 
read for all parents in MergingResourceProvider.ParentHidingHandler and that 
the requests are processed 30-35pp faster just by commenting out the 
constructor code.

Apache Benchmark results with normal ParentHidingHandler:
{quote}
  50%272
  66%276
  75%278
  80%281
  90%289
  95%301
  98%493
  99%497
{quote}

Results with commented out ParentHidingHandler constructor: 
{quote}
  50%185
  66%188
  75%191
  80%194
  90%202
  95%210
  98%333
  99%338
{quote}

  was:
When I was analysing all read properties, I noticed a recurring pattern with 
sling:hideChildren and jcr:primaryType and that more than 40% of the read 
properties are sling:hideChildren. I figured out that sling:hideChildren is 
read for all parents in MergingResourceProvider.ParentHidingHandler and that 
the requests are processed 30-35% faster just by commenting out the constructor 
code.

Apache Benchmark results with normal ParentHidingHandler:
{quote}
  50%272
  66%276
  75%278
  80%281
  90%289
  95%301
  98%493
  99%497
{quote}

Results with commented out ParentHidingHandler constructor: 
{quote}
  50%185
  66%188
  75%191
  80%194
  90%202
  95%210
  98%333
  99%338
{quote}


 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: SLING-4568.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Comment Edited] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp rendering overhead

2015-04-07 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14483466#comment-14483466
 ] 

Joel Richard edited comment on SLING-4568 at 4/7/15 4:42 PM:
-

For some pages the overhead is even bigger. Here we have an example where it is 
46pp (87%):

With ParentHidingHandler:
{quote}
  50%524
  66%529
  75%536
  80%541
  90%554
  95%617
  98%798
  99%942
{quote}

Without ParentHidingHandler:
{quote}
  50%280
  66%283
  75%286
  80%288
  90%295
  95%425
  98%454
  99%459
{quote}


was (Author: joelrich):
For some pages the overhead is even bigger. Here we have an example where it is 
46pp (87%):

With ParentHidingHandler:
{quote}
  50%524
  66%529
  75%536
  80%541
  90%554
  95%617
  98%798
  99%942
{code}

Without ParentHidingHandler:
{code}
  50%280
  66%283
  75%286
  80%288
  90%295
  95%425
  98%454
  99%459
{quote}

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30pp 
 rendering overhead
 ---

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: SLING-4568.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35pp faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Created] (SLING-4589) Performance: Read properties lazily in MergedValueMap

2015-04-08 Thread Joel Richard (JIRA)
Joel Richard created SLING-4589:
---

 Summary: Performance: Read properties lazily in MergedValueMap
 Key: SLING-4589
 URL: https://issues.apache.org/jira/browse/SLING-4589
 Project: Sling
  Issue Type: Improvement
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard


About 4% of the rendering time is spent in MergedValueMap in 
ValueMapDecorator.putAll because the JcrPropertyMap has to be read fully before 
it can be added. Therefore, I would suggest to lazily read the properties in 
get(key) and merge them there.

By the way, in my case 202 of 252 times the MergedValueMap is created only with 
a single value map.

Discussion: 
http://mail-archives.apache.org/mod_mbox/sling-dev/201504.mbox/%3C5524D90F.7030009%40apache.org%3E
 



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


[jira] [Created] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30% rendering overhead

2015-04-02 Thread Joel Richard (JIRA)
Joel Richard created SLING-4568:
---

 Summary: Performance: MergingResourceProvider.ParentHidingHandler 
adds about 30% rendering overhead
 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical


When I was analysing all read properties, I have noticed a recurring pattern 
with sling:hideChildren and jcr:primaryType and that more than 40% of the read 
properties are sling:hideChildren. I figured out that sling:hideChildren is 
read for all parents in MergingResourceProvider.ParentHidingHandler and that 
the requests are processed 30-35% faster just by uncommenting the constructor 
code.

Apache Benchmark results with ParentHidingHandler:
{quote}
  50%272
  66%276
  75%278
  80%281
  90%289
  95%301
  98%493
  99%497
{quote}

With uncommented ParentHidingHandler: 
{quote}
  50%185
  66%188
  75%191
  80%194
  90%202
  95%210
  98%333
  99%338
{quote}



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


[jira] [Updated] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30% rendering overhead

2015-04-02 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4568:

Description: 
When I was analysing all read properties, I noticed a recurring pattern with 
sling:hideChildren and jcr:primaryType and that more than 40% of the read 
properties are sling:hideChildren. I figured out that sling:hideChildren is 
read for all parents in MergingResourceProvider.ParentHidingHandler and that 
the requests are processed 30-35% faster just by commenting out the constructor 
code.

Apache Benchmark results with normal ParentHidingHandler:
{quote}
  50%272
  66%276
  75%278
  80%281
  90%289
  95%301
  98%493
  99%497
{quote}

Results with commented out ParentHidingHandler constructor: 
{quote}
  50%185
  66%188
  75%191
  80%194
  90%202
  95%210
  98%333
  99%338
{quote}

  was:
When I was analysing all read properties, I have noticed a recurring pattern 
with sling:hideChildren and jcr:primaryType and that more than 40% of the read 
properties are sling:hideChildren. I figured out that sling:hideChildren is 
read for all parents in MergingResourceProvider.ParentHidingHandler and that 
the requests are processed 30-35% faster just by uncommenting the constructor 
code.

Apache Benchmark results with ParentHidingHandler:
{quote}
  50%272
  66%276
  75%278
  80%281
  90%289
  95%301
  98%493
  99%497
{quote}

With uncommented ParentHidingHandler: 
{quote}
  50%185
  66%188
  75%191
  80%194
  90%202
  95%210
  98%333
  99%338
{quote}


 Performance: MergingResourceProvider.ParentHidingHandler adds about 30% 
 rendering overhead
 --

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance

 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35% faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Comment Edited] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30% rendering overhead

2015-04-02 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14392765#comment-14392765
 ] 

Joel Richard edited comment on SLING-4568 at 4/2/15 2:34 PM:
-

By using a simple cache (see attached patch), the overhead can be reduced 
drastically:
{quote}
  50%198
  66%202
  75%205
  80%206
  90%230
  95%270
  98%337
  99%352
{quote}
In addition to the changes in the patch, it could make sense to cache 
ancestorChildrenToHideArray separately.


was (Author: joelrich):
By using a simple cache, the overhead can be reduced drastically:
{quote}
  50%198
  66%202
  75%205
  80%206
  90%230
  95%270
  98%337
  99%352
{quote}
In addition to the changes in the patch, it could make sense to cache 
ancestorChildrenToHideArray separately.

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30% 
 rendering overhead
 --

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: SLING-4568.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35% faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Updated] (SLING-4568) Performance: MergingResourceProvider.ParentHidingHandler adds about 30% rendering overhead

2015-04-02 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4568:

Attachment: SLING-4568.patch

By using a simple cache, the overhead can be reduced drastically:
{quote}
  50%198
  66%202
  75%205
  80%206
  90%230
  95%270
  98%337
  99%352
{quote}
In addition to the changes in the patch, it could make sense to cache 
ancestorChildrenToHideArray separately.

 Performance: MergingResourceProvider.ParentHidingHandler adds about 30% 
 rendering overhead
 --

 Key: SLING-4568
 URL: https://issues.apache.org/jira/browse/SLING-4568
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: SLING-4568.patch


 When I was analysing all read properties, I noticed a recurring pattern with 
 sling:hideChildren and jcr:primaryType and that more than 40% of the read 
 properties are sling:hideChildren. I figured out that sling:hideChildren is 
 read for all parents in MergingResourceProvider.ParentHidingHandler and that 
 the requests are processed 30-35% faster just by commenting out the 
 constructor code.
 Apache Benchmark results with normal ParentHidingHandler:
 {quote}
   50%272
   66%276
   75%278
   80%281
   90%289
   95%301
   98%493
   99%497
 {quote}
 Results with commented out ParentHidingHandler constructor: 
 {quote}
   50%185
   66%188
   75%191
   80%194
   90%202
   95%210
   98%333
   99%338
 {quote}



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


[jira] [Created] (SLING-4596) Performance: Consider optimizing JcrItemResource#getParent and getChild

2015-04-09 Thread Joel Richard (JIRA)
Joel Richard created SLING-4596:
---

 Summary: Performance: Consider optimizing 
JcrItemResource#getParent and getChild
 Key: SLING-4596
 URL: https://issues.apache.org/jira/browse/SLING-4596
 Project: Sling
  Issue Type: Improvement
  Components: JCR, ResourceResolver
Affects Versions: JCR Resource 2.5.0
Reporter: Joel Richard
Priority: Critical


I have noticed that on some resource intensive pages up to 24% of the 
rendering time is spent in AbstractResource.getParent. One of the main reasons 
for this is because the ParentHidingHandler traverses for each resource to the 
root (see SLING-4568).

getParent is not just called often, but is also about 10 times slower than 
jcrNode.getParent() which has the following reasons:
- itemExists is called unnecessary because JcrResourceProvider#createResource 
does not know that the path belongs to a parent of a node which has already 
been read. See also SLING-4585.
- jcrSession.getItem (which is used to read parents in 
JcrResourceProvider#createResource) is about 3.5 times slower than 
jcrNode.getParent in Oak.
- Some other overhead which cannot be avoided entirely.

The situation could be improved with a getParent implementation which is 
specific to JcrNodeResource and uses getNode().getParent() directly to create a 
new JcrNodeResource. I have implemented such a method (see attached 
experimental patch) and it reduces the time for getParent from 24% to 5% on my 
test page.

As discussed on the [mailing 
list|http://mail-archives.apache.org/mod_mbox/sling-dev/201504.mbox/%3C55266BB2.1050506%40apache.org%3E]
 this is not a good solution because the parent resource could be backed by 
another provider. An alternative approach would be to create a new resource 
provider interface which accepts the base resource (which is passed to 
resourceResolver.getResource), retrieves the node form it and uses it for a 
direct getParent/getNode call (see the linked mail for more information).



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


[jira] [Updated] (SLING-4596) Performance: Consider optimizing JcrItemResource#getParent and getChild

2015-04-09 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4596:

Attachment: JcrNodeResource_getParent.patch

 Performance: Consider optimizing JcrItemResource#getParent and getChild
 ---

 Key: SLING-4596
 URL: https://issues.apache.org/jira/browse/SLING-4596
 Project: Sling
  Issue Type: Improvement
  Components: JCR, ResourceResolver
Affects Versions: JCR Resource 2.5.0
Reporter: Joel Richard
Priority: Critical
  Labels: performance
 Attachments: JcrNodeResource_getParent.patch


 I have noticed that on some resource intensive pages up to 24% of the 
 rendering time is spent in AbstractResource.getParent. One of the main 
 reasons for this is because the ParentHidingHandler traverses for each 
 resource to the root (see SLING-4568).
 getParent is not just called often, but is also about 10 times slower than 
 jcrNode.getParent() which has the following reasons:
 - itemExists is called unnecessary because JcrResourceProvider#createResource 
 does not know that the path belongs to a parent of a node which has already 
 been read. See also SLING-4585.
 - jcrSession.getItem (which is used to read parents in 
 JcrResourceProvider#createResource) is about 3.5 times slower than 
 jcrNode.getParent in Oak.
 - Some other overhead which cannot be avoided entirely.
 The situation could be improved with a getParent implementation which is 
 specific to JcrNodeResource and uses getNode().getParent() directly to create 
 a new JcrNodeResource. I have implemented such a method (see attached 
 experimental patch) and it reduces the time for getParent from 24% to 5% on 
 my test page.
 As discussed on the [mailing 
 list|http://mail-archives.apache.org/mod_mbox/sling-dev/201504.mbox/%3C55266BB2.1050506%40apache.org%3E]
  this is not a good solution because the parent resource could be backed by 
 another provider. An alternative approach would be to create a new resource 
 provider interface which accepts the base resource (which is passed to 
 resourceResolver.getResource), retrieves the node form it and uses it for a 
 direct getParent/getNode call (see the linked mail for more information).



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


[jira] [Created] (SLING-4591) Performance: Consider using a faster empty map in ResourceMetadata#setParameterMap

2015-04-09 Thread Joel Richard (JIRA)
Joel Richard created SLING-4591:
---

 Summary: Performance: Consider using a faster empty map in 
ResourceMetadata#setParameterMap
 Key: SLING-4591
 URL: https://issues.apache.org/jira/browse/SLING-4591
 Project: Sling
  Issue Type: Improvement
  Components: API
Affects Versions: API 2.9.0
Reporter: Joel Richard
Priority: Minor


ResourceMetadata#setParameterMap is called several thousand times per request. 
In my case the passed parameterMap is always empty. Since it has to create a 
new empty LinkedHashMap for each call, 1-2% of the rendering time is spent in 
this method.

Therefore, I would suggest to either ignore empty maps or use 
Collections.emptyMap() instead. Both solutions should work if the caller does 
not make any undocumented assumptions for getParameterMap().



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


[jira] [Resolved] (SLING-4589) Performance: Read properties lazily in MergedValueMap

2015-06-12 Thread Joel Richard (JIRA)

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

Joel Richard resolved SLING-4589.
-
Resolution: Won't Fix

 Performance: Read properties lazily in MergedValueMap
 -

 Key: SLING-4589
 URL: https://issues.apache.org/jira/browse/SLING-4589
 Project: Sling
  Issue Type: Improvement
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
  Labels: performance
 Attachments: SLING-4589.txt


 About 4% of the rendering time is spent in MergedValueMap in 
 ValueMapDecorator.putAll because the JcrPropertyMap has to be read fully 
 before it can be added. Therefore, I would suggest to lazily read the 
 properties in get(key) and merge them there.
 By the way, in my case 202 of 252 times the MergedValueMap is created only 
 with a single value map.
 Discussion: 
 http://mail-archives.apache.org/mod_mbox/sling-dev/201504.mbox/%3C5524D90F.7030009%40apache.org%3E
  



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


[jira] [Updated] (SLING-4589) Performance: Read properties lazily in MergedValueMap

2015-06-12 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4589:

Attachment: SLING-4589.txt

I have tried the attached patch, but unfortunately it didn't help at all 
because now the time is spent in get() instead of readAll(). For other use 
cases it could help though. Closing the issue for now because it isn't worth 
the added complexity.

 Performance: Read properties lazily in MergedValueMap
 -

 Key: SLING-4589
 URL: https://issues.apache.org/jira/browse/SLING-4589
 Project: Sling
  Issue Type: Improvement
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.8
Reporter: Joel Richard
  Labels: performance
 Attachments: SLING-4589.txt


 About 4% of the rendering time is spent in MergedValueMap in 
 ValueMapDecorator.putAll because the JcrPropertyMap has to be read fully 
 before it can be added. Therefore, I would suggest to lazily read the 
 properties in get(key) and merge them there.
 By the way, in my case 202 of 252 times the MergedValueMap is created only 
 with a single value map.
 Discussion: 
 http://mail-archives.apache.org/mod_mbox/sling-dev/201504.mbox/%3C5524D90F.7030009%40apache.org%3E
  



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


[jira] [Commented] (SLING-4584) Performance: XSSAPI.getValidHref should not be based on HTML filtering

2015-06-12 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14583456#comment-14583456
 ] 

Joel Richard commented on SLING-4584:
-

[~radu.cotescu], Antonio has just told me that this is your area and that it 
would be better if you could have a look at it. Do you have some time for it? 
By the way, the patch is just so big because I had to copy a config file for 
the tests.

 Performance: XSSAPI.getValidHref should not be based on HTML filtering
 --

 Key: SLING-4584
 URL: https://issues.apache.org/jira/browse/SLING-4584
 Project: Sling
  Issue Type: Improvement
  Components: Extensions
Affects Versions: XSS Protection API 1.0.2
Reporter: Joel Richard
  Labels: perfomance, xss
 Fix For: XSS Protection API 1.0.4

 Attachments: 
 0001-SLING-4584-Performance-XSSAPI.getValidHref-should-no.patch


 Around 3% of the rendering time is spent in getValidHref because it uses 
 AntiSamy (which is a HTML filter) to do the job. This is obviously a hack and 
 adds a lot of unnecessary overhead.



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


[jira] [Comment Edited] (SLING-4584) Performance: XSSAPI.getValidHref should not be based on HTML filtering

2015-06-12 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14583430#comment-14583430
 ] 

Joel Richard edited comment on SLING-4584 at 6/12/15 2:12 PM:
--

[~asanso], would you mind committing the attached patch? It has already been 
reviewed by [~chaotic]. In my case it improves the overall rendering time by 6%.


was (Author: joelrich):
[~asanso], would you mind committing the attached patch? It has already been 
reviewed by [~chaotic].

 Performance: XSSAPI.getValidHref should not be based on HTML filtering
 --

 Key: SLING-4584
 URL: https://issues.apache.org/jira/browse/SLING-4584
 Project: Sling
  Issue Type: Improvement
  Components: Extensions
Affects Versions: XSS Protection API 1.0.2
Reporter: Joel Richard
  Labels: perfomance, xss
 Fix For: XSS Protection API 1.0.4

 Attachments: 
 0001-SLING-4584-Performance-XSSAPI.getValidHref-should-no.patch


 Around 3% of the rendering time is spent in getValidHref because it uses 
 AntiSamy (which is a HTML filter) to do the job. This is obviously a hack and 
 adds a lot of unnecessary overhead.



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


[jira] [Commented] (SLING-4584) Performance: XSSAPI.getValidHref should not be based on HTML filtering

2015-06-12 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14583539#comment-14583539
 ] 

Joel Richard commented on SLING-4584:
-

[~radu.cotescu], that would be great! After discussing it with Lars, we decided 
to make some changes so it isn't exactly the same anymore.

 Performance: XSSAPI.getValidHref should not be based on HTML filtering
 --

 Key: SLING-4584
 URL: https://issues.apache.org/jira/browse/SLING-4584
 Project: Sling
  Issue Type: Improvement
  Components: Extensions
Affects Versions: XSS Protection API 1.0.2
Reporter: Joel Richard
  Labels: perfomance, xss
 Fix For: XSS Protection API 1.0.4

 Attachments: 
 0001-SLING-4584-Performance-XSSAPI.getValidHref-should-no.patch


 Around 3% of the rendering time is spent in getValidHref because it uses 
 AntiSamy (which is a HTML filter) to do the job. This is obviously a hack and 
 adds a lot of unnecessary overhead.



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


[jira] [Updated] (SLING-4584) Performance: XSSAPI.getValidHref should not be based on HTML filtering

2015-06-12 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4584:

Attachment: 0001-SLING-4584-Performance-XSSAPI.getValidHref-should-no.patch

[~asanso], would you mind committing the attached patch? It has already been 
reviewed by [~chaotic].

 Performance: XSSAPI.getValidHref should not be based on HTML filtering
 --

 Key: SLING-4584
 URL: https://issues.apache.org/jira/browse/SLING-4584
 Project: Sling
  Issue Type: Improvement
  Components: Extensions
Affects Versions: XSS Protection API 1.0.2
Reporter: Joel Richard
  Labels: perfomance, xss
 Fix For: XSS Protection API 1.0.4

 Attachments: 
 0001-SLING-4584-Performance-XSSAPI.getValidHref-should-no.patch


 Around 3% of the rendering time is spent in getValidHref because it uses 
 AntiSamy (which is a HTML filter) to do the job. This is obviously a hack and 
 adds a lot of unnecessary overhead.



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


[jira] [Updated] (SLING-4584) Performance: XSSAPI.getValidHref should not be based on HTML filtering

2015-06-12 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4584:

Attachment: (was: SLING-4584.patch)

 Performance: XSSAPI.getValidHref should not be based on HTML filtering
 --

 Key: SLING-4584
 URL: https://issues.apache.org/jira/browse/SLING-4584
 Project: Sling
  Issue Type: Improvement
  Components: Extensions
Affects Versions: XSS Protection API 1.0.2
Reporter: Joel Richard
  Labels: perfomance, xss
 Fix For: XSS Protection API 1.0.4

 Attachments: 
 0001-SLING-4584-Performance-XSSAPI.getValidHref-should-no.patch


 Around 3% of the rendering time is spent in getValidHref because it uses 
 AntiSamy (which is a HTML filter) to do the job. This is obviously a hack and 
 adds a lot of unnecessary overhead.



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


[jira] [Resolved] (SLING-4544) Performance: MessageFormat shouldn't be used for logging in SlingRequestProgressTracker

2015-08-03 Thread Joel Richard (JIRA)

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

Joel Richard resolved SLING-4544.
-
Resolution: Won't Fix

Closing as won't fix because in comparison to SLING-4596 and SLING-4611 it's 
irrelevant and not worth the effort. 

 Performance: MessageFormat shouldn't be used for logging in 
 SlingRequestProgressTracker
 ---

 Key: SLING-4544
 URL: https://issues.apache.org/jira/browse/SLING-4544
 Project: Sling
  Issue Type: Improvement
  Components: Engine
Affects Versions: Engine 2.4.0
Reporter: Joel Richard
  Labels: performance
 Attachments: SLING-4544.patch, Screen Shot 2015-03-25 at 10.42.05.png


 I am profiling an application where 1-5% of the rendering time is spent in 
 MessageFormat.format for SlingRequestProgressTracker.log (see attached 
 screenshot). Since the advanced capabilities of MessageFormat are not 
 required here, it should be rather easy to implement a utility which supports 
 \{x} as well but is much faster.



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


[jira] [Commented] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-10-22 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14968773#comment-14968773
 ] 

Joel Richard commented on SLING-4585:
-

Unfortunately, I have forgotten to increment the API version of the Jackrabbit 
API which is why we have to wait another release cycle to get this change in 
(see JCR-3919).

The good news is that this change will likely be more effective than 
anticipated for non-admin users because of the ACL overhead which can be 
reduced (especially GlobPattern.WildcardPattern in Oak).

> Performance: Use JackrabbitSession#getItemOrNull to speed up 
> JcrResourceProvider#createResource
> ---
>
> Key: SLING-4585
> URL: https://issues.apache.org/jira/browse/SLING-4585
> Project: Sling
>  Issue Type: Improvement
>  Components: JCR, ResourceResolver
>Affects Versions: JCR Resource 2.5.0
>Reporter: Joel Richard
>Priority: Critical
>  Labels: performance
> Attachments: 
> 0001-SLING-4585-Performance-Use-JackrabbitSession-getItem.patch
>
>
> If the current session is a JackrabbitSession, JcrResourceProvider should use 
> getItemOrNull (as soon as exported) to save rendering time.
> See referenced issue and the following mail thread for more information: 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E



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


[jira] [Created] (SLING-5184) JSONRenderer.quote should not use synchronized StringWriter with unspecified length

2015-10-22 Thread Joel Richard (JIRA)
Joel Richard created SLING-5184:
---

 Summary: JSONRenderer.quote should not use synchronized 
StringWriter with unspecified length
 Key: SLING-5184
 URL: https://issues.apache.org/jira/browse/SLING-5184
 Project: Sling
  Issue Type: Improvement
  Components: Commons
Affects Versions: Commons JSON 2.0.12
Reporter: Joel Richard
Priority: Minor


StringWriter uses a StringBuffer internally which is synchronized. By using a 
StringBuilder instead and initializing it with the estimated size, this methods 
becomes 5 times faster (in my real test case).



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


[jira] [Commented] (SLING-5184) JSONRenderer.quote should not use synchronized StringWriter with unspecified length

2015-10-22 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-5184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14968830#comment-14968830
 ] 

Joel Richard commented on SLING-5184:
-

Pull request: https://github.com/apache/sling/pull/108
[~rombert], could you please have a look at it?

> JSONRenderer.quote should not use synchronized StringWriter with unspecified 
> length
> ---
>
> Key: SLING-5184
> URL: https://issues.apache.org/jira/browse/SLING-5184
> Project: Sling
>  Issue Type: Improvement
>  Components: Commons
>Affects Versions: Commons JSON 2.0.12
>Reporter: Joel Richard
>Priority: Minor
>  Labels: json, performance
>
> StringWriter uses a StringBuffer internally which is synchronized. By using a 
> StringBuilder instead and initializing it with the estimated size, this 
> methods becomes 5 times faster (in my real test case).



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


[jira] [Created] (SLING-5153) MockProperty.isMultiple returns always false

2015-10-15 Thread Joel Richard (JIRA)
Joel Richard created SLING-5153:
---

 Summary: MockProperty.isMultiple returns always false
 Key: SLING-5153
 URL: https://issues.apache.org/jira/browse/SLING-5153
 Project: Sling
  Issue Type: Bug
  Components: Testing
Affects Versions: Commons Testing 2.0.18
Reporter: Joel Richard
Priority: Minor
 Fix For: Commons Testing 2.0.20


property.isMultiple() should return the same as 
property.getDefinition().isMultiple().



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


[jira] [Created] (SLING-5152) JsonJcrNode and JsonItemWriter should use prop.isMultiple() instead of def.isMultiple()

2015-10-15 Thread Joel Richard (JIRA)
Joel Richard created SLING-5152:
---

 Summary: JsonJcrNode and JsonItemWriter should use 
prop.isMultiple() instead of def.isMultiple()
 Key: SLING-5152
 URL: https://issues.apache.org/jira/browse/SLING-5152
 Project: Sling
  Issue Type: Improvement
  Components: Commons
Affects Versions: Commons JSON 2.0.12
Reporter: Joel Richard
Priority: Minor


In Oak, node.getDefinition().isMultiple() is is around 35 times slower than 
prop.isMultiple(). In addition to this, MockProperty.isMultiple has to be 
implemented because otherwise the tests fail (for which I will open another 
issue shortly).



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


[jira] [Commented] (SLING-5152) JsonJcrNode and JsonItemWriter should use prop.isMultiple() instead of def.isMultiple()

2015-10-15 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-5152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14958918#comment-14958918
 ] 

Joel Richard commented on SLING-5152:
-

I have created a pull request for this issue and SLING-5153: 
https://github.com/apache/sling/pull/107
[~rombert] or [~tomek.rekawek], would you mind reviewing the pull request?

> JsonJcrNode and JsonItemWriter should use prop.isMultiple() instead of 
> def.isMultiple()
> ---
>
> Key: SLING-5152
> URL: https://issues.apache.org/jira/browse/SLING-5152
> Project: Sling
>  Issue Type: Improvement
>  Components: Commons
>Affects Versions: Commons JSON 2.0.12
>Reporter: Joel Richard
>Priority: Minor
>  Labels: json, performance
>
> In Oak, node.getDefinition().isMultiple() is is around 35 times slower than 
> prop.isMultiple(). In addition to this, MockProperty.isMultiple has to be 
> implemented because otherwise the tests fail (for which I will open another 
> issue shortly).



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


[jira] [Commented] (SLING-5152) JsonJcrNode and JsonItemWriter should use prop.isMultiple() instead of def.isMultiple()

2015-10-15 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-5152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14958941#comment-14958941
 ] 

Joel Richard commented on SLING-5152:
-

[~rombert], quoting [~anchela] from another conversation:
{quote}Looking at the implementation in Jackrabbit core it have the impression 
that in the reference implementation we interpreted this such that 
Property.isMultiple returns true if PropertyDefinition.isMultiple returns true. 
So, I would take this as de facto standard even if the spec might be a little 
bit ambiguous here.{quote}
Since JsonJcrNode/JsonItemWriter operates with the property values, it makes 
more sense to use property.isMultiple() anyway in my opinion.

> JsonJcrNode and JsonItemWriter should use prop.isMultiple() instead of 
> def.isMultiple()
> ---
>
> Key: SLING-5152
> URL: https://issues.apache.org/jira/browse/SLING-5152
> Project: Sling
>  Issue Type: Improvement
>  Components: Commons
>Affects Versions: Commons JSON 2.0.12
>Reporter: Joel Richard
>Priority: Minor
>  Labels: json, performance
>
> In Oak, node.getDefinition().isMultiple() is is around 35 times slower than 
> prop.isMultiple(). In addition to this, MockProperty.isMultiple has to be 
> implemented because otherwise the tests fail (for which I will open another 
> issue shortly).



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


[jira] [Reopened] (SLING-5108) Various little performance improvements

2015-10-08 Thread Joel Richard (JIRA)

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

Joel Richard reopened SLING-5108:
-

Reopening the issue because I have pushed and will push a few more improvements 
to the pull request. It's probably better to keep this issue open for a few 
more days. Sorry for the confusion.

> Various little performance improvements
> ---
>
> Key: SLING-5108
> URL: https://issues.apache.org/jira/browse/SLING-5108
> Project: Sling
>  Issue Type: Improvement
>  Components: API, Engine, Extensions, JCR, ResourceResolver
>Reporter: Joel Richard
>Assignee: Tomek Rękawek
>Priority: Minor
>  Labels: performance
> Fix For: JCR Resource 2.5.8, API 2.10.0
>
>




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


[jira] [Commented] (SLING-5117) Reuse PrintWriter to avoid initialisation overhead

2015-10-14 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-5117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14956786#comment-14956786
 ] 

Joel Richard commented on SLING-5117:
-

[~cziegeler], do you think the problem could have been the following one? 
https://bz.apache.org/bugzilla/show_bug.cgi?id=50228
I have already quickly tested the pool and at a first glance it looked fine. 
Before the PageContext is reused, it resets the internal state of it. Since it 
resets even the internal state of the JspWriter, it can reuse the same object 
and therefore we could also reuse the PrintWriter. I don't see a reason why 
this should be a problem for JSPs/lead to memory leaks (unless there are 
further bugs similar to #50228).

> Reuse PrintWriter to avoid initialisation overhead
> --
>
> Key: SLING-5117
> URL: https://issues.apache.org/jira/browse/SLING-5117
> Project: Sling
>  Issue Type: Improvement
>  Components: Scripting
>Reporter: Joel Richard
>Priority: Minor
>  Labels: performance
>
> Surprisingly, java.io.PrintWriter is relatively expensive to initialise 
> because of the AccessController.doPrivileged call in the constructor. Right 
> now, it initialises for each include a new PrintWriter which costs 2-3% 
> rendering time.
> In order to avoid this overhead, I would suggest to fix SLING-1284 properly 
> (as far as I have seen there is a real fix in Tomcat) and create a reusable 
> PrintWriter in PageContextImpl together with the JspWriter. In addition, the 
> OnDemandWriterResponse must be adjusted to not create a new PrintWriter. 
> Maybe, all the OnDemand* classes could also just be removed.



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


[jira] [Created] (SLING-5108) Various little performance improvements

2015-10-07 Thread Joel Richard (JIRA)
Joel Richard created SLING-5108:
---

 Summary: Various little performance improvements
 Key: SLING-5108
 URL: https://issues.apache.org/jira/browse/SLING-5108
 Project: Sling
  Issue Type: Improvement
  Components: API, Engine, JCR, Scripting
Reporter: Joel Richard






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


[jira] [Commented] (SLING-5108) Various little performance improvements

2015-10-07 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-5108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14946636#comment-14946636
 ] 

Joel Richard commented on SLING-5108:
-

First pull request: https://github.com/apache/sling/pull/105
A few other improvements will follow later.

> Various little performance improvements
> ---
>
> Key: SLING-5108
> URL: https://issues.apache.org/jira/browse/SLING-5108
> Project: Sling
>  Issue Type: Improvement
>  Components: API, Engine, JCR, Scripting
>Reporter: Joel Richard
>  Labels: performance
>




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


[jira] [Commented] (SLING-4544) Performance: MessageFormat shouldn't be used for logging in SlingRequestProgressTracker

2015-10-06 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14945119#comment-14945119
 ] 

Joel Richard commented on SLING-4544:
-

[~tomek.rekawek], I have updated the pull request.

> Performance: MessageFormat shouldn't be used for logging in 
> SlingRequestProgressTracker
> ---
>
> Key: SLING-4544
> URL: https://issues.apache.org/jira/browse/SLING-4544
> Project: Sling
>  Issue Type: Improvement
>  Components: Engine
>Affects Versions: Engine 2.4.0
>Reporter: Joel Richard
>Assignee: Tomek Rękawek
>  Labels: performance
> Attachments: SLING-4544.patch, Screen Shot 2015-03-25 at 10.42.05.png
>
>
> I am profiling an application where 1-5% of the rendering time is spent in 
> MessageFormat.format for SlingRequestProgressTracker.log (see attached 
> screenshot). Since the advanced capabilities of MessageFormat are not 
> required here, it should be rather easy to implement a utility which supports 
> \{x} as well but is much faster.



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


[jira] [Updated] (SLING-5108) Various little performance improvements

2015-10-07 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-5108:

Component/s: (was: Scripting)

> Various little performance improvements
> ---
>
> Key: SLING-5108
> URL: https://issues.apache.org/jira/browse/SLING-5108
> Project: Sling
>  Issue Type: Improvement
>  Components: API, Engine, JCR
>Reporter: Joel Richard
>Assignee: Tomek Rękawek
>Priority: Minor
>  Labels: performance
> Fix For: JCR Resource 2.5.8, API 2.10.0
>
>




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


[jira] [Updated] (SLING-5108) Various little performance improvements

2015-10-07 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-5108:

Priority: Minor  (was: Major)

> Various little performance improvements
> ---
>
> Key: SLING-5108
> URL: https://issues.apache.org/jira/browse/SLING-5108
> Project: Sling
>  Issue Type: Improvement
>  Components: API, Engine, JCR, Scripting
>Reporter: Joel Richard
>Assignee: Tomek Rękawek
>Priority: Minor
>  Labels: performance
> Fix For: JCR Resource 2.5.8, API 2.10.0
>
>




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


[jira] [Updated] (SLING-5108) Various little performance improvements

2015-10-07 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-5108:

Component/s: ResourceResolver
 Extensions

> Various little performance improvements
> ---
>
> Key: SLING-5108
> URL: https://issues.apache.org/jira/browse/SLING-5108
> Project: Sling
>  Issue Type: Improvement
>  Components: API, Engine, Extensions, JCR, ResourceResolver
>Reporter: Joel Richard
>Assignee: Tomek Rękawek
>Priority: Minor
>  Labels: performance
> Fix For: JCR Resource 2.5.8, API 2.10.0
>
>




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


[jira] [Created] (SLING-5117) Reuse PrintWriter to avoid initialisation overhead

2015-10-07 Thread Joel Richard (JIRA)
Joel Richard created SLING-5117:
---

 Summary: Reuse PrintWriter to avoid initialisation overhead
 Key: SLING-5117
 URL: https://issues.apache.org/jira/browse/SLING-5117
 Project: Sling
  Issue Type: Improvement
  Components: Scripting
Reporter: Joel Richard
Priority: Minor


Surprisingly, java.io.PrintWriter is relatively expensive to initialise because 
of the AccessController.doPrivileged call in the constructor. Right now, it 
initialises for each include a new PrintWriter which costs 2-3% rendering time.

In order to avoid this overhead, I would suggest to fix SLING-1284 properly (as 
far as I have seen there is a real fix in Tomcat) and create a reusable 
PrintWriter in PageContextImpl together with the JspWriter. In addition, the 
OnDemandWriterResponse must be adjusted to not create a new PrintWriter. Maybe, 
all the OnDemand* classes could also just be removed.



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


[jira] [Commented] (SLING-5117) Reuse PrintWriter to avoid initialisation overhead

2015-10-07 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-5117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14947083#comment-14947083
 ] 

Joel Richard commented on SLING-5117:
-

[~cziegeler], do you remember the details of SLING-1284? When exactly was this 
an issue?

> Reuse PrintWriter to avoid initialisation overhead
> --
>
> Key: SLING-5117
> URL: https://issues.apache.org/jira/browse/SLING-5117
> Project: Sling
>  Issue Type: Improvement
>  Components: Scripting
>Reporter: Joel Richard
>Priority: Minor
>  Labels: performance
>
> Surprisingly, java.io.PrintWriter is relatively expensive to initialise 
> because of the AccessController.doPrivileged call in the constructor. Right 
> now, it initialises for each include a new PrintWriter which costs 2-3% 
> rendering time.
> In order to avoid this overhead, I would suggest to fix SLING-1284 properly 
> (as far as I have seen there is a real fix in Tomcat) and create a reusable 
> PrintWriter in PageContextImpl together with the JspWriter. In addition, the 
> OnDemandWriterResponse must be adjusted to not create a new PrintWriter. 
> Maybe, all the OnDemand* classes could also just be removed.



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


[jira] [Updated] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-09-30 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4585:

Attachment: 0001-SLING-4585-Performance-Use-JackrabbitSession-getItem.patch

The attached patch is compatible with the following branch: 
https://github.com/trekawek/sling/commits/SLING-4750
If we don't have to support older Jackrabbit versions, then we can remove the 
reflection code again.

> Performance: Use JackrabbitSession#getItemOrNull to speed up 
> JcrResourceProvider#createResource
> ---
>
> Key: SLING-4585
> URL: https://issues.apache.org/jira/browse/SLING-4585
> Project: Sling
>  Issue Type: Improvement
>  Components: JCR, ResourceResolver
>Affects Versions: JCR Resource 2.5.0
>Reporter: Joel Richard
>Priority: Critical
>  Labels: performance
> Attachments: 
> 0001-SLING-4585-Performance-Use-JackrabbitSession-getItem.patch
>
>
> If the current session is a JackrabbitSession, JcrResourceProvider should use 
> getItemOrNull (as soon as exported) to save rendering time.
> See referenced issue and the following mail thread for more information: 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E



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


[jira] [Reopened] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-09-30 Thread Joel Richard (JIRA)

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

Joel Richard reopened SLING-4585:
-

We cannot implement this as part of SLING-4750 because the latest jackrabbit 
api hasn't been released. Therefore reopening as discussed with 
[~tomek.rekawek].

> Performance: Use JackrabbitSession#getItemOrNull to speed up 
> JcrResourceProvider#createResource
> ---
>
> Key: SLING-4585
> URL: https://issues.apache.org/jira/browse/SLING-4585
> Project: Sling
>  Issue Type: Improvement
>  Components: JCR, ResourceResolver
>Affects Versions: JCR Resource 2.5.0
>Reporter: Joel Richard
>Priority: Critical
>  Labels: performance
>
> If the current session is a JackrabbitSession, JcrResourceProvider should use 
> getItemOrNull (as soon as exported) to save rendering time.
> See referenced issue and the following mail thread for more information: 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E



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


[jira] [Commented] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-09-30 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936604#comment-14936604
 ] 

Joel Richard commented on SLING-4585:
-

It has to use the latest version for the tests though. There is a TODO in the 
patch to figure out how to do this. Is it maybe possible to use the latest 
version with the test scope?

> Performance: Use JackrabbitSession#getItemOrNull to speed up 
> JcrResourceProvider#createResource
> ---
>
> Key: SLING-4585
> URL: https://issues.apache.org/jira/browse/SLING-4585
> Project: Sling
>  Issue Type: Improvement
>  Components: JCR, ResourceResolver
>Affects Versions: JCR Resource 2.5.0
>Reporter: Joel Richard
>Priority: Critical
>  Labels: performance
> Attachments: 
> 0001-SLING-4585-Performance-Use-JackrabbitSession-getItem.patch
>
>
> If the current session is a JackrabbitSession, JcrResourceProvider should use 
> getItemOrNull (as soon as exported) to save rendering time.
> See referenced issue and the following mail thread for more information: 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E



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


[jira] [Commented] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-09-30 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936599#comment-14936599
 ] 

Joel Richard commented on SLING-4585:
-

As long as the changes in the Jackrabbit API/core haven't been released, we 
cannot commit this change. However, [~tomek.rekawek] wants to proceed with 
SLING-4750 as quickly as possible and that's why we have decided to reopen this 
issue.

> Performance: Use JackrabbitSession#getItemOrNull to speed up 
> JcrResourceProvider#createResource
> ---
>
> Key: SLING-4585
> URL: https://issues.apache.org/jira/browse/SLING-4585
> Project: Sling
>  Issue Type: Improvement
>  Components: JCR, ResourceResolver
>Affects Versions: JCR Resource 2.5.0
>Reporter: Joel Richard
>Priority: Critical
>  Labels: performance
> Attachments: 
> 0001-SLING-4585-Performance-Use-JackrabbitSession-getItem.patch
>
>
> If the current session is a JackrabbitSession, JcrResourceProvider should use 
> getItemOrNull (as soon as exported) to save rendering time.
> See referenced issue and the following mail thread for more information: 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E



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


[jira] [Commented] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-09-30 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936595#comment-14936595
 ] 

Joel Richard commented on SLING-4585:
-

Sure, I can revert this. I am just a little bit surprised because above you 
said:
{quote}We should make sure that the implementation still runs on older 
jackrabbit api versions and simply reverts to the old behaviour. Otherwise 
updating the jcr resource bundle requires updating the jcr implementation; we 
should avoid this{quote}

> Performance: Use JackrabbitSession#getItemOrNull to speed up 
> JcrResourceProvider#createResource
> ---
>
> Key: SLING-4585
> URL: https://issues.apache.org/jira/browse/SLING-4585
> Project: Sling
>  Issue Type: Improvement
>  Components: JCR, ResourceResolver
>Affects Versions: JCR Resource 2.5.0
>Reporter: Joel Richard
>Priority: Critical
>  Labels: performance
> Attachments: 
> 0001-SLING-4585-Performance-Use-JackrabbitSession-getItem.patch
>
>
> If the current session is a JackrabbitSession, JcrResourceProvider should use 
> getItemOrNull (as soon as exported) to save rendering time.
> See referenced issue and the following mail thread for more information: 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E



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


[jira] [Commented] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-09-30 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936650#comment-14936650
 ] 

Joel Richard commented on SLING-4585:
-

[~cziegeler], the tests are intended to ensure that the behaviour between the 
two ways of retrieving the items is exactly the same. I think they are 
necessary because the old way, for example, would not have thrown an exception 
for empty paths while jackrabbitSession.getItemOrNull throws one. Therefore, it 
needs some special handling to ensure that the behaviour is the same and I 
think this should have test coverage because otherwise it might happen that 
somebody will remove the special handling in the future.

The snapshot dependencies are not meant to be committed to the Sling code base 
(which is indicated by the todo above).

> Performance: Use JackrabbitSession#getItemOrNull to speed up 
> JcrResourceProvider#createResource
> ---
>
> Key: SLING-4585
> URL: https://issues.apache.org/jira/browse/SLING-4585
> Project: Sling
>  Issue Type: Improvement
>  Components: JCR, ResourceResolver
>Affects Versions: JCR Resource 2.5.0
>Reporter: Joel Richard
>Priority: Critical
>  Labels: performance
> Attachments: 
> 0001-SLING-4585-Performance-Use-JackrabbitSession-getItem.patch
>
>
> If the current session is a JackrabbitSession, JcrResourceProvider should use 
> getItemOrNull (as soon as exported) to save rendering time.
> See referenced issue and the following mail thread for more information: 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E



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


[jira] [Commented] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-09-30 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936812#comment-14936812
 ] 

Joel Richard commented on SLING-4585:
-

Right, we have to wait until Jackrabbit/Oak has been released with the 
getItemOrNull changes (should be done in 2 weeks if I remember correctly).

> Performance: Use JackrabbitSession#getItemOrNull to speed up 
> JcrResourceProvider#createResource
> ---
>
> Key: SLING-4585
> URL: https://issues.apache.org/jira/browse/SLING-4585
> Project: Sling
>  Issue Type: Improvement
>  Components: JCR, ResourceResolver
>Affects Versions: JCR Resource 2.5.0
>Reporter: Joel Richard
>Priority: Critical
>  Labels: performance
> Attachments: 
> 0001-SLING-4585-Performance-Use-JackrabbitSession-getItem.patch
>
>
> If the current session is a JackrabbitSession, JcrResourceProvider should use 
> getItemOrNull (as soon as exported) to save rendering time.
> See referenced issue and the following mail thread for more information: 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E



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


[jira] [Reopened] (SLING-4544) Performance: MessageFormat shouldn't be used for logging in SlingRequestProgressTracker

2015-10-06 Thread Joel Richard (JIRA)

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

Joel Richard reopened SLING-4544:
-

I encountered a page where 6.7% of the rendering time is spent in 
MessageFormat.format and decided to implement a faster MessageFormat 
implementation anyway. It's kept very simple and falls back to the original 
implementation for more complex formats. This change reduces the overhead to 
3.5% (which is mainly due to toString methods).

The pull request can be found here: https://github.com/apache/sling/pull/104
[~tomek.rekawek], would you mind reviewing it?

> Performance: MessageFormat shouldn't be used for logging in 
> SlingRequestProgressTracker
> ---
>
> Key: SLING-4544
> URL: https://issues.apache.org/jira/browse/SLING-4544
> Project: Sling
>  Issue Type: Improvement
>  Components: Engine
>Affects Versions: Engine 2.4.0
>Reporter: Joel Richard
>  Labels: performance
> Attachments: SLING-4544.patch, Screen Shot 2015-03-25 at 10.42.05.png
>
>
> I am profiling an application where 1-5% of the rendering time is spent in 
> MessageFormat.format for SlingRequestProgressTracker.log (see attached 
> screenshot). Since the advanced capabilities of MessageFormat are not 
> required here, it should be rather easy to implement a utility which supports 
> \{x} as well but is much faster.



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


[jira] [Commented] (SLING-4611) Performance: Consider optimizing MergedResource#getParent and getChild

2015-10-05 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-4611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14943495#comment-14943495
 ] 

Joel Richard commented on SLING-4611:
-

I have created a pull request which is compatible with the latest resource 
provider API: https://github.com/trekawek/sling/pull/2

> Performance: Consider optimizing MergedResource#getParent and getChild
> --
>
> Key: SLING-4611
> URL: https://issues.apache.org/jira/browse/SLING-4611
> Project: Sling
>  Issue Type: Improvement
>  Components: ResourceResolver
>Affects Versions: Resource Merger 1.2.8
>Reporter: Joel Richard
>Priority: Critical
>  Labels: perfomance
> Attachments: SLING-4611_experimental.patch
>
>
> For some pages up to 29% of the rendering time is spent in 
> AbstractResource.getChild. In my case, 75% of the resources are 
> MergedResources and the rest are JcrNodeResources (for which I have already 
> opened SLING-4596).
> Therefore, I would suggest implementing the following optimization:
> The merged resources should be stored in MergedResource and when getChild is 
> called, it would use getChild on them directly and merge the child resources. 
> This would have the advantage that the ParentHidingHandler would not have to 
> be called again for the parent resources and could even make SLING-4568 
> obsolete. Moreover, it would leverage optimizations of the merged resource 
> implementations (e.g. SLING-4596 for JcrNodeResource#getChild).
> A problem with this approach is that possible in JCR (and maybe also some 
> other resource providers) to set ACLs which allow to read children but not 
> their parents. Therefore, getChild will in addition have to check for each 
> search path which isn't covered with a merged resource if this path does 
> really not exist.



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


[jira] [Updated] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-12-07 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4585:

Attachment: (was: 
0001-SLING-4585-Performance-Use-JackrabbitSession-getItem.patch)

> Performance: Use JackrabbitSession#getItemOrNull to speed up 
> JcrResourceProvider#createResource
> ---
>
> Key: SLING-4585
> URL: https://issues.apache.org/jira/browse/SLING-4585
> Project: Sling
>  Issue Type: Improvement
>  Components: JCR, ResourceResolver
>Affects Versions: JCR Resource 2.5.0
>Reporter: Joel Richard
>Priority: Critical
>  Labels: performance
> Fix For: JCR Resource 2.6.0
>
>
> If the current session is a JackrabbitSession, JcrResourceProvider should use 
> getItemOrNull (as soon as exported) to save rendering time.
> See referenced issue and the following mail thread for more information: 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E



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


[jira] [Updated] (SLING-4585) Performance: Use JackrabbitSession#getItemOrNull to speed up JcrResourceProvider#createResource

2015-12-07 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-4585:

Attachment: 0001-SLING-4585-Performance-Use-JackrabbitSession-getItem.patch

I have just attached an updated patch for trunk. Because of the Jackrabbit/Oak 
update, I had to adjust two unrelated tests.

Since commons.testing hasn't been released (see SLING-5341), I had to add a 
dependency to jackrabbit-core. Ideally, this patch is only applied after 
commons.testing has been released and then the jackrabbit-core dependency can 
be removed again.

Please note that this change breaks compatibility with older Jackrabbit and Oak 
versions. Carsten has agreed with this change.

[~rombert], would you mind taking care of the patch and this issue?

> Performance: Use JackrabbitSession#getItemOrNull to speed up 
> JcrResourceProvider#createResource
> ---
>
> Key: SLING-4585
> URL: https://issues.apache.org/jira/browse/SLING-4585
> Project: Sling
>  Issue Type: Improvement
>  Components: JCR, ResourceResolver
>Affects Versions: JCR Resource 2.5.0
>Reporter: Joel Richard
>Priority: Critical
>  Labels: performance
> Fix For: JCR Resource 2.6.0
>
> Attachments: 
> 0001-SLING-4585-Performance-Use-JackrabbitSession-getItem.patch
>
>
> If the current session is a JackrabbitSession, JcrResourceProvider should use 
> getItemOrNull (as soon as exported) to save rendering time.
> See referenced issue and the following mail thread for more information: 
> http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201504.mbox/%3CD1495A09.3B670%25anchela%40adobe.com%3E



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


[jira] [Commented] (SLING-5108) Various little performance improvements

2015-12-10 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-5108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15050408#comment-15050408
 ] 

Joel Richard commented on SLING-5108:
-

[~cziegeler], I have completed the fix versions. This issue can be closed now. 
Would be nice if the changed bundles could be released soon.

> Various little performance improvements
> ---
>
> Key: SLING-5108
> URL: https://issues.apache.org/jira/browse/SLING-5108
> Project: Sling
>  Issue Type: Improvement
>  Components: API, Engine, Extensions, JCR, ResourceResolver
>Reporter: Joel Richard
>Assignee: Tomek Rękawek
>Priority: Minor
>  Labels: performance
> Fix For: Servlets Resolver 2.3.10, JCR Resource 2.6.0, API 
> 2.10.0, Resource Resolver 1.3.0
>
>




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


[jira] [Updated] (SLING-5108) Various little performance improvements

2015-12-10 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-5108:

Fix Version/s: Resource Resolver 1.3.0
   Servlets Resolver 2.3.10

> Various little performance improvements
> ---
>
> Key: SLING-5108
> URL: https://issues.apache.org/jira/browse/SLING-5108
> Project: Sling
>  Issue Type: Improvement
>  Components: API, Engine, Extensions, JCR, ResourceResolver
>Reporter: Joel Richard
>Assignee: Tomek Rękawek
>Priority: Minor
>  Labels: performance
> Fix For: Servlets Resolver 2.3.10, JCR Resource 2.6.0, API 
> 2.10.0, Resource Resolver 1.3.0
>
>




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


[jira] [Commented] (SLING-5341) Update Jackrabbit in Commons Testing to 2.11.2

2015-11-30 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-5341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15033251#comment-15033251
 ] 

Joel Richard commented on SLING-5341:
-

[~olli], thank you. Is there already a release scheduled for it?

> Update Jackrabbit in Commons Testing to 2.11.2
> --
>
> Key: SLING-5341
> URL: https://issues.apache.org/jira/browse/SLING-5341
> Project: Sling
>  Issue Type: Task
>  Components: Testing
>Affects Versions: Commons Testing 2.0.22
>Reporter: Joel Richard
>Assignee: Oliver Lietz
>
> For SLING-4585 we have to use the latest jackrabbit-core version (2.11.2). 
> Otherwise the tests fail with the following error:
> {code}java.lang.AbstractMethodError: 
> org.apache.jackrabbit.core.XASessionImpl.getItemOrNull(Ljava/lang/String;)Ljavax/jcr/Item;
>   at 
> org.apache.sling.jcr.resource.internal.helper.jcr.JcrItemResourceFactory.getItemOrNull(JcrItemResourceFactory.java:182){code}



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


[jira] [Created] (SLING-5341) Update jackrabbit version of commons.testing

2015-11-30 Thread Joel Richard (JIRA)
Joel Richard created SLING-5341:
---

 Summary: Update jackrabbit version of commons.testing
 Key: SLING-5341
 URL: https://issues.apache.org/jira/browse/SLING-5341
 Project: Sling
  Issue Type: Task
  Components: Testing
Affects Versions: Commons Testing 2.0.22
Reporter: Joel Richard


For SLING-4585 we have to use the latest jackrabbit-core version (2.11.2). 
Otherwise the tests fail with the following error:
{code}java.lang.AbstractMethodError: 
org.apache.jackrabbit.core.XASessionImpl.getItemOrNull(Ljava/lang/String;)Ljavax/jcr/Item;

at 
org.apache.sling.jcr.resource.internal.helper.jcr.JcrItemResourceFactory.getItemOrNull(JcrItemResourceFactory.java:182){code}



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


[jira] [Updated] (SLING-5341) Update jackrabbit version in commons.testing

2015-11-30 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-5341:

Summary: Update jackrabbit version in commons.testing  (was: Update 
jackrabbit version of commons.testing)

> Update jackrabbit version in commons.testing
> 
>
> Key: SLING-5341
> URL: https://issues.apache.org/jira/browse/SLING-5341
> Project: Sling
>  Issue Type: Task
>  Components: Testing
>Affects Versions: Commons Testing 2.0.22
>Reporter: Joel Richard
>
> For SLING-4585 we have to use the latest jackrabbit-core version (2.11.2). 
> Otherwise the tests fail with the following error:
> {code}java.lang.AbstractMethodError: 
> org.apache.jackrabbit.core.XASessionImpl.getItemOrNull(Ljava/lang/String;)Ljavax/jcr/Item;
>   at 
> org.apache.sling.jcr.resource.internal.helper.jcr.JcrItemResourceFactory.getItemOrNull(JcrItemResourceFactory.java:182){code}



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


[jira] [Commented] (SLING-5341) Update jackrabbit version in commons.testing

2015-11-30 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-5341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15031713#comment-15031713
 ] 

Joel Richard commented on SLING-5341:
-

[~rombert], could you please have a look at the pull request?

> Update jackrabbit version in commons.testing
> 
>
> Key: SLING-5341
> URL: https://issues.apache.org/jira/browse/SLING-5341
> Project: Sling
>  Issue Type: Task
>  Components: Testing
>Affects Versions: Commons Testing 2.0.22
>Reporter: Joel Richard
>
> For SLING-4585 we have to use the latest jackrabbit-core version (2.11.2). 
> Otherwise the tests fail with the following error:
> {code}java.lang.AbstractMethodError: 
> org.apache.jackrabbit.core.XASessionImpl.getItemOrNull(Ljava/lang/String;)Ljavax/jcr/Item;
>   at 
> org.apache.sling.jcr.resource.internal.helper.jcr.JcrItemResourceFactory.getItemOrNull(JcrItemResourceFactory.java:182){code}



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


[jira] [Created] (SLING-5501) Adjust resource merger for latest API changes

2016-02-09 Thread Joel Richard (JIRA)
Joel Richard created SLING-5501:
---

 Summary: Adjust resource merger for latest API changes
 Key: SLING-5501
 URL: https://issues.apache.org/jira/browse/SLING-5501
 Project: Sling
  Issue Type: Bug
  Components: ResourceResolver
Affects Versions: Resource Merger 1.2.10
Reporter: Joel Richard
 Fix For: Resource Merger 1.2.12


This is a follow up issue for SLING-4611. The resource merger code has to be 
adjusted for the latest resource provider changes. I will attach a patch 
shortly.



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


[jira] [Updated] (SLING-5501) Adjust resource merger for latest API changes

2016-02-09 Thread Joel Richard (JIRA)

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

Joel Richard updated SLING-5501:

Attachment: SLING-5501.patch

> Adjust resource merger for latest API changes
> -
>
> Key: SLING-5501
> URL: https://issues.apache.org/jira/browse/SLING-5501
> Project: Sling
>  Issue Type: Bug
>  Components: ResourceResolver
>Affects Versions: Resource Merger 1.2.10
>Reporter: Joel Richard
>  Labels: performance
> Fix For: Resource Merger 1.2.12
>
> Attachments: SLING-5501.patch
>
>
> This is a follow up issue for SLING-4611. The resource merger code has to be 
> adjusted for the latest resource provider changes. I will attach a patch 
> shortly.



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


[jira] [Commented] (SLING-5463) GetStarTest fails with "Invalid name or path"

2016-01-28 Thread Joel Richard (JIRA)

[ 
https://issues.apache.org/jira/browse/SLING-5463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15121720#comment-15121720
 ] 

Joel Richard commented on SLING-5463:
-

[~rombert], the reason is that createResource has returned null so far when a 
path was invalid. I tried to keep this behaviour, but it seems like I missed 
some cases. I am having a closer look at it right now.

> GetStarTest fails with "Invalid name or path"
> -
>
> Key: SLING-5463
> URL: https://issues.apache.org/jira/browse/SLING-5463
> Project: Sling
>  Issue Type: Bug
>  Components: Testing
>Reporter: Bertrand Delacretaz
>Assignee: Robert Munteanu
>Priority: Minor
>  Labels: sling-IT
>
> The GetStarTest from launchpad/integration-tests recently started failing, 
> for example at [1]:
> {code}
> javax.jcr.RepositoryException: Invalid name or path: 
> /GetStarTest1453972215267/* 
>  at 
> org.apache.jackrabbit.oak.jcr.session.SessionContext.getOakPathOrThrow(SessionContext.java:347)
> ...
>  at 
> org.apache.jackrabbit.oak.jcr.session.SessionImpl.getItemOrNull(SessionImpl.java:225)
>  at 
> org.apache.sling.jcr.resource.internal.helper.jcr.JcrItemResourceFactory.getItemOrNull(JcrItemResourceFactory.java:182)
>  at 
> org.apache.sling.jcr.resource.internal.helper.jcr.JcrItemResourceFactory.createResource(JcrItemResourceFactory.java:96)
>  at 
> org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.listChildren(JcrResourceProvider.java:293)
>  at 
> org.apache.sling.resourceresolver.impl.providers.stateful.AuthenticatedResourceProvider.listChildren(AuthenticatedResourceProvider.java:175)
>  at 
> org.apache.sling.resourceresolver.impl.providers.stateful.CombinedResourceProvider.listChildren(CombinedResourceProvider.java:205)
>  at 
> org.apache.sling.resourceresolver.impl.ResourceResolverImpl.listChildren(ResourceResolverImpl.java:719)
>  at 
> org.apache.sling.api.resource.ResourceUtil.listChildren(ResourceUtil.java:360)
> ...
>  at 
> org.apache.sling.servlets.get.impl.helpers.JsonRendererServlet.doGet(JsonRendererServlet.java:100)
> {code}
> [1] 
> https://builds.apache.org/view/S-Z/view/Sling/job/sling-trunk-1.7/org.apache.sling$org.apache.sling.launchpad.testing/3252/testReport/junit/org.apache.sling.launchpad.webapp.integrationtest/GetStarTest/testGetStarJson/



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


  1   2   >