You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Samarth Jain (JIRA)" <ji...@apache.org> on 2015/12/03 23:02:10 UTC
[jira] [Created] (PHOENIX-2487) Use a completion service on the
client to fetch scan results
Samarth Jain created PHOENIX-2487:
-------------------------------------
Summary: Use a completion service on the client to fetch scan results
Key: PHOENIX-2487
URL: https://issues.apache.org/jira/browse/PHOENIX-2487
Project: Phoenix
Issue Type: Improvement
Reporter: Samarth Jain
In my testing I have seen instances where the scanners failed on the server side (due to lease expiration errors), but the queries took much longer to fail.
This is because after submitting the scan callable tasks to the Phoenix client thread pool, we wait for the corresponding futures to complete in the same order as we submitted the tasks. Instead, we should poll for the results as an when they are available and then rejigger them in the order desired. Then in such failure situations queries would fail much faster than they would have. This would also help us to do a more eager cleanup of scan tasks corresponding to failed queries that are queued and not yet kicked off.
A possible implementation to use here would be the CompletionService.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)