Steps for in place migration from AEM 6.1/6.2 to AEM 6.4

Statement - AEM 6.2 in place upgrade


Solution :



  1. AEM 6.2 instance up and running
  2. perform sanity check to see consoles are working fine
  3. Remove all custom code and configs and follow the pre-requisite - https://aemexperts.blogspot.com/2019/03/aem-64-upgrading-code-and-customizations.html
  4. Check “quickstart.properties” file is present under /crx-quickstart/conf. If not, copy from other instance and paste it under /crx-quickstart/conf
  5. Run offline compaction to reduce repository size and follow this URL :https://aemexperts.blogspot.com/2019/03/aem-offline-compaction.html
  6. Goto packageshare and download the package 

    pre-upgrade-package-cq62-1.2.zip

  7. Navigate to package manager and install the 

    pre-upgrade-package-cq62-1.2.zip



         Pre-upgraded package contain the purging of below taks
    • com.day.cq.wcm.core.impl.VersionPurgeTask
    • WorkflowPurgeTask
    • com.day.cq.audit.impl.AuditLogMaintenanceTask
    • GenerateBundlesListFileTask
    • DisableReplicationAgentsTask
   8. Once package is installed, navigate to OSGI Config Manager. Search for "preupgrade".     Look for com.adobe.aem.upgrade.prechecks.mbean.impl.PreUpgradeTasksMBeanImpl.

  9. 

Lets understand what these are parameters do:

  1. VersionPurge: used to purge page versions.
  2. GenerateBundlesListFileTask: List of bundles will be checked and placed in some path. check in the log file. 
  3. DisableReplication: Disable replication agents
  4. WorkflowPurgeTask:  Purge workflow. 
  5. com.day.cq.audit.impl.AuditLogMaintenanceTask: Audit log in logger.

NOTE: If you run any task which you not configured then pre-upgrade task gets fail.



 Finally click on invoke to execute the pre-upgraded tasks.










Post preupgrade task run identify the which all packages API will not available in upgraded version.






11. Stop AEM 6.2 server and remove files under crx-quickstart/install



12. Place your AEM 6.4 jar on the same place where AEM 6.2.jar placed.
13. Run the below command: D:\AEM 6.2\aem6.2upgrade>java -Xmx2048m -jar cq-author-p4502.jar -unpack
        once successful you can see the below message.

14. Place the latest Crx2Oak.Jar file under D:\AEM 6.2\aem6.2upgrade\crx-quickstart\opt\extensions
you can download the latest crx2oak.jar file from below location.
https://repo.adobe.com/nexus/content/groups/public/com/adobe/granite/crx2oak/
15. Migrate the repository of AEM 6.2 to AEM 6.4 
 Context : because 6.3 introduced a new format for the SegmentNodeStore, which is the basis of the TarMK implementation. If you are upgrading from a version older than AEM 6.3, this will require a repository migration as part of the upgrade, involving system downtime.
AEM 6.2 to AEM 6.4 repository migration is needed. use the below command to run repository migration.
  commond to runjava -Xmx2048m -jar cq-author-p4502.jar -v -x crx2oak -xargs -- --load-profile segment-no-ds

finaly it shows migration completed as shown in below with some I/O error which are critical for the migration completion follow the step 16 to resolve the issue.

16. Post repository migration below issues are found in the console and upgrade log file.

23.10.2018 20:11:02.935 ERROR  c.a.g.c.u.f.DirectoryElementsSwitcher: The I/O er
ror occurred when switching directories.
  To complete migration you need to manually move the following files in the fol
lowing order:
                                                Source |  Operation |
                             Destination
    ...2upgrade\crx-quickstart\repository\segmentstore | -- MOVE -> | ...ory-crx
2oak-backup-20181023-200733\segmentstore
    ...sitory-segment-tar-20181023-200722\segmentstore | -- MOVE -> | ...2upgrad
e\crx-quickstart\repository\segmentstore

  Under UNIX you can try with the following commands:
    mv D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository\segmentstore D:\AEM 6.
2\aem6.2upgrade\crx-quickstart\repository-crx2oak-backup-20181023-200733\segment
store
    mv D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository-segment-tar-20181023-2
00722\segmentstore D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository\segmentsto
re

  Under Windows you can try with the following commands:
    move D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository\segmentstore D:\AEM
6.2\aem6.2upgrade\crx-quickstart\repository-crx2oak-backup-20181023-200733\segme
ntstore
    move D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository-segment-tar-20181023
-200722\segmentstore D:\AEM 6.2\aem6.2upgrade\crx-quickstart\repository\segments
tore


Move the above directories either manually or through command line in windows/unix.
i have manually moved  ...2upgrade\crx-quickstart\repository\segmentstore  folder to ...ory-crx
2oak-backup-20181023-200733\segmentstore

and Moved  ...sitory-segment-tar-20181023-200722\segmentstore  folder  to   ...2upgrad
e\crx-quickstart\repository\segmentstore

17. that's all now Start AEM 6.4.

18. It starts new segment tar repository and also perform re-indexing. it will take atleast 20 to 30 minutes based on the repos size. you will see the below message in error.log 

org.apache.jackrabbit.oak.plugins.index.IndexUpdate Reindexing completed

19. Navigate to product information console to see the product version.

20. Troubleshooting steps Post AEM start up for below error:
    Access the siteadmin console and other console to verify the consoles are                 working fine. 



  • in my case there was no error in the log files, all bundles were active.
  • No error in the upgrade log file
  • except siteadmin and Projects console all other consoles working, resource not found error while accessing the siteadmin console.

4.10.2018 16:17:38.255 *ERROR* [0:0:0:0:0:0:0:1 [1540368984623] GET /libs/cq/personalization/touch-ui/content/v2/audiences.html HTTP/1.1] org.apache.sling.servlets.resolver.internal.SlingServletResolver Calling the error handler resulted in an error

24.10.2018 16:17:38.268 *ERROR* [0:0:0:0:0:0:0:1 [1540368984623] GET /libs/cq/personalization/touch-ui/content/v2/audiences.html HTTP/1.1] org.apache.sling.servlets.resolver.internal.SlingServletResolver Original error class org.eclipse.jetty.io.RuntimeIOException
org.eclipse.jetty.io.RuntimeIOException: org.eclipse.jetty.io.EofException



Solution : did unbind of sling servlet resolver and restarted the AEM. issues got resolved.



Post migration Checklist:


Reference document :



Pattern Detector to check the impact on the code base migration

https://helpx.adobe.com/experience-manager/6-4/sites/deploying/using/pattern-detector.html#HowtoUse














4 comments:

  1. This post presents clear idea in favor of the new
    users of blogging, that in fact how to do blogging.

    ReplyDelete
  2. Very good Information about AEM/CQ5. I you want to know more about AEM Applicationopen the link https://www.nextrow.com/adobe-experience-manager/aem-implementation-consulting

    ReplyDelete
  3. Thank you for sharing such an informative blog with us. I would like to suggest, to check the website adobe analytics training

    ReplyDelete
  4. Thank you for sharing such an informative blog with us. I would like to suggest, to check the website adobe analytics training

    ReplyDelete