                                             if err
                                                 cb(err)
                                             else
-                                                @table('projects').getAll(opts.account_id, index:'users').pluck('users').changes(includeStates: false, squash:3).run((err, feed) => killfeed = feed; cb(err))
+                                                @table('projects').getAll(opts.account_id, index:'users').pluck('users').changes(includeStates: false, squash:3).run (err, feed) =>
+                                                    if err
+                                                        e = misc.to_json(err)
+                                                        if e.indexOf("Did you just reshard?") != -1
+                                                            # give it time so we do not overload the server
+                                                            setTimeout((()=>cb(err)), 10000)
+                                                        else
+                                                            cb(err)
+                                                    else
+                                                        killfeed = feed
+                                                        cb()
                                     else
                                         cb()
                     else if x == "collaborators"

                            winston.debug("FEED -- error setting up #{e}")
                            if e.indexOf("Did you just reshard?") != -1
                                # give it time so we do not overload the server -- this happens when any auto-failover happens
                                setTimeout((()=>cb(err)), 20000)
                            else
                                cb(err)
                        else

        cb()

    _connect: (cb) =>
        dbg = @dbg("_connect")
        hosts = misc.keys(@_hosts)
        host = misc.random_choice(hosts)
        dbg("connecting to #{host}...")
        @r.connect {authKey:@_password,  host:host}, (err, conn) =>
            if err
                dbg("error connecting to #{host} -- #{to_json(err)}")
                cb(err)
            else
                dbg("successfully connected to #{host}")
                if not @_conn
                    first_conn = true
                    @_conn = {}  # initialize if not defined
