                 self.didEnsureIndexes = false
                 self.filesCollection.pool.logger.warning("Could not ensure the indexes exists for GridFS")
                 throw error
-            }
+            }._mongoHop(to: filesCollection.hoppedEventLoop)
     }
     
 }

    
    internal func ensureIndexes() -> EventLoopFuture<Void> {
        guard !didEnsureIndexes else {
            return eventLoop.makeSucceededFuture(())
        }
        
        didEnsureIndexes = true

        return EventLoopFuture<Void>.andAllSucceed([
            self.filesCollection.deleteAll(where: ["_id": id]).map { _ in },
            self.chunksCollection.deleteAll(where: ["files_id": id]).map { _ in }
        ], on: eventLoop)._mongoHop(to: filesCollection.hoppedEventLoop)
    }
    
    // TODO: Cancellable, streaming writes & reads
