April 21, 2020
Estimated Post Reading Time ~

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 instances up and running
  2. perform a 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 contains the purging of below tasks
  • 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.



Let's 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 the pre-upgrade task gets fail.


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




Post-pre-upgrade task run identifies which all packages API will not available in the upgraded version.


11. Stop AEM 6.2 server and remove files under crx-quickstart/install
12. Place your AEM 6.4 jar in 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 run: java -Xmx2048m -jar cq-author-p4502.jar -v -x crx2oak -xargs -- --load-profile segment-no-ds

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


16. Post repository migration below issues is 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 the 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 a new segment tar repository and also performs re-indexing. it will take at least 20 to 30 minutes based on the size of the repo. 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 startup for below error:
Access the siteadmin console and other consoles 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:
https://aemexperts.blogspot.com/2019/03/aem-64-post-upgrade-checklist.html

Reference document:
https://helpx.adobe.com/experience-manager/6-4/sites/deploying/using/in-place-upgrade.html

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


By aem4beginner

No comments:

Post a Comment

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