Fix messages getting reclaimed in the Redis driver
Fix messages getting reclaimed in the Redis driver

A race condition was discovered during smoke testing of the Redis
driver that can cause messages to be reclaimed. The problem was that
between getting a list of "active" messages, and setting watch on
them, they could be claimed by another process without the first
process being notified.

This patch gaurds against the race condition by moving the query for
active messages to execute after the watch has been set. In this way,
if another process commits a claim in the meantime, the first process
will be notified so that it can try again with a new batch of active
messages.

Change-Id: I27a7e88ef0c3f9f8b1c5e653caec0fc503905e13
Closes-Bug: #1367033

openstack/zaqar,openstack/zaqar,openstack/zaqar,openstack/zaqar