[openstack-dev] [Oslo] Does ZeroMQ RPCs handle caller side exceptions correctly?

Eric Windisch eric at cloudscaling.com
Mon Jan 28 18:07:57 UTC 2013


On Monday, January 28, 2013 at 12:53 PM, Ray Pekowski wrote:
> 
> 
> On Mon, Jan 28, 2013 at 11:19 AM, Eric Windisch <eric at cloudscaling.com (mailto:eric at cloudscaling.com)> wrote:
> > The primary concern here would be that 'method' isn't in data, which is something that is a bit of a concern. I have thought about it, too, because we ran into a bug around receiving messages with a missing 'args' key. Practically, what would happen here is that it would stacktrace, but since process() is wrapped in an eventlet.spawn_n(), there isn't much effect other than ugly/bad logging.
> 
> 
> That is the beauty of the dictionary get() method. It returns None (be default) if the key does not exist in the dictionary. That would eliminate the stacktrace from happening if the 'method' keyword were missing.
> 


Yes, of course. My point was that the stacktrace is fairly trivial in this method, because it doesn't get raised to anything that is fragile enough to die. That is, while it SHOULD be fixed, I wanted any casual readers of this thread to know that that this is not a critical bug. There might be areas where the lack of dict.get() is critical, and I'll review those areas.

In regard to process() specifically, I have put forward a review to address potentially missing keys.

Regards,
Eric Windisch






More information about the OpenStack-dev mailing list