                                             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"

                cb(err)

    _update_pool: (cb) =>
        # 1. remove any connections from the pool that aren't opened
        for id, conn of @_conn
            if not conn.isOpen()
                delete @_conn[id]

        # 2. ensure that the pool is full
        n = misc.len(@_conn)
        if n >= @_num_connections
            cb()
        else
             # fill the pool
            async.map(misc.range(@_num_connections - n), ((n,cb)=>@_connect(cb)), cb)

    _monkey_patch_run: () =>
        # We monkey patch run to have similar semantics to rethinkdbdash, so that we don't have to change

                # 'success' means that we got a connection to the database and made a query using it.
                # It could still have returned an error.
                misc.retry_until_success
                    f           : f
                    max_delay   : 15000
                    start_delay : 3000
                    factor      : 1.4
                    max_tries   : 15
                    cb          : -> cb(error, result)

    table: (name, opts={readMode:'outdated'}) =>
        @db.table(name, opts)
