You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Adrian Nistor (JIRA)" <ji...@apache.org> on 2013/06/21 17:56:19 UTC

[jira] [Created] (SLING-2931) Wasted work in SlingServletResolver.activate()

Adrian Nistor created SLING-2931:
------------------------------------

             Summary: Wasted work in SlingServletResolver.activate()
                 Key: SLING-2931
                 URL: https://issues.apache.org/jira/browse/SLING-2931
             Project: Sling
          Issue Type: Bug
          Components: Servlets
         Environment: any
            Reporter: Adrian Nistor
         Attachments: patch.diff

The problem appears in version 6 and in revision 1495454.  I attached
a one-line patch that fixes it.

In method "SlingServletResolver.activate", the loop over
"executionPaths" should break immediately after "hasRoot" is set to
"true".  All the iterations after "hasRoot" is set to "true" do not
perform any useful work, at best they just set "hasRoot" again to
"true".

Method "isLive" in class "ResourceResolverContext" has a similar loop
(over "dynamicProviders"), and this loop breaks immediately after
"result" is set to "false", just like in the proposed patch.  Other
methods (e.g., "FactoryPreconditions.checkPreconditions",
"JspUtil.checkAttributes", "EclipseJavaCompiler.compile",
"SecondPassVisitor.appendPageDirective") also have similar loops with
similar breaks, just like in the proposed patch.


--
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