First a point of clarification. The index "migration" really just means that the new indexer will go through all of the previously stored messages in the Retain system and index them. "Migration" can be misleading because it is not converting or migrating any existing indexes. The Retain 3.x indexes remain in the "index" directory. The Retain 4.0 indexes will be created in a subfolder off of index called solrhome; thus, making the path .../index/solrhome/retaincore/data. The old indexes remain in order to allow the users to search for messages while the new indexer completes indexing all of the existing and new messages. Once it has caught up, it will turn off the old Retain 3.x indexer engine and the new searching capabilities of Retain 4.0 will be enabled (until that time, the user gets a message stating that the feature is not available). At that point, the files in the index directory can be deleted, although you would want to be careful not to delete the new solrhome subfolder inside the index folder.
To see if the new indexer has completely indexed all messages, there are two places you can check. The first is the most obvious. Go to Server Configuration | Index and look at the Index Cluster statistics. The first row, second column will display how many messages were indexed, how many remain unindexed, and how many could not be indexed (usually graphic files or password protected documents):
You can also look in the Indexer log and it will show these lines:
06:23:49, 228 [TRACE] [SolrCloudUnindexedReaderThread] UnindexedHandlerThread: UnindexedHandlerThread.readUnindexedList() - Switching over to HPI indexer as primary.
06:23:49, 228 [INFO ] [SolrCloudUnindexedReaderThread] UnindexedHandlerThread: Migration to HPI completed.
In addition, the user mailbox tabs will change. The Search tab becomes Legacy Search and New Search becomes Search.