     async.until(
       => @_reserve_key?
       (cb_u) => @lock resource, (err, lock_status) =>
-        @log "Attempted to reserve #{resource}:", lock_status, err
+        @log "RESERVE: Attempted to reserve #{resource}:", lock_status, err
         setTimeout cb_u, 1000, err  # try every second
       (err) =>
-        @log "failed to reserve resource", err if err?
+        @log "RESERVE: Failed to reserve resource", err if err?
         @log "RESERVE: Done waiting for resource. reserve_state:", @_reserve_key?
         return cb err, @_reserve_key?
     )

    unless @_redis?
      @_redis = redis.createClient @port, @host, { retry_max_delay:100, connect_timeout: 500, max_attempts: 10 }
      @_redis.once 'error', (err) =>
        @log "RESERVE_ERROR: connecting to REDIS: #{@host}:#{@port}.", err
        throw err


    async.waterfall [
      (cb_wf) => @_redis.get reserve_key, (err, val) =>  # log existing value for runtime debugging
        @log "RESERVE: Existing resource lock value for", reserve_key, val unless err?  # ignore errors
        cb_wf()
      (cb_wf) => @_redis.setnx reserve_key, val, (err, state) =>
        debug "RESERVE: (err, state, reserve_key):", err, state, reserve_key
        if err?
          @log "RESERVE: Failed to get lock for #{reserve_key} on #{val}"
          return cb_wf err

        lock_status = if state? then (state is 1) else false
        @log("RESERVE:", val, "attempted to reserve", reserve_key, 'STATUS:', lock_status)
        return cb_wf err, false unless lock_status

        @_reserve_key = reserve_key
