Cassandra::Future.all([]).join hangs forever

Description

Doing `Cassandra::Future.all([]).join` will wait forever.

I think the expected thing to happen is to do nothing: there are no futures, so there's nothing to wait.

This can happen for example if you have some things that you want to execute in parallel:

```
things = [...]
futures = things.map { |thing| create_future(thing) }
Cassandra::Future.all(futures).join
```

Right now because of this behavior, one has to do:

```
Cassandra::Future.all(futures).join unless futures.empty?
```

which is more code, but also very bug prone.

Environment

None

Pull Requests

None

Activity

Show:
Fixed

Details

Assignee

Reporter

Fix versions

Affects versions

Priority

Created January 23, 2018 at 7:46 PM
Updated January 24, 2018 at 7:09 PM
Resolved January 24, 2018 at 7:09 PM