Question

Why does the task "Waiting completion of move request for mailbox" take so long to be executed?

Answer

Below is the chain of Task execution for a move mailbox:

  1. Task 'Move mailbox' initiates move request on Exchange side, marks mailbox in POA as 'Moving' and adds record to POA database to table 'exch_moving_mailboxes'.

  2. Periodic task 'Monitor Exchange services and perform maintenance' schedules task with name 'Monitor move mailbox requests for service #xxx'

  3. Once the task 'Monitor move mailbox requests for service #xxx' notices move request in status 'Success', it understands that move is successful, removes entry from "exch_moving_mailboxes" table and marks mailbox as ready.

  4. Task 'Waiting completion of move request for mailbox...' simply looks in table "exch_moving_mailboxes" and when it sees that there is no entry for the mailbox it is checking - it exits successfully.

  5. task 'Monitor move mailbox requests for service #XXX', runs every 30 minutes.

In conclusion, Task 'Waiting completion of move request for mailbox...' depends on the successful state of task 'Monitor move mailbox requests for service #XXX' This is the reason it goes to 'Reschedule' status whenever you resubmit the task prior to successful completion of 'Monitor move mailbox requests for service #XXX'.

The backend move request may be monitored through Powershell:

PS> Get-MoveRequestStatistics -Identity user@domain.tld

Internal content