Expand my Community achievements bar.

Issue with ACS AEM commons version numbers

Avatar

Level 3

We are using the ACS AEM commons bundle in our project. It is included as a dependency in our pom files. We have upgraded the ACS commons bundle version to 2.5.0 and performed a maven  build of the complete package and installed the package onto AEM 6.1 . When I verify on the fexlix system  console the  bundle version is showing as 2.5.0.  but the bundle version on Install location shows the old bundle like below

     
Bundle Locationjcrinstall:/apps/acs-commons/install/acs-aem-commons-bundle-1.10.2.jar

Due to this some of the functionalities that we are  trying to implement using the this latest bundles are not working.

I get the below error when  I configure Dispatcher TTL option provided by the latest version. I am unable to  add the cache-control-max-age header to pages due to this error

Event Dispatcher (Fire ConfigurationEvent: pid=com.adobe.acs.commons.http.headers.impl.DispatcherMaxAgeHeaderFilter.311cee30-7bd6-4780-b957-cc19cbf8b895)] org.apache.felix.http.whiteboard Failed to register filter for /content/lan/en_US/products/(.*)

6 Replies

Avatar

Level 7

HI,

Please download "ACS AEM Commons 2.4.2" version and test as this is known to be a stable one. Then if everything works fine report the issue to ACS commons for 2.5 version. 2.5 is released on May 31st so its still new.

Best of luck.

Thanks

Tuhin

Avatar

Administrator

Hi 

I have never encountered this problem.

I would recommend you to pleas go through the documentation of "ACS AEM commons".

Link:- https://adobe-consulting-services.github.io/acs-aem-commons/pages/maven.html

You can directly chat with Consulting @:- https://gitter.im/Adobe-Consulting-Services/acs-aem-commons

I hope this will help you.

Thanks and Regards

Kautuk Sahni



Kautuk Sahni

Avatar

Administrator

You can add AEM Commons as a maven dependency[1], or you can download the latest release [2] directly and install it in your instance via the AEM Package Manager service (/crx/packmgr/index.jsp).

[1] http://adobe-consulting-services.github.io/acs-aem-commons/pages/maven.html

[2] https://github.com/Adobe-Consulting-Services/acs-aem-commons/releases

~kautuk



Kautuk Sahni

Avatar

Level 3

I found the RCA for this issue and also able to reporduce the issue on Vannila AEM publish instance. Below are the details.

More information on this issue. I created a vanilla 6.1 AEM publish instance and installed a ACS -commons versions 2..2.0 .

Then I configured it as per the documentation with a geometrixx page --> /content/geometrixx_mobile/en.html for a cache-control max-age=150 seconds

Then  everything works as expected. I have attached the screenshot where you can  see that a cached page(en.html) has been created with a ttl invalidation page(en.html.ttl) by the dispatcher.

Below are the details from error log where we can  see that its working as expected

[Mon Jul 18 17:18:01 2016] [D] [pid 1252 (tid 792)] Found farm publishfarm for pub1-dev.paloaltonetworks.com:9090
[Mon Jul 18 17:18:01 2016] [D] [pid 1252 (tid 792)] checking [/content/geometrixx_mobile/en.html]
[Mon Jul 18 17:18:01 2016] [D] [pid 1252 (tid 792)] cache file has not expired: c:\www\html\\content\geometrixx_mobile\en.html
[Mon Jul 18 17:18:01 2016] [D] [pid 1252 (tid 792)] cache-action for [/content/geometrixx_mobile/en.html]: DELIVER
[Mon Jul 18 17:18:01 2016] [D] [pid 1252 (tid 792)] request declined

[Mon Jul 18 17:19:00 2016] [D] [pid 1252 (tid 792)] Found farm publishfarm for pub1-dev.paloaltonetworks.com:9090
[Mon Jul 18 17:19:00 2016] [D] [pid 1252 (tid 792)] checking [/content/geometrixx_mobile/en.html]
[Mon Jul 18 17:19:00 2016] [D] [pid 1252 (tid 792)] cache file has expired: c:\www\html\\content\geometrixx_mobile\en.html
[Mon Jul 18 17:19:00 2016] [D] [pid 1252 (tid 792)] cache-action for [/content/geometrixx_mobile/en.html]: CREATE
[Mon Jul 18 17:19:00 2016] [D] [pid 1252 (tid 792)] Connected to backend rend01 (127.0.0.1:4503)

[Mon Jul 18 17:19:00 2016] [D] [pid 1252 (tid 792)] Adding request header: Server-Agent
[Mon Jul 18 17:19:00 2016] [I] [pid 1252 (tid 792)] Evicted c:\www\html\\content\geometrixx_mobile\en.html
[Mon Jul 18 17:19:00 2016] [D] [pid 1252 (tid 792)] Cache file successfully created: c:\www\html\\content\geometrixx_mobile\en.html
[Mon Jul 18 17:19:00 2016] [I] [pid 1252 (tid 792)] "GET /content/geometrixx_mobile/en.html" - + 80ms

[Mon Jul 18 17:19:36 2016] [D] [pid 1252 (tid 948)] Found farm publishfarm for pub1-dev.paloaltonetworks.com:9090
[Mon Jul 18 17:19:36 2016] [D] [pid 1252 (tid 948)] checking [/content/geometrixx_mobile/en.html]
[Mon Jul 18 17:19:36 2016] [D] [pid 1252 (tid 948)] cache file has expired: c:\www\html\\content\geometrixx_mobile\en.html
[Mon Jul 18 17:19:36 2016] [D] [pid 1252 (tid 948)] cache-action for [/content/geometrixx_mobile/en.html]: CREATE

Then I installed ACS-commons bundle to 2.5.0 on the publish instance. Now everything stops working.  Even on  felix console the bundle version shows 2.5.0 , but JCR install location shows 2.5.0. I cleared the dispatcher cache and I hit the same page on dispatcher and I see that cached page is created without a ttl file on the file system . Every breaks with respect to TTL cache functionality.

I have uploaded the screen shots for more clarity.

Avatar

Level 3

one more screen shot where we can that when the version is 2.2.0 the cache page is created on dispatcher with TTL invalidation file along with the cached page . 

Avatar

Level 3

another screen shot when ACS commons bundle is upgraded to 2.5.0 , I cleared the cache and when  I access the same configured page on dispatcher I see that the TTL file is no more created and I see only the rerquested page-->/content/geometrixx_mobile/en.html on dispatacher.,Since there no .ttl on the dispatcher , dispatcher never checks for cache expiration of the page and the complete TTL functionality that should be provided by ACS-commons-dispathcer - TTL module is gone.