We have had lots of questions regarding what PAW is when it comes to MRS Migrations, so let’s take a few minutes to explain PAW benefits to you. First off, what is this PAW we keep speaking of? PAW, or Protocol Agnostic Workflow, is new functionality within the Migration Service that really enhances the experience of migrating your data to Office 365. From an Exchange Administrator’s perspective, you should see differences such as the following while managing your migrations.
|Start/Stop/Remove||Only allowed at certain times, making it difficult for admins to start, stop, and remove batches.||Allows start, stop, and remove at any time for the batch.|
|Failure Retry behavior||Restarts whole batch and all users within it from the beginning of the migration process.||Restarts each failed user from the beginning of the step where it left off.|
|Failure Retry management||Administrator must use Start-MigrationBatch to retry failures, unless batch has completed, in which case they must use Complete-MigrationBatch.||Administrator always uses Start-MigrationBatch to retry failures.|
|Completion options||Choose between AutoComplete or Manual Completion||Choose between AutoComplete, Manual Completion, or Scheduled Completion.|
|Completion semantics||Administrator must choose between "AutoComplete" and "Manual Completion" at the beginning.||Administrator can convert between any completion option at any time before completion has occurred.|
|User management||Administrator can only remove Synced/Stopped users.||Administrator can remove a user from a batch at any time. Also, Administrator can start/stop/modify individual users.|
|Duplicate users||Results in "Validation Warnings" that are hard to notice, resulting in batches that are confusingly of size 0.||Results in two MigrationUser objects, only one of which can be active at a time. If the first one was Completed, it will process the second one. Otherwise, it will fail the second one with a message indicating that the first one is being processed. That failed user can later be resumed and complete successfully.|
|Throttling||Handled by MigrationService, leading to inefficient resource utilization (throttling limit is never reached).||Handled by MRS, which is already used to handling resource utilization (throttling limit is usually reached).|
|Reports||Only Initial Sync and Completion reports.||Initial Sync reports, Completion reports, and Periodic status reports.|
|Counts||Not exactly accurate (delayed by ~15 minutes).||Almost always accurate (and, cheaper to generate).|
As you can see we have introduced things like the ability to start, stop, and remove whole batches or certain users within a batch at any time while the batch is being processed. Our retry behavior will now process just the failed users instead of the whole batch, and we can now schedule completions of a batch in advance. We even gain improvements in throttling and reporting just to name a few.
Here is an example of the new scheduled completion option for migration. This is great for those who want to complete the migrations over a weekend without the administrator having to be there to press the button.
One thing to be aware of is if you do not have PAW enabled in your tenant, you may get a warning message like the below when creating a new migration batch:
One of the required migration functions (PAW) isn’t enabled.
To check if PAW is enabled in your tenant you will first need to connect to Exchange Online PowerShell and then run Get-MigrationConfig to check what features are enabled.
PS C:\PowerShell> Get-MigrationConfig | Format-List
RunspaceId : d0ee8150-d417-44fb-bd42-50c04e25232b
Identity : contoso.onmicrosoft.com
MaxNumberOfBatches : 100
MaxConcurrentMigrations : 300
Features : MultiBatch, PAW
CanSubmitNewBatch : True
SupportsCutover : False
IsValid : True
ObjectState : Unchanged
In the above example, we see MultiBatch and PAW as the Migration Features that are enabled for our tenant. MultiBatch is our older way of processing migrations within MRS and PAW is our new way. If you do not have PAW listed have no fear, you probably just have some existing migration batches hanging around from either Mailbox or Public Folders Migrations. So just run Get-MigrationBatch to confirm that all batches are completed.
PS C:\PowerShell> Get-MigrationBatch
Identity Status Type TotalCount
-------- ------ ---- ----------
AlexD Completed ExchangeRemoteMove 1
If any of your batches are not, complete the batches. Remove any completed migration batches so that when you run the cmdlet it returns no results.
Once all the migration batches have been removed, your tenant should automatically be updated to have the most recent features available. You can run Get-MigrationConfig to check if the PAW feature is enabled. Then you can continue your migrations using the latest migration technology available in Exchange Online.
Beta Engineer for Exchange and Office 365