                                             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 typeof(x) == 'function'

        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

                winston.debug("created #{i} connections so far")
            misc.retry_until_success
                f : @_connect
                start_delay : 5000
                max_delay   : 30000
                cb : cb
        # first connect once (to get topology), then many more times in parallel
        g 0, () =>
