                             if last_save?
                                 # targets are all ip addresses of servers we've replicated to so far (if any)
                                 dbg("last_save = #{misc.to_json(last_save)}")
-                                targets = (@global_client.servers[x].host for x,t of last_save when x != server_id)
+                                targets = (@global_client.servers.by_id[x].host for x,t of last_save when x != server_id)
                                 dbg("targets = #{misc.to_json(targets)}")
                                 # leave undefined otherwise -- will use consistent hashing to do initial save
                             cb()

                        setTimeout(f, 5000)
                    else
                        # success!?
                        host = @global_client.servers[server_id]?.host
                        if not host?
                            opts.cb("unknown server #{server_id}")
                        else
                            opts.cb(undefined, {host:host, port:port, status:status})
         f()



    _local_hub_address: (opts) =>
        opts = defaults opts,
            timeout : 90
            cb : required      # cb(err, {host:hostname, port:port, status:status, server_id:server_id})
        dbg = (m) -> winston.info("local_hub_address(#{@project_id}): #{m}")
        dbg()
        server_id = undefined
        port      = undefined
        status    = undefined
        attempt = (cb) =>
            dbg("attempt")
            async.series([
                (cb) =>
                    dbg("see if host running")
