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

Duo Zhang commented on HBASE-17174:
-----------------------------------

Could we avoid exposing AsyncProcess as public? Or at least expose an interface 
instead of the big class?

It is too complicated and one of goals of the async table implementation is to 
get rid of it...

I do not know how you came to this solution but I think we should come back to 
share a thread pool instead of share an AsyncProcess, or find a way to share 
AsyncProcess without exposing it to end user. Sorry for being late here but I 
hope you could understand that I do not want the code to become unmaintainable 
in the future...

Thanks.


> Use shared threadpool and AsyncProcess in BufferedMutatorImpl
> -------------------------------------------------------------
>
>                 Key: HBASE-17174
>                 URL: https://issues.apache.org/jira/browse/HBASE-17174
>             Project: HBase
>          Issue Type: New Feature
>    Affects Versions: 2.0.0
>            Reporter: ChiaPing Tsai
>            Assignee: ChiaPing Tsai
>            Priority: Minor
>             Fix For: 2.0.0
>
>         Attachments: HBASE-17174.v0.patch, HBASE-17174.v1.patch, 
> HBASE-17174.v10.patch, HBASE-17174.v2.patch, HBASE-17174.v3.patch, 
> HBASE-17174.v4.patch, HBASE-17174.v5.patch, HBASE-17174.v6.patch, 
> HBASE-17174.v7.patch, HBASE-17174.v8.patch, HBASE-17174.v9.patch
>
>
> The following are reasons of reusing the pool and AP.
> # A update-heavy application, for example, loader, creates many 
> BufferedMutator for batch updates. But these BufferedMutators can’t share a 
> large threadpool because the shutdown() method will be called when closing 
> any BufferedMutator. This patch adds a flag into BufferedMutatorParams for 
> preventing calling the shutdown() method in BufferedMutatorImpl#close
> # The AsyncProcess has the powerful traffic control, but the control is 
> against the single table currently. Because the AP is constructed at 
> BufferedMutatorImpl's construction. This patch change the 
> BufferedMutatorImpl's construction for reuse the AP so that the updates for 
> different tables can be restricted by the same AP.
> Additionally, there are two changes(aren't included in latest patch) for #2.
> 1) The AP will be exposed to user.
> 2) A new method will be added to Connection for instantiating a AP.
> All suggestions are welcome.



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

Reply via email to