[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-06-28 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17453:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  0m  
0s{color} | {color:blue} Docker mode activated. {color} |
| {color:red}-1{color} | {color:red} patch {color} | {color:red}  0m  5s{color} 
| {color:red} HBASE-17453 does not apply to master. Rebase required? Wrong 
Branch? See https://yetus.apache.org/documentation/0.4.0/precommit-patchnames 
for help. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Issue | HBASE-17453 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12859198/HBASE-17453-master-fixWhiteSpace.patch
 |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/7384/console |
| Powered by | Apache Yetus 0.4.0   http://yetus.apache.org |


This message was automatically generated.



> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17453-1.2.patch, 
> HBASE-17453-master-fixWhiteSpace.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch, HBASE-17453-master-v2.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-06-28 Thread stack (JIRA)

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

stack commented on HBASE-17453:
---

Ok to resolve [~tychang]?

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17453-1.2.patch, 
> HBASE-17453-master-fixWhiteSpace.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch, HBASE-17453-master-v2.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-05-28 Thread Sean Busbey (JIRA)

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

Sean Busbey commented on HBASE-17453:
-

What's the word here? Is this switching to AdminProtos or staying in 
ClientProtos?

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17453-1.2.patch, 
> HBASE-17453-master-fixWhiteSpace.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch, HBASE-17453-master-v2.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-24 Thread stack (JIRA)

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

stack commented on HBASE-17453:
---

[~tychang] Apps would make use of Client APIs. Admin Interface is for 
administration. I'd think that a ping would be something run by an 
operator/administrator on a period to ensure all is up and good for the 
application. Regards RSRpcService, yes, it implements both the Admin and Client 
functions on the server-side.

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.2.6
>
> Attachments: HBASE-17453-1.2.patch, 
> HBASE-17453-master-fixWhiteSpace.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch, HBASE-17453-master-v2.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-23 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


[~saint@gmail.com] One more question, I can see those method from 
Admin.proto has higher priority. But what is the criteria to decide what kind 
of methods should go to Admin.proto vs Client.proto. It seems all of them are 
implemented at RSRpcService.java any ways. 

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.2.5
>
> Attachments: HBASE-17453-1.2.patch, 
> HBASE-17453-master-fixWhiteSpace.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch, HBASE-17453-master-v2.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-23 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


[~saint@gmail.com]  Actually, as long as the method is in RSRpcServices, it 
serves my purpose, since I just need to test the connection with the specific 
RS and reconnect if needed, to make sure other operations like get, or mutate 
can succeed. It is just in AsynchHBase, it only has 
Client.proto/Cell.proto/HBase.proto/RPC.proto, no Admin.Protos. it is just 
grouping/naming by Asynchbase. I will move the Ping API into Admin.proto in the 
server patch,(no need to make my Asynchbase client side code change at all) and 
regenerate the patch.   

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.2.5
>
> Attachments: HBASE-17453-1.2.patch, 
> HBASE-17453-master-fixWhiteSpace.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch, HBASE-17453-master-v2.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-16 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17453:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 17s 
{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 2 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 40s 
{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
9s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 29s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 5m 
2s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
33s {color} | {color:green} master passed {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 1m 47s 
{color} | {color:red} hbase-protocol-shaded in master has 24 extant Findbugs 
warnings. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 52s 
{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 
36s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 31s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green} 1m 31s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 31s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 5m 
2s {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} 
25m 52s {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-alpha2. {color} |
| {color:green}+1{color} | {color:green} hbaseprotoc {color} | {color:green} 1m 
26s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 5m 
59s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 55s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 16s 
{color} | {color:green} hbase-protocol in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 25s 
{color} | {color:green} hbase-protocol-shaded in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 2m 20s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 93m 52s 
{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 1m 
2s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 159m 15s {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/12859198/HBASE-17453-master-fixWhiteSpace.patch
 |
| JIRA Issue | HBASE-17453 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  cc  hbaseprotoc  |
| uname | Linux eff547f47144 4.4.0-43-generic #63-Ubuntu SMP Wed Oct 12 
13:48:03 UTC 2016 x86_64 x86_64 

[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-15 Thread stack (JIRA)

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

stack commented on HBASE-17453:
---

[~tychang] This strikes me as an Admin function. Asyncclient will not be able 
to use it if it is in Admin? On CP, you make a good point.

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.2.5
>
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch, HBASE-17453-master-v2.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-15 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17453:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 14s 
{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 2 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 
25s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 50s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 6m 
11s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
41s {color} | {color:green} master passed {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 2m 8s 
{color} | {color:red} hbase-protocol-shaded in master has 24 extant Findbugs 
warnings. {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 13s 
{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 2m 
0s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 50s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green} 1m 50s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 50s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 6m 
16s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
42s {color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s 
{color} | {color:red} The patch has 3 line(s) that end in whitespace. Use git 
apply --whitespace=fix. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
30m 38s {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-alpha2. {color} |
| {color:green}+1{color} | {color:green} hbaseprotoc {color} | {color:green} 1m 
29s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 7m 
10s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 2s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 20s 
{color} | {color:green} hbase-protocol in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 31s 
{color} | {color:green} hbase-protocol-shaded in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 2m 24s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 106m 34s 
{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
55s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 182m 53s {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/12858928/HBASE-17453-master-v2.patch
 |
| JIRA Issue | HBASE-17453 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  cc  hbaseprotoc  |
| uname | Linux 52c314abe577 3.13.0-105-generic #152-Ubuntu SMP Fri Dec 2 

[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-15 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


[~anoop.hbase] Yes, I agree the input parameter for ping is useless. will 
remove that. and thanks for catching included the MasterProtos.java into the 
package, will remove that also. 

[~saint@gmail.com] Our usage is to call from asynchbase client to test the 
client/server connection, so I feel it is better to be in Client.proto. But I 
am fine to put it in Admin.proto if it can achieve the same goal.  As to 
coprocessor, that means all the tables in the cluster has to deploy the noop 
coprocessor, right? If so, that seems too  much operation overhead.   

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.2.5
>
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-14 Thread stack (JIRA)

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

stack commented on HBASE-17453:
---

[~tychang] what about doing something low cost like

  List getOnlineRegions(final ServerName sn) throws IOException;

from the Admin Interface?

On server-side it does this:

{code}
  @Override
  public List getOnlineRegions() {
List allRegions = new ArrayList<>();
synchronized (this.onlineRegions) {
  // Return a clone copy of the onlineRegions
  allRegions.addAll(onlineRegions.values());
}
return allRegions;
  }
{code}

... which is small potatoes in the scheme of things?

On adding a ping, should it be added to Admin rather than to Client?

Or you could do a noop coprocessor endpoint? Then you'd need no change in hbase?

Otherwise, patch seems fine (caveat above feedback). Good on you [~tychang]

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.2.5
>
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-14 Thread Anoop Sam John (JIRA)

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

Anoop Sam John commented on HBASE-17453:


Seems no change required in MasterProtos.java.  Pls avoid that from the patch.
Ted also asked
{code}
message PingRequest {
503   optional bool processed = 1;
504 }
{code}
Why we need an optional boolean param in request. No need of any params IMO.  
In PingResponse also better the 'processed' param can be a required one. Any 
way this will be true if u get a response. Or else , when connection issue, 
there will be no response at all.  
Else things looks simple and good.

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.2.5
>
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-14 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


It seems the test error is not related to my change except the whitespace one. 
Is this expected? 

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.2.5
>
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-14 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17453:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 19s 
{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 2 new or modified test 
files. {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 27s 
{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 3m 
34s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 50s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 6m 
25s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
42s {color} | {color:green} master passed {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 2m 17s 
{color} | {color:red} hbase-protocol-shaded in master has 24 extant Findbugs 
warnings. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 11s 
{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 13s 
{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 2m 
21s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 2m 9s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green} 2m 9s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 2m 9s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 6m 
48s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
41s {color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s 
{color} | {color:red} The patch has 11 line(s) that end in whitespace. Use git 
apply --whitespace=fix. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
31m 56s {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-alpha2. {color} |
| {color:green}+1{color} | {color:green} hbaseprotoc {color} | {color:green} 1m 
30s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 7m 
17s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 2s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 19s 
{color} | {color:green} hbase-protocol in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 31s 
{color} | {color:green} hbase-protocol-shaded in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 2m 25s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:red}-1{color} | {color:red} unit {color} | {color:red} 108m 21s 
{color} | {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
55s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 189m 10s {color} 
| {color:black} {color} |
\\
\\
|| Reason || Tests ||
| Timed out junit tests | 
org.apache.hadoop.hbase.master.balancer.TestStochasticLoadBalancer2 |
\\
\\
|| 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/12858617/HBASE-17453-master-v1.patch
 |
| JIRA Issue | HBASE-17453 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  

[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-13 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


attached the patch with the extra white space removed. 

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.2.5
>
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch, 
> HBASE-17453-master-v1.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-13 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-17453:
---

| (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 2 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} 3m 
1s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 37s 
{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 5m 
46s {color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
37s {color} | {color:green} master passed {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 1m 56s 
{color} | {color:red} hbase-protocol-shaded in master has 24 extant Findbugs 
warnings. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 53s 
{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 
43s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 36s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} cc {color} | {color:green} 1m 36s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 36s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 5m 
45s {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:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s 
{color} | {color:red} The patch has 3 line(s) that end in whitespace. Use git 
apply --whitespace=fix. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
26m 54s {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-alpha2. {color} |
| {color:green}+1{color} | {color:green} hbaseprotoc {color} | {color:green} 1m 
20s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 6m 
16s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 55s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 17s 
{color} | {color:green} hbase-protocol in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 0m 27s 
{color} | {color:green} hbase-protocol-shaded in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 2m 10s 
{color} | {color:green} hbase-client in the patch passed. {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 96m 25s 
{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
53s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 164m 21s {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/12857476/HBASE-17453-master.patch
 |
| JIRA Issue | HBASE-17453 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  hadoopcheck  
hbaseanti  checkstyle  compile  cc  hbaseprotoc  |
| uname | Linux a37eca734e9e 3.13.0-107-generic #154-Ubuntu SMP Tue Dec 20 

[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-12 Thread Phil Yang (JIRA)

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

Phil Yang commented on HBASE-17453:
---

Yes, you can click "Submit Patch" to change the status to "Patch Available"

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.2.5
>
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-11 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


[~ted_yu]  "Submit Patch" is the right action to take at this moment?  

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Fix For: 2.0.0, 1.2.5
>
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-11 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


[~ted_yu] Thanks a lot for the url link! Will read that. I found 
hbase-protocol-shaded/README.txt and followed that to regenerate the patch. Now 
it is passing those errors on my box. I have re-resubmitted the patch. Thanks 
again for your fast response!  

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-11 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-17453:


Please change from In Progress to Patch Available for QA run.

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-11 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-17453:


Have you read this ?
http://hbase.apache.org/book.html#shaded.protobuf

Please also read hbase-protocol/README.txt and hbase-protocol-shaded/README.txt

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-10 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


[~ted_yu]  It seems for generating the patch for master 2.0 version, I also 
need to add the new API into 
"hbase-protocol-shaded/src/main/protobuf/Client.proto" besides just 
"hbase-protocol/src/main/protobuf/Client.proto" as I did for 1.2.5. ? 

I made same change to "hbase-protocol-shaded/src/main/protobuf/Client.proto", 
but when generating the ClientProtos.java file, they have differences other 
than my change, e.g. "return Consistency.forNumber(number);"  vs "return 
Consistency.valueOf(number);  I am wondering what version of protoc is HBase 
master using? 

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-10 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


[~ted_yu] thanks for checking. I only run the full test and passed for the 
patch for 1.2.5. So did not run the test for master patch on my box. Let me 
find out where I missed the porting. 

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-09 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-17453:


I got the following compilation errors:
{code}
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.2:testCompile 
(default-testCompile) on project hbase-client: Compilation failure: Compilation 
failure:
[ERROR] 
/Users/tyu/trunk/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java:[507,55]
 cannot find symbol
[ERROR] symbol:   class PingRequest
[ERROR] location: class 
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos
[ERROR] 
/Users/tyu/trunk/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java:[506,24]
 cannot find symbol
[ERROR] symbol:   class PingResponse
[ERROR] location: class 
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos
[ERROR] 
/Users/tyu/trunk/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java:[505,5]
 method does not override or implement a method from a supertype
[ERROR] 
/Users/tyu/trunk/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java:[509,19]
 package PingResponse does not exist
[ERROR] 
/Users/tyu/trunk/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestClientNoCluster.java:[509,43]
 cannot find symbol
[ERROR] symbol:   variable PingResponse
[ERROR] location: class 
org.apache.hadoop.hbase.client.TestClientNoCluster.FakeServer
{code}
Can you double check ?

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-09 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


[~ted_yu] [~Apache9] [~saint@gmail.com] attached a patch generated from 
master branch. 

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-03-07 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


 [~stack] sorry for the long delay. What we want is a simple API at RS side 
that we can use to poll to verify if the connection behave weird, and need 
reconnect. Earlier, GetPrococolVersion in 94 was borrowed to achieve this goal 
as a side effect. Basically, this call should be a simple and cheap one. I can 
made a patch for trunk if needed. 

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Attachments: HBASE-17453-1.2.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-02-21 Thread stack (JIRA)

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

stack commented on HBASE-17453:
---

[~tychang] What you want to do here? Lets get something in that will work for 
you.

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Attachments: HBASE-17453-1.2.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-02-06 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


Thanks [~tedyu] [~stack]  for the comments. We need a method to reliably know 
if a connection with the RS still live. Previously, we rely on 
GetProtocolVersion(). When there is no traffic received within certain time, 
this could be either really there is no traffic, or the connection is bad. By 
sending a "Ping" and get response back, we know for sure it is not because 
connection is bad, therefore, no need to reconnect. If there is no response 
back from "Ping", we will reconnect. So we just need a lightweight response so 
that we know the communication link is healthy.  The PintProtocol.proto you 
mentioned above matches what we need. If it is a live API hosted by the RS, we 
can definitely use that.  


> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
> Attachments: HBASE-17453-1.2.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-01-13 Thread Tianying Chang (JIRA)

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

Tianying Chang commented on HBASE-17453:


[~Apache9] thanks. I will put the patch out next week. 

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 



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


[jira] [Commented] (HBASE-17453) add Ping into HBase server for deprecated GetProtocolVersion

2017-01-12 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-17453:
---

I‘d say not only on AWS. In the new rpc implementation in 2.0, we will not 
throw SocketTimeoutException when rpc call timeout which means we will not 
close the connection. So if the remote machine is crashed, the broken 
connection will be stuck for hours until TCP keepalive take its duty to close 
the connection.

In our internal HBase version I have added a ping feature at the rpc layer. And 
I have also thought of just calling a method of the remote service to test if 
the connection is still alive, simple but useful. I think both solutions are 
acceptable. Let's see your patch.

Thanks for your contribution.

> add Ping into HBase server for deprecated GetProtocolVersion
> 
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Affects Versions: 1.2.2
>Reporter: Tianying Chang
>Assignee: Tianying Chang
>Priority: Minor
>
> Our HBase service is hosted in AWS. We saw cases where the connection between 
> the client (Asynchbase in our case) and server stop working but did not throw 
> any exception, therefore traffic stuck. So we added a "Ping" feature in 
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side, 
> if no traffic for given time, we send the "Ping", if no response back for 
> "Ping", we assume the connect is bad and reconnect. 
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is 
> deprecated. To be able to support same detect/reconnect feature, we added 
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in 
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in 
> AWS environment. 
> We used GetProtocolVersion in AsyncHBase to detect unhealthy connection to RS 
> since in AWS, sometimes it enters a state the connection 



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