Hi There ,
Using the setps mentioned in this article , http://www.sravan.co/blog/aem-convert-blob-datastore-to-file-datastore I was able to migrate my repository from AEM 6.1 (all in segment store) to AEM 6.3 (segment store + binary data to separated file store) .
Now I'm trying out the migration from AEM 6.3 (segment store+data store) to AEM 6.3 (segment Store + data store)
I'm executing it as below , however migration seems to fail with exception
15:51:48.226 ERROR [main] MigrationSpecGenerator.java:57 I/O error during processing migration specification: org.apache.jackrabbit.oak.plugins.segment.file.InvalidFileStoreVersionException
java -jar crx2oak-1.4.6-standalone.jar --copy-binaries --src-datastore=crx-quickstart/old63repository/datastore --datastore=/crx-quickstart/new63repository/datastore crx-quickstart/old63repository crx-quickstart/new63repository
Am i missing any parameter when running the jar ?
Solved! Go to Solution.
Here's what solved the problem. This is not documented in adobe docs.
-Take a fresh backup on running 6.1 environment and perform the pre-upgrade maintenance tasks.
- Move the segmentstore from /repos folder and move it under /crx-quickstart/repository
- Navigate to /crx-quickstart/install folder and edit SegmentNodeStoreService config and remove the 'repository.home' parameter
- Copy 6.3 Jar along side /crx-quickstart
- Run the command to unpack, java -jar 6.3_quickstart.jar -unpack
- Backup and Remove …/crx-quickstart/logs
- Complete the migration by running command java -Xmx4096m -XX:MaxPermSize=2048m -jar aem-quickstart.jar -v -x crx2oak -xargs -- --load-profile segment-fds
- Monitor the logs
- Once completed, Login into the new 6.3 environment and do a quick round of smoke testing and sanity tests
- Shutdown the instance or now.
- Once ', Check the /crx-quickstart/install folder for the newly generated configs
- Move back the segmentstore and the blobids folder from the /crx-quickstart/repository folder to the /repos folder
- Edit 'org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.cfg' and add repository.home=/Users/abc/Desktop/WorkArea/Instances/CIBC_repos (without the quotes) and Save. (Adjust the correct path per your systems)
- Start the instance and Voila the upgrade has been completed successfully.
Thanks to Kunwar from adobe day care team to help us on this.
Views
Replies
Total Likes
Reply for the internal expert on this is:
crx2oak 1.4 & aem 6.3 don't match up. This requires crx2oak 1.6.x (otherwise crx2oak won't be able to read the segment store format) . Also , there is no reason to copy -binaries from fds to fds. You could just have a FS copy and reuse the FS. i assume this is a workaround to rebuild a clean repo (instead of compacting) - the only valid reason I know of is when you want to create a significantly shrunk down instance with the exclusion of a lot of paths (where copying DS + subsequent ds gc is not scaling- eg for tb of blobs)
I hope this would help.
~kautuk
Views
Replies
Total Likes
Thanks kautuk.
Im using higher version of crx2oak as 6.1 to 6.3 was successful.
As part of our deployment model for every deployment , im trying to spin up a fresh instance and migrate known content paths from old repo.
The way im running now for a repository with file store is by explicitly mentioning paths src-datastore and target datastore. Is it not the right way ? When you mentioned FS copy , did you mean simply copying the directory like via rsync to target directory or running crx2oak with some different input params ?
Thanks
Views
Replies
Total Likes
Hello Kautuk,
I am trying to perform an inplace upgrade on AEM 6.1 with external file datastore to AEM 6.3 following our adobe docs - Performing an In-Place Upgrade. I am now stuck at content repository migration. Here's the configuration I have used to set up the external file datastore on 6.1
org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.cfg
path=C:\\mytech\\Adobe\\repos-ln\\datastore
minRecordLength=4096
org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.cfg
customBlobStore=true
pauseCompaction=true
repository.home=C:\\mytech\\Adobe\\repos-ln
tarmk.size=256
My repo in 6.1 is available as per the defined configurations above.
Before running the content repo migration, I kept these two files under crx-quickstart/install folder as is with no changes. Followed the other steps like getting new 6.3 jar file in right location and unpacking etc.
And then, I ran the command - java -Xmx4096m -jar AEM-author-p4504.jar -v -x crx2oak -xargs -- --load-profile segment-fds --disable-mmap --src-datastore=C:\mytech\Adobe\repos-ln\datastore
I am getting following error -
It seems like its not picking up the external datastore location. I have then tried copying the external datastore folders both "datastore" and "segmentstore" into crx-quickstart/reposiroty location. Running the same command again without -src-datastore parameter worked. Later I tested by starting the AEM instance using quickstart jar file [double clicking]. Everything seems ok.
Please confirm these steps are ok to follow in UAT like environemnts [Linux]
Any help on correcting the commands or advising on raising a daycare ticket would be much appreciated.
Views
Replies
Total Likes
Here's what solved the problem. This is not documented in adobe docs.
-Take a fresh backup on running 6.1 environment and perform the pre-upgrade maintenance tasks.
- Move the segmentstore from /repos folder and move it under /crx-quickstart/repository
- Navigate to /crx-quickstart/install folder and edit SegmentNodeStoreService config and remove the 'repository.home' parameter
- Copy 6.3 Jar along side /crx-quickstart
- Run the command to unpack, java -jar 6.3_quickstart.jar -unpack
- Backup and Remove …/crx-quickstart/logs
- Complete the migration by running command java -Xmx4096m -XX:MaxPermSize=2048m -jar aem-quickstart.jar -v -x crx2oak -xargs -- --load-profile segment-fds
- Monitor the logs
- Once completed, Login into the new 6.3 environment and do a quick round of smoke testing and sanity tests
- Shutdown the instance or now.
- Once ', Check the /crx-quickstart/install folder for the newly generated configs
- Move back the segmentstore and the blobids folder from the /crx-quickstart/repository folder to the /repos folder
- Edit 'org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.cfg' and add repository.home=/Users/abc/Desktop/WorkArea/Instances/CIBC_repos (without the quotes) and Save. (Adjust the correct path per your systems)
- Start the instance and Voila the upgrade has been completed successfully.
Thanks to Kunwar from adobe day care team to help us on this.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Like
Replies