A candidate is taking time from their busy schedule and are considering making a contribution to your company/team/project. You should appreciate that more.
In the real world, shit happens. There are an inordinate amount of things that can go wrong and delay someone. In this case it's all the worse, since the problem was the interviewers own organization. The interviewer should be apologizing on behalf of his organization instead of being an asshole.
Nothing justifies the interviewers' reaction.
Equivalent situation: If someone turns up 30 minutes late because they wanted to catch a couple extra zs, that's also understandable, but is just as unjustified and makes them just as much a jackass.
As professionals, we are called to treat everyone with dignity and respect, no matter what bug happened to crawl up our ass this morning.
It won't & can't change your past frustration - sure. But do you have to take it forward to the new few hours as you are judging another person trying to find his means of livelihood?