Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed BulkGetFuture.get() API to honor operationTimeout. #39

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

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