[ 
https://issues.apache.org/jira/browse/HBASE-17491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yu Li updated HBASE-17491:
--------------------------
    Attachment: HBASE-17491.v5.patch

Patch v5 makes TableBuilder an abstract class.

Now there're two ways to get a table:
1. Through {{ConnectionImplementation#getTable}}, which will return a 
thread-safe table instance
2. Use {{ConnectionImplementation#getTableBuilder}} to get a table builder, set 
configurations such as different timeouts, and then get the table instance from 
the builder. Since it's common sense that we shouldn't share a builder among 
multiple threads, there won't be any thread safe issue.

> Remove all setters from HTable interface and introduce a TableBuilder to 
> build Table instance
> ---------------------------------------------------------------------------------------------
>
>                 Key: HBASE-17491
>                 URL: https://issues.apache.org/jira/browse/HBASE-17491
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Yu Li
>            Assignee: Yu Li
>         Attachments: HBASE-17491.patch, HBASE-17491.v2.patch, 
> HBASE-17491.v3.patch, HBASE-17491.v4.patch, HBASE-17491.v5.patch
>
>
> As titled, we will remove all setters in HTable for master branch and 
> deprecate them for branch-1 to make HTable thread-safe. And a new 
> {{TableBuilder}} interface will be introduced to build Table instance



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

Reply via email to