Skip to content

Conversation

@sergmour
Copy link

Fixed BulkGetFuture.get() API to honor operationTimeout instead of waiting forever. This also makes it consistent with single operation GetFuture class - both will use the same operation timeout by default.

This commit fixes the problem in the enterprise environments when asyncBulkGet() API is called:

client.asyncGetBulk(keys).get();

When multiple shards are used and one of them goes down without closing the connection gracefully, the above call will wait forever on the failed shard. The fix is to modify default BulkFuture.get() behavior to use operationTimeout instead of eternal wait. If a longer wait is required for bulk requests, the timeout can still be provided in the BulkFuture.get(timeout, timeoutUnit) API call.

…iting forever. This also makes it consistent with single operation GetFuture class - both will use the same operation timeout by default.

This commit fixes the problem in the enterprise environments when asyncBulkGet() API is called:

    client.asyncGetBulk(keys).get();

When multiple shards are used and one of them goes down without closing the connection gracefully, the above call will wait forever on the failed shard. The fix is to modify default BulkFuture.get() behavior to use operationTimeout instead of eternal wait. If a longer wait is required for bulk requests, the timeout can still be provided in the BulkFuture.get(timeout, timeoutUnit) API call.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant