Expand my Community achievements bar.

SOLVED

No renderer for extension js

Avatar

Level 4

Why do requests for /etc/segmentation.segment.js generate these errors in the error log? This happens in a new AEM 6.1 instance and also when service pack 1 is installed. The segmentation.segment.js is called when a page contains the clientcontext component. 

11.03.2016 15:58:50.595 *ERROR* [127.0.0.1 [1457729930447] GET /etc/segmentation.segment.js HTTP/1.1] org.apache.sling.servlets.get.impl.DefaultGetServlet No renderer for extension js, cannot render resource JcrNodeResource, type=rep:ACL, superType=null, path=/etc/segmentation/aam/rep:policy

11.03.2016 15:58:50.603 *ERROR* [127.0.0.1 [1457729930447] GET /etc/segmentation.segment.js HTTP/1.1] org.apache.sling.servlets.get.impl.DefaultGetServlet No renderer for extension js, cannot render resource JcrNodeResource, type=rep:ACL, superType=null, path=/etc/segmentation/rep:policy

1 Accepted Solution

Avatar

Correct answer by
Level 10

Yes removing acl will fix the issue. On first place why you have acl at /etc/segmentation is not understood.

View solution in original post

4 Replies

Avatar

Level 10

The dispatcher selects a script or servlet based on a combination of sling:resourceType, selectors, and extensions (or the fixed path) as described at [1]. The log message is just indicating render resource is not there and it will pick last resort jcr:primaryType & respond accordingly. There is nothing to worry about the log message & won;t break any functionality.   

I' don't know exact reasons behind explicitly setting ACLs to /etc/segmentation/.... (agree this is still legal configuration). However such  configuration produces error in your log file you can ignore it.

[1] https://docs.adobe.com/content/docs/en/cq/5-6-1/developing/sling_cheatsheet/_jcr_content/par/image.i...

Avatar

Level 4

So it sounds like this is a known issue with the clientcontext component. I know I can ignore these errors because I've been ignoring them for years. Is there something I can do to either fix or suppress these errors? Would removing those ACLs from /etc/segmentation be helpful?

Avatar

Correct answer by
Level 10

Yes removing acl will fix the issue. On first place why you have acl at /etc/segmentation is not understood.

Avatar

Level 1

I had the same issue and I don't want all those logs in production, but I still want the rep:policy nodes as they are because I don't want to allow read over /etc. So, what I did was to "overlay" the folder to /apps.

In other words, I migrated the path /apps/foundation/components/primary/sling/OrderedFolder to /apps/foundation/components/primary/sling/OrderedFolder and change the segment.js.jsp script to take in mind the name of the node, so if the node name is "rep:policy", then omit it. Something like the next snippets in line 53:

Before:

if (!NameConstants.NN_CONTENT.equals(child.getName())) {

After:

if (!NameConstants.NN_CONTENT.equals(child.getName()) && !child.getName().equals("rep:policy")) {

of course that code can be tweaked for better performance.

Hope this helps!