Merge "update shutdown sequence and use shutdown_timeout to cover all wait"