[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-17 Thread Hudson (JIRA)

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

Hudson commented on HBASE-17372:


SUCCESS: Integrated in Jenkins build HBase-Trunk_matrix #2334 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/2334/])
HBASE-17372 Make AsyncTable thread safe (zhangduo: rev 
4ab95ebbceb144d90e03bce45afa52bcb8c62c54)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnection.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncTable.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncTableImpl.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncClientScanner.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncSingleRequestRpcRetryingCaller.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncSmallScanRpcRetryingCaller.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncTable.java
* (add) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncTableBuilder.java
* (add) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncTableBuilderBase.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncTableBase.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncTableImpl.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionConfiguration.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableGetMultiThreaded.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRawAsyncTableScan.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.java
* (edit) hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRegionLocator.java


> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch, HBASE-17372-v1.patch, 
> HBASE-17372-v2.patch, HBASE-17372-v3.patch, HBASE-17372-v4.patch, 
> HBASE-17372-v5.patch, HBASE-17372-v6.patch, HBASE-17372-v7.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-16 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

The failed UT is known to be flaky I think. Will commit shortly

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch, HBASE-17372-v1.patch, 
> HBASE-17372-v2.patch, HBASE-17372-v3.patch, HBASE-17372-v4.patch, 
> HBASE-17372-v5.patch, HBASE-17372-v6.patch, HBASE-17372-v7.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-16 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17372:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 11s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 3 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 25s 
{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 2m 
57s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 5s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
58s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
31s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 1s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 56s 
{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 10s 
{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 
12s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 7s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 7s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
58s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
31s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
25m 31s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 
25s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 57s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 42s 
{color} | {color:green} hbase-common in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 58s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 85m 55s {color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
41s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 133m 56s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.regionserver.TestHRegionWithInMemoryFlush |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:8d52d23 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12847716/HBASE-17372-v7.patch |
| JIRA Issue | HBASE-17372 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux aafdb4237162 3.13.0-105-generic #152-Ubuntu SMP Fri Dec 2 
15:37:11 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 4cb09a4 |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/5283/artifact/patchprocess/patch-unit-hbase-server.txt
 |
| unit test logs |  

[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-16 Thread Enis Soztutar (JIRA)

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

Enis Soztutar commented on HBASE-17372:
---

Sorry missed the notifications. Some minor comments in RB, but looks good. We 
should do HBASE-17361 as well. 



> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch, HBASE-17372-v1.patch, 
> HBASE-17372-v2.patch, HBASE-17372-v3.patch, HBASE-17372-v4.patch, 
> HBASE-17372-v5.patch, HBASE-17372-v6.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-13 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

Ping [~enis].

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch, HBASE-17372-v1.patch, 
> HBASE-17372-v2.patch, HBASE-17372-v3.patch, HBASE-17372-v4.patch, 
> HBASE-17372-v5.patch, HBASE-17372-v6.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-13 Thread Yu Li (JIRA)

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

Yu Li commented on HBASE-17372:
---

Just saw it used in AsyncConnection#getTable and thought user might use it 
directly, didn't notice it's a builder after all... Yes, it should be a common 
sense not to share builder between threads.

Then I'm +1 on patch v6, thanks.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch, HBASE-17372-v1.patch, 
> HBASE-17372-v2.patch, HBASE-17372-v3.patch, HBASE-17372-v4.patch, 
> HBASE-17372-v5.patch, HBASE-17372-v6.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-13 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

Will clean the import .* when commit.

And for {{AsyncTableBuilderBase}}, I think usually a Builder is not thread 
safe? Like the old Table implementation, it has several set methods that change 
its internal state and effect a later call, so it is useless to make it thread 
safe. So I do not think we need to add a javadoc to tell users it is not thread 
safe.

Thanks.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch, HBASE-17372-v1.patch, 
> HBASE-17372-v2.patch, HBASE-17372-v3.patch, HBASE-17372-v4.patch, 
> HBASE-17372-v5.patch, HBASE-17372-v6.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-13 Thread Yu Li (JIRA)

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

Yu Li commented on HBASE-17372:
---

Thanks for the ping [~Apache9], and yes, I like the new patch, it follows a 
similar way with existing stable releases.

One minor comment on codes, that I find several places with "import .*" like 
below lines, which should be changed to explicit imports.
{code}
import static java.util.stream.Collectors.*;
import static org.apache.hadoop.hbase.client.ConnectionUtils.*;
{code}

And one thing to confirm, that it seems {{AsyncTableBuilderBase}} is not thread 
safe, right? Do we need to add some javadoc on the class to make this clear?

All other parts LGTM, thanks.


> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch, HBASE-17372-v1.patch, 
> HBASE-17372-v2.patch, HBASE-17372-v3.patch, HBASE-17372-v4.patch, 
> HBASE-17372-v5.patch, HBASE-17372-v6.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-13 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

OK our jira is back...

This is a fundamental change of async table implementation. It is conflict with 
all other ongoing works for async table such as HBASE-17045.

So let's finish it?

Thanks.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch, HBASE-17372-v1.patch, 
> HBASE-17372-v2.patch, HBASE-17372-v3.patch, HBASE-17372-v4.patch, 
> HBASE-17372-v5.patch, HBASE-17372-v6.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-12 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

Ping [~enis].

And also ping [~carp84], do you like the new patch? It is another approach to 
make AsyncTable thread safe.

Thanks.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372-v4.patch, HBASE-17372-v5.patch, 
> HBASE-17372-v6.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-11 Thread stack (JIRA)

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

stack commented on HBASE-17372:
---

+1

[~enis] Take a look sir.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372-v4.patch, HBASE-17372-v5.patch, 
> HBASE-17372-v6.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-11 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17372:
---

| (/) *{color:green}+1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 18s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 3 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 12s 
{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
27s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 16s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 
2s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
35s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 
47s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 2s 
{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 11s 
{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 
19s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 18s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 18s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 
7s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
37s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
30m 17s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 
11s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 1s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 49s 
{color} | {color:green} hbase-common in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 12s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 92m 40s 
{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
41s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 148m 54s {color} 
| {color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.11.2 Server=1.11.2 Image:yetus/hbase:8d52d23 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12846830/HBASE-17372-v6.patch |
| JIRA Issue | HBASE-17372 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux b7747ef35cfd 3.13.0-105-generic #152-Ubuntu SMP Fri Dec 2 
15:37:11 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 953416e |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/5239/testReport/ |
| modules | C: hbase-common hbase-client hbase-server U: . |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/5239/console |
| 

[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-08 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17372:
---

| (/) *{color:green}+1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 16s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 3 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 16s 
{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 2m 
48s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 6s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
56s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
31s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 
59s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 57s 
{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 9s 
{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 
13s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 5s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 5s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
57s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
31s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
25m 23s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 
22s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 57s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 42s 
{color} | {color:green} hbase-common in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 58s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 80m 28s 
{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
40s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 127m 58s {color} 
| {color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:8d52d23 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12846254/HBASE-17372-v5.patch |
| JIRA Issue | HBASE-17372 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux 4861d9862536 3.13.0-95-generic #142-Ubuntu SMP Fri Aug 12 
17:00:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / f92a14a |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/5192/testReport/ |
| modules | C: hbase-common hbase-client hbase-server U: . |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/5192/console |
| 

[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-08 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17372:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 16s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 3 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 23s 
{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 2m 
58s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 5s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
59s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
31s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 0s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 57s 
{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 10s 
{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 
13s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 5s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 5s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
58s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
31s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
25m 21s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 
23s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 56s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 42s 
{color} | {color:green} hbase-common in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 57s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 80m 19s {color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
39s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 128m 5s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | 
hadoop.hbase.client.TestAsyncSingleRequestRpcRetryingCaller |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:8d52d23 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12846222/HBASE-17372-v4.patch |
| JIRA Issue | HBASE-17372 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux ef9b5e0408ee 3.13.0-95-generic #142-Ubuntu SMP Fri Aug 12 
17:00:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 6fecf55 |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/5184/artifact/patchprocess/patch-unit-hbase-server.txt
 |
| unit test logs |  

[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-08 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

[~enis] [~stack] PTAL. Thanks.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372-v4.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-04 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

OK. Let me prepare a patch.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-04 Thread Enis Soztutar (JIRA)

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

Enis Soztutar commented on HBASE-17372:
---

bq. You can see the discussion in HBASE-17361. I'm neutral on whether the Table 
instance should be thread safe or not.
Thanks for the pointer. Great that we are having the discussions for both at 
the same time. I would say that we must annotate Table and AsyncTable either 
both thread-safe or both not thread-safe. Otherwise, it will be a mess. 

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-04 Thread Enis Soztutar (JIRA)

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

Enis Soztutar commented on HBASE-17372:
---

bq. Perhaps if timeout were passed on construction only?
+1. I think this is the cleanest approach. If we want to then make 
Table/AsyncTable thread-safe, we will be flexible. 


> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-03 Thread stack (JIRA)

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

stack commented on HBASE-17372:
---

Ok. Table specific defaults is good to have.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-03 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

{quote}
What is happening in AsyncConnectionConfiguration? We are setting rpc timeout, 
rpc read timeout and rpc write timeout but we only have a getRpcTimeoutNs?
{quote}
I think we already have the getXXXRpcTimeoutNs methods for 
AsyncConnectionConfiguration? I just add a new getRpcTimeoutNs method.

{quote}
Should I get the builder on the OperationConfig obect rather than 
AsyncTableBase?
OperationConfigBuilder newOperationConfig();
It could take a configuration when you ask for the builder so you can set 
deafaults.
{quote}

AsyncConnectionConfiguration is not public and if we just pass a 
{{Configuration}} to it then we need to get the configurations everytime using 
getInt or getLong when constructing a OperationConfigBuilder. And one more 
thing is that we hae different operation timeout for meta table and other 
table, which means we need to know the table name if we want to set defaults to 
OperationConfigBuilder.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-03 Thread stack (JIRA)

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

stack commented on HBASE-17372:
---

On the setting of rpc timeout table wide, the hard thing to reason about is 
what happens if you set the timeout while operations are ongoing. Perhaps if 
timeout were passed on construction only? Yeah, being able to specify 
operationconfig per method invocation doubles up our API which is kinda 
ugly/lazy. It is clear what is going on though and you can do settings per call 
type -- our calls are different enough as you go across Get/Scan/Batch. Would 
be interested in alternative proposal though.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-03 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

You can see the discussion in HBASE-17361. I'm neutral on whether the Table 
instance should be thread safe or not. [~carp84] said with thread safe HTable 
they can get a better performance, and some other guys think a thread safe 
table is more friendly to end users.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-03 Thread Enis Soztutar (JIRA)

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

Enis Soztutar commented on HBASE-17372:
---

Plus, Table is NOT thread-safe, should AsyncTable be? 

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-03 Thread Enis Soztutar (JIRA)

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

Enis Soztutar commented on HBASE-17372:
---

Do we really need the OperationConfig to be specified per-operation? I was 
thinking that the approach we went with the Connection / Table separation is a 
good boundary for specifying different timeout configs. Since Table is a cheap 
object, you can have different Table objects with different timeouts, and use 
it, no? 

So the overall usage would be like: 
{code}
 Connection -> configured via hbase-site.xml 
 Table t1 = Connection.getTable() 
 t1.setRpcTimeout(foo); 
 t1.get() // etc 
 Table t2 = Connection.getTable() 
 t2.setRpcTimeout(bar); 
 t2.put() 
{code}

So in that sense, I was thinking the Table/AsyncTable to be the 
"OperationConfiguration" object for multiple operations. 

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-03 Thread stack (JIRA)

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

stack commented on HBASE-17372:
---

What do we do w/ the read/write rpc timeouts now? Thanks.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-03 Thread stack (JIRA)

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

stack commented on HBASE-17372:
---

Patch looks good. Nice cleanup. Only downside is extra API but I think now with 
operationconfig., we are done. It is generic so can add options to it if 
needed. I think it looks good and makes more sense than setting general rpc 
read/write timeouts for the table.

What is happening in AsyncConnectionConfiguration? We are setting rpc timeout, 
rpc read timeout and rpc write timeout but we only have a getRpcTimeoutNs?

Should I get the builder on the OperationConfig obect rather than 
AsyncTableBase?

  OperationConfigBuilder newOperationConfig();

It could take a configuration when you ask for the builder so you can set 
deafaults.





> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-03 Thread stack (JIRA)

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

stack commented on HBASE-17372:
---

Thanks [~carp84]. Yes. We need a writeup.  I can do it in a new issue.

The split of rpc timeout came in with the below. It is in 2.0 and 1.4.

commit 30d7eeaefe431bc263519064662e6dc8ad8ff05a
Author: Vivek 
Date:   Fri Aug 5 17:25:06 2016 -0700

HBASE-15866 Split hbase.rpc.timeout into *.read.timeout and *.write.timeout

Signed-off-by: Andrew Purtell 
Amending-Author: Andrew Purtell 

I'd mix that in. 

Would have a writeup for pre-1.4 and after.


> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-03 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

Thanks [~carp84] for your reviewing. Will add a release note later.

[~stack] What's your opinion sir? Thanks.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-03 Thread Yu Li (JIRA)

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

Yu Li commented on HBASE-17372:
---

Thanks for the ping [~Apache9]. The latest v3 patch lgtm, good clean up, +1.

Maybe we should mention the newly added OperationConfig in description and add 
some release note talking about how to set the (bunch of) timeout 
configurations?

In current stable releases we mainly use three timeouts: hbase.rpc.timeout for 
each RPC, hbase.client.operation.timeout for all operations but scan, and 
hbase.client.scanner.timeout.period for scan; And in 2.0 we've added 
hbase.rpc.read.timeout and hbase.rpc.write.timeout. However, I failed to find 
any detailed doc in our hbase book (please refer me to it if any, thanks), so 
maybe this is a good chance to add it (smile).

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-01 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17372:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 15s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 3 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 19s 
{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
3s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 17s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 
8s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
39s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 
44s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 6s 
{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 14s 
{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 
28s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 17s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 17s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 1m 
3s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
34s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
30m 23s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 4m 3s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 4s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 50s 
{color} | {color:green} hbase-common in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 1m 4s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 93m 44s {color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
45s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 149m 51s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.regionserver.TestHRegionWithInMemoryFlush |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.11.2 Server=1.11.2 Image:yetus/hbase:8d52d23 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12845264/HBASE-17372-v3.patch |
| JIRA Issue | HBASE-17372 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux 98d7917f5828 3.13.0-105-generic #152-Ubuntu SMP Fri Dec 2 
15:37:11 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / c3d5f26 |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/5107/artifact/patchprocess/patch-unit-hbase-server.txt
 |
| unit test logs |  

[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2017-01-01 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

[~carp84] FYI.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372-v2.patch, 
> HBASE-17372-v3.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-31 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

So maybe we could add the default rpc timeout config back? For exists, get and 
scan, we will use the readRpcTimeout. For put and delete, we will use the 
writeRpcTimeout. Other operations will just use the defaultRpcTimeout.

When adding the coprcoessor support for async table, I noticed that it is 
awkward to use either readRpcTimeout or writeRpcTimeout as its rpcTimeout...

Let me find a way to do this.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-30 Thread stack (JIRA)

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

stack commented on HBASE-17372:
---

bq. Do we think folks will do different timeouts for read and write?

There'll be defaults. It'll be unusual that folks will set them differently. We 
have the separation already so could just leave it as is.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-30 Thread stack (JIRA)

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

stack commented on HBASE-17372:
---

Do we think folks will do different timeouts for read and write?

When I say 'operation', I was referring to the suggestion above that we allow 
one timeout for Get and another for Increment and so on.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-29 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

{quote}
No to a timeout per operation type
{quote}
But we already have readRpcTimeout and writeRpcTimeout... Should we keep them? 
Or remove them?

Thanks.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-29 Thread stack (JIRA)

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

stack commented on HBASE-17372:
---

Yeah, after making the comment I remembered that it will be part of the public 
API. So, I think it should have a more generic name than RetryConfig so we are 
open to future amendment.


bq. As said above, it seems a little confusing that we to need pass a config 
that contains a 'writeRpcTimeout' when calling get, and vise versa. And if we 
decide to only have one 'rpcTimeout' field in RetryConfig, do we still need the 
separated readRpcTimeout and writeRpcTimeout config? If still needed, then do 
we need to add more xxxRpcTimeout configs such as appendRpcTimeout?

Agree.

No to a timeout per operation type.  Should be one rpc timeout only.  When a 
batch of heterogeneous ops, then what to set for a timeout will be unavoidably 
coarse.



> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-29 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

It will be public... The users will use it to specific the timeout for a call...

And my concern is whether we should have different rpc timeout fields in 
RetryConfig. As said above, it seems a little confusing that we to need pass a 
config that contains a 'writeRpcTimeout' when calling get, and vise versa. And 
if we decide to only have one 'rpcTimeout' field in RetryConfig, do we still 
need the separated readRpcTimeout and writeRpcTimeout config? If still needed, 
then do we need to add more xxxRpcTimeout configs such as appendRpcTimeout?

Thanks.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-28 Thread stack (JIRA)

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

stack commented on HBASE-17372:
---

My comment comes from seeing how much you are able to cleanup when you 
aggregate all timeouts in a single class (RetryConfig). Having a generic 
operationconfig object instead of a particular retryconfig seems like a safer 
bet.

If RetyConfig is in classes marked private and it seems to be all client-side 
-- no protos involved -- then we can change it later if we need to add config 
beyond retry/timeout. In this case, +1 on the patch.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-28 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

What do you think of the rpc timeout config? Now we have read rpc timeout and 
write rpc timeout, but as [~yangzhe1991] said above, there is no rule for 
operations like append, increment, batch, etc. And is it necessary to have 
different rpc timeout configs as now we can set rpc timeout per call?

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-28 Thread stack (JIRA)

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

stack commented on HBASE-17372:
---

Looking at patch, I like the aggregating of all the timeout into a single 
class. It is a very nice improvement/cleanup.

I like the [~yangzhe1991] suggestion of operationconfig rather than retryconfig 
so could add in to it other per-request-configs... (as you suggest above 
...non-timeout related config):

  private final RetryConfig retryConfig;

This is very nice.





> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-28 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

[~stack] Sir, your 'timeout per call' :). What's your opinion on the API? 
Thanks.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-27 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17372:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 11s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 1 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 9s 
{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 2m 
46s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 51s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
41s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
23s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 
28s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 42s 
{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 11s 
{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
56s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 50s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 50s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
43s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
21s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
1s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
26m 3s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 
47s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 41s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 58s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 92m 36s {color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
26s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 135m 14s {color} 
| {color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.12.3 Server=1.12.3 Image:yetus/hbase:8d52d23 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12844760/HBASE-17372-v1.patch |
| JIRA Issue | HBASE-17372 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux 20faf4c367b1 3.13.0-95-generic #142-Ubuntu SMP Fri Aug 12 
17:00:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 5ffbd4a |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/5058/artifact/patchprocess/patch-unit-hbase-server.txt
 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/5058/testReport/ |
| modules | C: hbase-client hbase-server U: . |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/5058/console |
| Powered by | Apache Yetus 0.3.0   

[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-27 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

Ah maybe we could add a backoff policy config in it?

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372-v1.patch, HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-27 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17372:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 10s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green} 0m 
0s {color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 
0s {color} | {color:green} The patch appears to include 1 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 18s 
{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 2m 
49s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 51s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
41s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
22s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 
28s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 43s 
{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 11s 
{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
57s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 51s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 51s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
41s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
22s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
25m 30s {color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 2.7.3 or 3.0.0-alpha1. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 
44s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 42s 
{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 0m 58s {color} 
| {color:red} hbase-client in the patch failed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 89m 54s 
{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
26s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 132m 10s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.TestInterfaceAudienceAnnotations |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=1.11.2 Server=1.11.2 Image:yetus/hbase:8d52d23 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12844738/HBASE-17372.patch |
| JIRA Issue | HBASE-17372 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  |
| uname | Linux fad4eb1393f9 3.13.0-103-generic #150-Ubuntu SMP Thu Nov 24 
10:34:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/component/dev-support/hbase-personality.sh
 |
| git revision | master / 5ffbd4a |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
| unit | 
https://builds.apache.org/job/PreCommit-HBASE-Build/5057/artifact/patchprocess/patch-unit-hbase-client.txt
 |
| unit test logs |  
https://builds.apache.org/job/PreCommit-HBASE-Build/5057/artifact/patchprocess/patch-unit-hbase-client.txt
 |
|  Test Results | 

[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-27 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

For now the read timeout is for exists, scan and get, and write timeout is for 
all other operations. For batch, if a group only have Get then we use read 
timeout, if no Get then we use write timeout, if both then we will use the 
larger one.

Agree that we'd better use a single rpc timeout as the user may not set the 
correct timeout, for example, set read timeout but calling checkAndPut. Then 
how do we deal with the default rpc timeout of batch? A new timeout config for 
batch? Then should multiGet, multiPut use the batch timeout?

Yeah maybe we do not need to introduce so many rpc timeout configs as it could 
be changed per call now...

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-27 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17372:
---

Yeah we can give it a better name.

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-27 Thread Phil Yang (JIRA)

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

Phil Yang commented on HBASE-17372:
---

And if we pass a config for each operation, do we still need read/write 
timeout? Maybe we can merge them to rpc timeout back? Or we may need define 
what is the timeout of append/increment/checkAndPut because it seems we haven't 
do that in doc?

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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


[jira] [Commented] (HBASE-17372) Make AsyncTable thread safe

2016-12-27 Thread Phil Yang (JIRA)

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

Phil Yang commented on HBASE-17372:
---

RetryConfig doesn't only config logic of retrying, or you mean timeout is also 
a kind of retrying logic? Maybe it is confusing. How about OperationConfig?

> Make AsyncTable thread safe
> ---
>
> Key: HBASE-17372
> URL: https://issues.apache.org/jira/browse/HBASE-17372
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient, Client
>Affects Versions: 2.0.0
>Reporter: Duo Zhang
>Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: HBASE-17372.patch
>
>
> The most methods are already thread safe. The problem is that we have some 
> methods that used to set timeout, we need to remove these methods and add a 
> parameter for each call to specific timeout settings.



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