 for command, key_pos of COMMANDS
 	do (command, key_pos) ->
 		Client.prototype[command] = (args..., callback) ->
+			primaryError = null
+			primaryResult = null
 			jobs = @clients.map (client) ->
 				(cb) ->
 					key_builder = args[key_pos]

	constructor: (@clients) ->
	
	exec: (callback) ->
		jobs = @clients.map (client) ->
			(cb) ->
				timer = new Metrics.Timer("redis.#{client.driver}.exec")

	first = results[0]
	for result in results.slice(1)
		if not _.isEqual(first, result)
			logger.error results: results, "redis backend conflict"
			Metrics.inc "backend-conflict"
		else
			Metrics.inc "backend-match"
