Thanks for explaining the change in behaviour. I have put together a script which can be run against a migration batch to report how many mailboxes include corruptions, how many of those are genuine corruptions, and how many are related to SourcePrincipalMappingException or TargetPrincipalMappingException errors. https://www.teamas.co.uk/2017/07/exchange-hybrid-mailbox-move-corruption.html
The blog states there is a special built-in bad item limit of 1000 for these Source Principal Mapping errors. However, I have encountered a failed migration for a mailbox with 107 SourcePrincipalMappingException errors, and no other corruptions. The last entry in the ‘report.failure’ output stated “This mailbox exceeded the maximum number of corrupt or missing items that were specified for this request.”
In another instance however, I had a mailbox with 48 SourcePrincipalMappingException errors but I could complete that mailbox move. For both migration moves the baditem limit was set to '0'.
Has the inbuilt limit for Source Principal Mapping errors changed from 1000 to 100? How can I determine which limit I have hit and where that is set?