hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ChiaPing Tsai (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17174) Use shared threadpool and AsyncProcess in BufferedMutatorImpl
Date Mon, 05 Dec 2016 08:30:59 GMT

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

ChiaPing Tsai commented on HBASE-17174:

bq. Consider renaming the variable below (e.g. naming it future or reqFuture):
bq. Wrap long line.
bq. Probably iterate through the actions and set to writeRpcTimeout if there are both read
and write actions.
bq. Please add @param for operationTimeout.
bq. For AsyncProcessTask, please add class javadoc.
bq. Probably iterate through the actions and set to writeRpcTimeout if there are both read
and write actions. Otherwise use the corresponding timeout.
copy that.
bq. What's the unit for AT_LEAST_ONE (since the enum talks about size) ?
It represents the number of rows could be grouped and submitted. I will rename it "SubmittedRows"
bq. Can the above method be folded into createAsyncProcess() ?
This method is called by the createAsyncProcess() (exposed to user) and ConnectionImpl#construction;
the former uses the global error, and the other don't. So it can't be folded into createAsyncProcess()

> 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.v2.patch,
HBASE-17174.v3.patch, HBASE-17174.v4.patch, HBASE-17174.v5.patch, HBASE-17174.v6.patch, HBASE-17174.v7.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

View raw message