April 27, 2020
Estimated Post Reading Time ~

In-place upgrade of AEM to 6.2 version

This post will explain the steps to in-place upgrade of Adobe Experience Manager(AEM) server to 6.2 version

Backup the current Adobe Experience Manager(AEM) instance
Copy aem-quickstart-6.2.0.jar next to current Adobe Experience Manager(AEM) crx-quickstart

Perform regular maintenance activities - including workflow purge
Run the Traversal check and Data store consistency check one by one - http://localhost:4502/system/console/repositorycheck
Disable custom login moduels if any - make sure the default login module is configured as below in crx-quickstart/repository/repository.xml

<LoginModule class="com.day.crx.core.CRXLoginModule">
<param name="anonymousId" value="anonymous"/>
<param name="adminId" value="admin"/>
<param name="disableNTLMAuth" value="true"/>
<param name="tokenExpiration" value="43200000"/>
<!-- param name="trust_credentials_attribute" value="d5b9167e95dad6e7d3b5d6fa8df48af8"/ -->
</LoginModule>


Stop the Adobe Experience Manager(AEM) server
Remove all log files under crx-quickstart/logs
chown -R aem:aem crx-quickstart(this command is required if AEM is running with different user)
su aem(this commad is required if AEM is running with diffrent user)
If you are migrating from AEM 5.x or AEM 6.0 with a CRX2 backend then follow URL - https://www.albinsblog.com/2015/09/upgrading-aemadobe-cq5-5.6.1-to-aemadobe-cq5-6.1.html
If you are migrating from AEM 6.0 with a oak backend or 6.1 then execute java -jar aem-quickstart-6.2.0.jar -r author,crx3,crx3tar
Monitor error.log and stderr.log – Once the migration is completed stderr.log will show the following message “Opening browser using cmd=x-www-browser "http://localhost:4502/" || gnome-open "http://localhost:4502/" || firefox "http://localhost:4502/" || mozilla "http://localhost:4502/" || konqueror "http://localhost:4502/" || netscape "http://localhost:4502/" || chromium-browser "http://localhost:4502/" || opera "http://localhost:4502/" || links "http://localhost:4502/" || lynx "http://localhost:4502/"

Startup time:442 seconds

http://localhost:4502/

Quickstart started”

URL to check the version - http://localhost:4502/system/console/productinfo

Check the bundles in Installed state, most of the obsolete bundles will be removed after upgrade but some cases some of the obsolete bundles will not be uninstalled - This can be ignored or uninstalled manually (better to compare the bundles with fresh 6.2 installation). Refer the following URL for details on obsolete bundles https://docs.adobe.com/docs/en/aem/6-2/deploy/upgrade/obsolete-bundles.html

Custom core bundles may not start due to the dependency issues. Refer the following URL for API difference between 6.1 and 6.2 - https://docs.adobe.com/docs/en/aem/6-2/develop/ref/diff-previous/changes/changes-summary.html

Update the maven dependency with correct version by identifying the version through depfinder -
http://localhost:4502/system/console/depfinder



The UberJar can be used to resolve the external AEM dependencies in the project instead of resolving the individual dependencies. Refer the following url for more details https://docs.adobe.com/docs/en/aem/6-2/develop/dev-tools/ht-projects-maven.html

Highlight of some of the issues observed after migration apart from the API issues:Sidekick was not loading - NullpointerExcpetion while loading the sidekick components, the superuser configured in the workflow config was missing. Refer the following url for more details https://www.albinsblog.com/2015/09/javalangnullpointerexception-null-at-WorkflowSessionFactory.isSuperUser.html

NullpoiterException while retrieving the ConfigurationManager service:
sling.getService was throwing NullpointerException while reteriving the ConfigurationManager service, in 6.2 sling.getService(ConfigurationManager.class) will not work to retrieve the service instead use resource.getResourceResolver().adaptTo(ConfigurationManager.class)

e.g (ConfigurationManager) sling.getService(ConfigurationManager.class); will fail with NullpointerException, replace this with resource.getResourceResolver().adaptTo(ConfigurationManager.class);

Custom tags are missing - after upgrade the custom tags defined under /etc/tags are missing

To fix the issue create the package of custom tags from existing environment and install to upgraded environment

Read only access for /etc folder is removed for anonymous user - After upgrade the existing read only access for the anonymous user got removed due to that you may see some issue related to cloud services e.g Search&Promote while accessing the sites via dispatcher(Search is not working) - to fix the issue provide the required read only access to either anonymous or everyone user.

Touch UI is not working for all sites including OOTB sites - In AEM 6.2, Adobe had decreased the number of number of servlet/script calls per request to 1000. AEM will not render component for a page when this limit gets exceed, and we can’t see the component list on the left rail of the window.
Increase the number of servlet/script calls per request to higher than 1000 (maybe 2000).
Navigate to “/system/console/configMgr” and search for “Apache Sling Main Servlet”. Update sling.max.calls value to 2000

Https URL' resulting with 404 - After upgraded all the https URL were resulting with 404 error, after analysis, we have identified this was a product-related bug and configuration change is required in the dispatcher, refer https://forums.adobe.com/message/9906238#9906238 for more details.


By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.