[ 
https://issues.apache.org/jira/browse/PHOENIX-971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14326549#comment-14326549
 ] 

Nick Dimiduk commented on PHOENIX-971:
--------------------------------------

bq. Salting 255 ways is somewhat extreme - keep that down in the 16-64 range

Let's apply this change to my hypothetical math, say we reduce an order of 
magnitude from the salting. "100's of thousands to millions" becomes 10's to 
100's of thousands, which is still quite a lot of tasks to be shared across the 
pool.

Further, my math is off here -- I believe ODBC/JDBC says a single client 
session can submit multiple queries in parallel, which means those "100's of 
concurrent clients" can easily become 1000's of concurrent queries.

bq. Play around with the phoenix.stats.guidepost.width or 
phoenix.stats.guidepost.per.region to control level of parallelism

I'll look around here and see what I find.

bq. how are you loading the PhoenixDriver?

I'm using a test tool our QE team uses for stress-testing HS2. It creates N 
threads for submitting work, each with it's own JDBC connection. The idea is to 
simulate multiple concurrent clients. Since PhoenixDriver is a singleton, this 
test using Phoenix isn't true to it's intention.

bq. Is that the ExecutorService within HBase client or Phoenix?

Both. BaseQueryServicesImpl creates an ExecutorService on construction. As far 
as I can tell, that pool is used throughout. ConnectionQueryServicesImpl uses 
that pool when retrieving HTable instances; ParallelIterators uses it when 
submitting work for parallel scans; HashJoinPlan uses it for executing 
sub-plans; &c.

> Query server
> ------------
>
>                 Key: PHOENIX-971
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-971
>             Project: Phoenix
>          Issue Type: New Feature
>            Reporter: Andrew Purtell
>            Assignee: Nick Dimiduk
>             Fix For: 5.0.0
>
>
> Host the JDBC driver in a query server process that can be deployed as a 
> middle tier between lighter weight clients and Phoenix+HBase. This would 
> serve a similar optional role in Phoenix deployments as the 
> [HiveServer2|https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2]
>  does in Hive deploys.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to