Suppose my Azure role somehow exhausts system-wide resources. For example it spawns many processes and all those processes hang and consume all virtual memory in the system. Or it creates a gazillion of Windows API event objects and fails to release them and no more such object can be created. I mean anything except trashing the filesystem.
Now the changes I describe are cancelled out once normal Windows machine restarts - processes are terminated, virtual memory is "recycled", events and other similar objects are "recycled" and so on.
Yet there's a concern. What if the host is not actually restarted, but goes through some other process when I hit "reboot" or "stop", then "start"?
Is the host actually rebooted when I restart a role or reboot an instance?
When you reboot the instance, the VM is actually rebooted. When you stop and start, the VM is not rebooted, but the process is restarted.