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

ChiaPing Tsai commented on HBASE-17174:
---------------------------------------

bq. 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, 
I'm trying to share the pool and "traffic control" between different BFs. It 
helps to manage and dispatch all the requests when dealing with large update.

bq. or find a way to share AsyncProcess without exposing it to end user. 
i can extract the "traffic control" from AysncProcess so that we can avoid 
exposing the AP to end user.

bq. Sorry for being late here but I hope you could understand that I do not 
want the code to become unmaintainable in the future...
You are right.

> 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