Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
Description
When the property hippo:availability is missing on one rule the url rewrite can not process anything anymore resulting in broken redirects.
In that case the following is logged, but it is also not clear which rule is the problem.
{{01.12.2016 12:37:51 [pool-1-thread-1] ERROR [org.onehippo.forge.rewriting.repo.RewritingManager.load():152] Error loading rewriting rules in /content/urlrewriter
javax.jcr.PathNotFoundException: hippo:availability
at org.apache.jackrabbit.core.NodeImpl$11.perform(NodeImpl.java:2265)
at org.apache.jackrabbit.core.NodeImpl$11.perform(NodeImpl.java:2252)
at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
at org.apache.jackrabbit.core.NodeImpl.getProperty(NodeImpl.java:2252)
at org.hippoecm.repository.decorating.NodeDecorator.getProperty(NodeDecorator.java:250)
at org.onehippo.forge.rewriting.repo.RewritingManager.getDocumentNode(RewritingManager.java:246)
at org.onehippo.forge.rewriting.repo.RewritingManager.load(RewritingManager.java:188)
at org.onehippo.forge.rewriting.repo.RewritingManager.load(RewritingManager.java:186)
at org.onehippo.forge.rewriting.repo.RewritingManager.load(RewritingManager.java:149)
at org.onehippo.forge.rewriting.HippoRewriteFilter.fetchRules(HippoRewriteFilter.java:257)
at org.onehippo.forge.rewriting.HippoRewriteFilter.access$000(HippoRewriteFilter.java:62)
at org.onehippo.forge.rewriting.HippoRewriteFilter$1.load(HippoRewriteFilter.java:152)
at org.onehippo.forge.rewriting.HippoRewriteFilter$1$1.call(HippoRewriteFilter.java:160)
at org.onehippo.forge.rewriting.HippoRewriteFilter$1$1.call(HippoRewriteFilter.java:158)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)}}
This xpath query will list the violating rule
//element(*,urlrewriter:rule)[not(@hippo:availability)] or
//element(*,urlrewriter:advancedrule)[not(@hippo:availability)]
I don't know why this property is sometimes missing