[jira] [Commented] (HBASE-17312) [JDK8] Use default method for Observer Coprocessors

2017-02-17 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17312:
-

Hi [~appy]

 [~zghaobac]  is on vacation this days, so go ahead.  :)  

> [JDK8] Use default method for Observer Coprocessors
> ---
>
> Key: HBASE-17312
> URL: https://issues.apache.org/jira/browse/HBASE-17312
> Project: HBase
>  Issue Type: Sub-task
>  Components: Coprocessors
>Affects Versions: 2.0.0
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
> Attachments: HBASE-17312.master.001.patch, 
> HBASE-17312.master.001.patch
>
>
> Use default method in MasterObserver, RegionObserver, RegionServerObserver 
> and WALObserver. And mark the BaseRegionObserver, 
> BaseMasterAndRegionObserver, BaseRegionServerObserver and BaseWALObserver. 
> User can implement the interface directly and will not break compatibility 
> when add new default methods.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-17 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Any concerns ? [~Apache9]], [~enis], [~busbey],  Thanks. 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0, 1.4.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17472.branch-1.3.v6.patch, 
> HBASE-17472.branch-1.v6.patch, HBASE-17472.branch-1.v7.patch, 
> HBASE-17472.master.v6.patch, HBASE-17472.master.v6.patch, 
> HBASE-17472.master.v7.patch, HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Comment Edited] (HBASE-17472) Correct the semantic of permission grant

2017-02-17 Thread huzheng (JIRA)

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

huzheng edited comment on HBASE-17472 at 2/18/17 2:09 AM:
--

Any concerns ? [~Apache9], [~enis], [~busbey],  Thanks. 


was (Author: openinx):
Any concerns ? [~Apache9]], [~enis], [~busbey],  Thanks. 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0, 1.4.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17472.branch-1.3.v6.patch, 
> HBASE-17472.branch-1.v6.patch, HBASE-17472.branch-1.v7.patch, 
> HBASE-17472.master.v6.patch, HBASE-17472.master.v6.patch, 
> HBASE-17472.master.v7.patch, HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17646) Implement Async getRegion method

2017-02-16 Thread huzheng (JIRA)

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

huzheng updated HBASE-17646:

Attachment: HBASE-17646.v1.patch

> Implement Async getRegion method
> 
>
> Key: HBASE-17646
> URL: https://issues.apache.org/jira/browse/HBASE-17646
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17646.v1.patch, HBASE-17646.v1.patch
>
>
> There are  some async admin APIs which depends on  async getRegion method.  
> Such as :  
> 1. closeRegion. 
> 2. flushRegion. 
> 3. compactRegion. 
> 4. mergeRegion. 
> 5. splitRegion. 
> and so on . 
> So,  implement async getRegion method first. 



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-16 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Upload patch v7 for removing all grant2. 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0, 1.4.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17472.branch-1.3.v6.patch, 
> HBASE-17472.branch-1.v6.patch, HBASE-17472.branch-1.v7.patch, 
> HBASE-17472.master.v6.patch, HBASE-17472.master.v6.patch, 
> HBASE-17472.master.v7.patch, HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-16 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Attachment: HBASE-17472.master.v7.patch

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0, 1.4.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17472.branch-1.3.v6.patch, 
> HBASE-17472.branch-1.v6.patch, HBASE-17472.branch-1.v7.patch, 
> HBASE-17472.master.v6.patch, HBASE-17472.master.v6.patch, 
> HBASE-17472.master.v7.patch, HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-16 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Attachment: HBASE-17472.branch-1.v7.patch

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0, 1.4.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17472.branch-1.3.v6.patch, 
> HBASE-17472.branch-1.v6.patch, HBASE-17472.branch-1.v7.patch, 
> HBASE-17472.master.v6.patch, HBASE-17472.master.v6.patch, 
> HBASE-17472.v1.patch, HBASE-17472.v2.patch, HBASE-17472.v3.patch, 
> HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-16 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Oh... Sorry,  Will upload a new patch.  Thanks [~enis]

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0, 1.4.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17472.branch-1.3.v6.patch, 
> HBASE-17472.branch-1.v6.patch, HBASE-17472.master.v6.patch, 
> HBASE-17472.master.v6.patch, HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-16 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

[~Apache9], Thanks for reminding .   Upload  patch for branch-1, the previous 
one is for branch-1.3 and it may apply failed.  

> And huzheng, you need to take care of the shell command. If we also want to 
> introduce a flag for the grant command in shell, you need to find a proper to 
> do it as the default behavior on master and branch-1 are different.

OK

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0, 1.4.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17472.branch-1.3.v6.patch, 
> HBASE-17472.master.v6.patch, HBASE-17472.master.v6.patch, 
> HBASE-17472.v1.patch, HBASE-17472.v2.patch, HBASE-17472.v3.patch, 
> HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-16 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Attachment: HBASE-17472.branch-1.v6.patch

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0, 1.4.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17472.branch-1.3.v6.patch, 
> HBASE-17472.branch-1.v6.patch, HBASE-17472.master.v6.patch, 
> HBASE-17472.master.v6.patch, HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17651) Add a flag for grant ruby shell command to merge existing permissions.

2017-02-16 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17651:
-

Will upload a patch as [~busbey] said. 

> Add a flag for grant ruby shell command to merge existing permissions.
> --
>
> Key: HBASE-17651
> URL: https://issues.apache.org/jira/browse/HBASE-17651
> Project: HBase
>  Issue Type: Sub-task
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
>  Labels: shell
> Fix For: 1.3.0
>
>
> As HBASE-17472 said,   we'll implement a new shell command  grant2 to add one 
> or more action(s) for user, and deprecated previous grant shell command.



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


[jira] [Updated] (HBASE-17651) Add a flag for grant ruby shell command to merge existing permissions.

2017-02-16 Thread huzheng (JIRA)

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

huzheng updated HBASE-17651:

Summary: Add a flag for grant ruby shell command to merge existing 
permissions.  (was: Implement grant2 ruby shell command.)

> Add a flag for grant ruby shell command to merge existing permissions.
> --
>
> Key: HBASE-17651
> URL: https://issues.apache.org/jira/browse/HBASE-17651
> Project: HBase
>  Issue Type: Sub-task
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
>  Labels: shell
> Fix For: 1.3.0
>
>
> As HBASE-17472 said,   we'll implement a new shell command  grant2 to add one 
> or more action(s) for user, and deprecated previous grant shell command.



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


[jira] [Updated] (HBASE-17651) Implement grant2 ruby shell command.

2017-02-16 Thread huzheng (JIRA)

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

huzheng updated HBASE-17651:

Fix Version/s: (was: 2.0.0)
   1.3.0

> Implement grant2 ruby shell command.
> 
>
> Key: HBASE-17651
> URL: https://issues.apache.org/jira/browse/HBASE-17651
> Project: HBase
>  Issue Type: Sub-task
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
>  Labels: shell
> Fix For: 1.3.0
>
>
> As HBASE-17472 said,   we'll implement a new shell command  grant2 to add one 
> or more action(s) for user, and deprecated previous grant shell command.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-16 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Upload patch for branch-1.3:  Provide a extra grant(..., 
mergeExistingPermissions)  rpc api for user,   and grant(...)  behavior the 
same as before.  

After that,  I'll add a flag in grant ruby shell command for branch-1.3 to 
invoke grant(..., mergeExstingPermissions).   patch will be uploaded under 
HBASE-17651. 

[~busbey], Thanks for your advise.


> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.branch-1.3.v6.patch, 
> HBASE-17472.master.v6.patch, HBASE-17472.master.v6.patch, 
> HBASE-17472.v1.patch, HBASE-17472.v2.patch, HBASE-17472.v3.patch, 
> HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-16 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Attachment: HBASE-17472.branch-1.3.v6.patch

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.branch-1.3.v6.patch, 
> HBASE-17472.master.v6.patch, HBASE-17472.master.v6.patch, 
> HBASE-17472.v1.patch, HBASE-17472.v2.patch, HBASE-17472.v3.patch, 
> HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-15 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Attachment: HBASE-17472.master.v6.patch

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.master.v6.patch, 
> HBASE-17472.master.v6.patch, HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-15 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Patch for branch-1 will be different,  I'll upload it later. 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.master.v6.patch, HBASE-17472.v1.patch, 
> HBASE-17472.v2.patch, HBASE-17472.v3.patch, HBASE-17472.v4.patch, 
> HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-15 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Upload patch v6 for master branch : 
1.  remove  grant2 method in AccessControllerClient, and just keep grant method 
(merge behavior) for RpcUser. 
2. adjust ut. 

For master branch, ruby shell command need no modification.  

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.master.v6.patch, HBASE-17472.v1.patch, 
> HBASE-17472.v2.patch, HBASE-17472.v3.patch, HBASE-17472.v4.patch, 
> HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-15 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Attachment: HBASE-17472.master.v6.patch

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.master.v6.patch, HBASE-17472.v1.patch, 
> HBASE-17472.v2.patch, HBASE-17472.v3.patch, HBASE-17472.v4.patch, 
> HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-15 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Thanks [~busbey], [~enis], [~Apache9],  new patch with a flag will come soon.

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17619) Add async admin Impl which connect to RegionServer and implement close region methods.

2017-02-15 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17619:
-

Upload patch v2: 

1. remove useless final modifier in AsyncAdmin interface. 
2.  Add TODO,  to abstract call & adminCall into a single one. 
3. use default timeout for closeRegion test case. 

> Add async admin Impl which connect to RegionServer and implement close region 
> methods.
> --
>
> Key: HBASE-17619
> URL: https://issues.apache.org/jira/browse/HBASE-17619
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17619.v1.patch, HBASE-17619.v1.patch, 
> HBASE-17619.v2.patch
>
>
> Currently , Async client has  async master impl and async htable impl , but 
> not async admin impl , which connect to RS for managing regions in region 
> server .
> This issue will add async admin which implement AdminService.Interface to 
> AsyncConnectionImpl, and implement close region method. 



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


[jira] [Updated] (HBASE-17619) Add async admin Impl which connect to RegionServer and implement close region methods.

2017-02-15 Thread huzheng (JIRA)

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

huzheng updated HBASE-17619:

Attachment: HBASE-17619.v2.patch

> Add async admin Impl which connect to RegionServer and implement close region 
> methods.
> --
>
> Key: HBASE-17619
> URL: https://issues.apache.org/jira/browse/HBASE-17619
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17619.v1.patch, HBASE-17619.v1.patch, 
> HBASE-17619.v2.patch
>
>
> Currently , Async client has  async master impl and async htable impl , but 
> not async admin impl , which connect to RS for managing regions in region 
> server .
> This issue will add async admin which implement AdminService.Interface to 
> AsyncConnectionImpl, and implement close region method. 



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-15 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Hi  [~Apache9], I've created HBASE-17651 for it. 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Created] (HBASE-17651) Implement grant2 ruby shell command.

2017-02-15 Thread huzheng (JIRA)
huzheng created HBASE-17651:
---

 Summary: Implement grant2 ruby shell command.
 Key: HBASE-17651
 URL: https://issues.apache.org/jira/browse/HBASE-17651
 Project: HBase
  Issue Type: Sub-task
  Components: Admin
Reporter: huzheng
Assignee: huzheng
 Fix For: 2.0.0


As HBASE-17472 said,   we'll implement a new shell command  grant2 to add one 
or more action(s) for user, and deprecated previous grant shell command.



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


[jira] [Comment Edited] (HBASE-17646) Implement Async getRegion method

2017-02-15 Thread huzheng (JIRA)

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

huzheng edited comment on HBASE-17646 at 2/15/17 1:19 PM:
--

Upload patch v1.   And this patch depends on HBASE-17619,  so I will put it to 
ReviewBoard  after HBASE-17619 committed to hbase-git. 


was (Author: openinx):
Upload patch v1. 

> Implement Async getRegion method
> 
>
> Key: HBASE-17646
> URL: https://issues.apache.org/jira/browse/HBASE-17646
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17646.v1.patch
>
>
> There are  some async admin APIs which depends on  async getRegion method.  
> Such as :  
> 1. closeRegion. 
> 2. flushRegion. 
> 3. compactRegion. 
> 4. mergeRegion. 
> 5. splitRegion. 
> and so on . 
> So,  implement async getRegion method first. 



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


[jira] [Updated] (HBASE-17646) Implement Async getRegion method

2017-02-15 Thread huzheng (JIRA)

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

huzheng updated HBASE-17646:

Status: Patch Available  (was: Open)

> Implement Async getRegion method
> 
>
> Key: HBASE-17646
> URL: https://issues.apache.org/jira/browse/HBASE-17646
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17646.v1.patch
>
>
> There are  some async admin APIs which depends on  async getRegion method.  
> Such as :  
> 1. closeRegion. 
> 2. flushRegion. 
> 3. compactRegion. 
> 4. mergeRegion. 
> 5. splitRegion. 
> and so on . 
> So,  implement async getRegion method first. 



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


[jira] [Commented] (HBASE-17646) Implement Async getRegion method

2017-02-15 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17646:
-

Upload patch v1. 

> Implement Async getRegion method
> 
>
> Key: HBASE-17646
> URL: https://issues.apache.org/jira/browse/HBASE-17646
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17646.v1.patch
>
>
> There are  some async admin APIs which depends on  async getRegion method.  
> Such as :  
> 1. closeRegion. 
> 2. flushRegion. 
> 3. compactRegion. 
> 4. mergeRegion. 
> 5. splitRegion. 
> and so on . 
> So,  implement async getRegion method first. 



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


[jira] [Updated] (HBASE-17646) Implement Async getRegion method

2017-02-15 Thread huzheng (JIRA)

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

huzheng updated HBASE-17646:

Attachment: HBASE-17646.v1.patch

> Implement Async getRegion method
> 
>
> Key: HBASE-17646
> URL: https://issues.apache.org/jira/browse/HBASE-17646
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17646.v1.patch
>
>
> There are  some async admin APIs which depends on  async getRegion method.  
> Such as :  
> 1. closeRegion. 
> 2. flushRegion. 
> 3. compactRegion. 
> 4. mergeRegion. 
> 5. splitRegion. 
> and so on . 
> So,  implement async getRegion method first. 



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


[jira] [Comment Edited] (HBASE-17472) Correct the semantic of permission grant

2017-02-15 Thread huzheng (JIRA)

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

huzheng edited comment on HBASE-17472 at 2/15/17 8:43 AM:
--

Upload patch v5. 
1.  set default value to false for new protobuf field 
(mergeExistingPermissions); 
2. using LOG.error(message, t) to print grant(2)/revoke exception , instead of 
e.printStraceTrace(). 


was (Author: openinx):
Upload patch v5. 
1.  set default value to false for new fields (mergeExistingPermissions); 
2. using LOG.error(message, t) to print grant(2)/revoke exception , instead of 
e.printStraceTrace(). 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-15 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Upload patch v5. 
1.  set default value to false for new fields (mergeExistingPermissions); 
2. using LOG.error(message, t) to print grant(2)/revoke exception , instead of 
e.printStraceTrace(). 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-15 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Attachment: HBASE-17472.v5.patch

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch, HBASE-17472.v5.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-14 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Upload patch v4.According to   review comments,  patch v4 remove 
unnecessary commented RpcController code, and refactor  
shouldMergeExistPermissions to mergeExistingPermissions.  

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-14 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Attachment: HBASE-17472.v4.patch

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch, HBASE-17472.v4.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17619) Add async admin Impl which connect to RegionServer and implement close region methods.

2017-02-14 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17619:
-

Add review link : https://reviews.apache.org/r/56662/ 

> Add async admin Impl which connect to RegionServer and implement close region 
> methods.
> --
>
> Key: HBASE-17619
> URL: https://issues.apache.org/jira/browse/HBASE-17619
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17619.v1.patch, HBASE-17619.v1.patch
>
>
> Currently , Async client has  async master impl and async htable impl , but 
> not async admin impl , which connect to RS for managing regions in region 
> server .
> This issue will add async admin which implement AdminService.Interface to 
> AsyncConnectionImpl, and implement close region method. 



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


[jira] [Issue Comment Deleted] (HBASE-17619) Add async admin Impl which connect to RegionServer and implement close region methods.

2017-02-14 Thread huzheng (JIRA)

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

huzheng updated HBASE-17619:

Comment: was deleted

(was: [~Apache9],  upload ruby patch for HBASE-17472 ?   Yeah , I left a  
comment under HBASE-17472  , and if Java Patch is OK , I'll create another 
sub-task to  add grant2 ruby command.   )

> Add async admin Impl which connect to RegionServer and implement close region 
> methods.
> --
>
> Key: HBASE-17619
> URL: https://issues.apache.org/jira/browse/HBASE-17619
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17619.v1.patch, HBASE-17619.v1.patch
>
>
> Currently , Async client has  async master impl and async htable impl , but 
> not async admin impl , which connect to RS for managing regions in region 
> server .
> This issue will add async admin which implement AdminService.Interface to 
> AsyncConnectionImpl, and implement close region method. 



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-14 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Thanks [~Apache9], I will  upload a new patch for your review comment.

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17619) Add async admin Impl which connect to RegionServer and implement close region methods.

2017-02-14 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17619:
-

[~Apache9],  upload ruby patch for HBASE-17472 ?   Yeah , I left a  comment 
under HBASE-17472  , and if Java Patch is OK , I'll create another sub-task to  
add grant2 ruby command.   

> Add async admin Impl which connect to RegionServer and implement close region 
> methods.
> --
>
> Key: HBASE-17619
> URL: https://issues.apache.org/jira/browse/HBASE-17619
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17619.v1.patch, HBASE-17619.v1.patch
>
>
> Currently , Async client has  async master impl and async htable impl , but 
> not async admin impl , which connect to RS for managing regions in region 
> server .
> This issue will add async admin which implement AdminService.Interface to 
> AsyncConnectionImpl, and implement close region method. 



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


[jira] [Commented] (HBASE-17645) Improve the connection usage in PE tool

2017-02-14 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17645:
-

So ,  if oneCon flag is false.   we could just pass a null Connection object , 
instead of a created Connection ? 

> Improve the connection usage in PE tool
> ---
>
> Key: HBASE-17645
> URL: https://issues.apache.org/jira/browse/HBASE-17645
> Project: HBase
>  Issue Type: Improvement
>  Components: test
>Affects Versions: 2.0.0
>Reporter: ramkrishna.s.vasudevan
>Assignee: ramkrishna.s.vasudevan
> Fix For: 2.0.0
>
>
> In PE tool we have the option of using one connection for all threads. By 
> default it is false. And you can see a  big difference in the measurements 
> that the tool produces and also the load that it generates on the server side 
> when this oneCon is false/true.
> Also if you see if oneCon is false, we still create one connection for 
> initilaizing the threads and again that connection is overwritten when the 
> threads actually starts running by creating a connection. I think we can do 
> some clean up here. 



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


[jira] [Updated] (HBASE-17646) Implement Async getRegion method

2017-02-14 Thread huzheng (JIRA)

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

huzheng updated HBASE-17646:

Issue Type: Sub-task  (was: Bug)
Parent: HBASE-17359

> Implement Async getRegion method
> 
>
> Key: HBASE-17646
> URL: https://issues.apache.org/jira/browse/HBASE-17646
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
>
> There are  some async admin APIs which depends on  async getRegion method.  
> Such as :  
> 1. closeRegion. 
> 2. flushRegion. 
> 3. compactRegion. 
> 4. mergeRegion. 
> 5. splitRegion. 
> and so on . 
> So,  implement async getRegion method first. 



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


[jira] [Created] (HBASE-17646) Implement Async getRegion method

2017-02-14 Thread huzheng (JIRA)
huzheng created HBASE-17646:
---

 Summary: Implement Async getRegion method
 Key: HBASE-17646
 URL: https://issues.apache.org/jira/browse/HBASE-17646
 Project: HBase
  Issue Type: Bug
  Components: asyncclient
Affects Versions: 2.0.0
Reporter: huzheng
Assignee: huzheng
 Fix For: 2.0.0


There are  some async admin APIs which depends on  async getRegion method.  

Such as :  

1. closeRegion. 
2. flushRegion. 
3. compactRegion. 
4. mergeRegion. 
5. splitRegion. 

and so on . 

So,  implement async getRegion method first. 



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-13 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

[~ashish singhi],  [~Apache9], [~zghaobac]   Could you help to review the patch 
v3 ? 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17619) Add async admin Impl which connect to RegionServer and implement close region methods.

2017-02-13 Thread huzheng (JIRA)

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

huzheng updated HBASE-17619:

Attachment: HBASE-17619.v1.patch

> Add async admin Impl which connect to RegionServer and implement close region 
> methods.
> --
>
> Key: HBASE-17619
> URL: https://issues.apache.org/jira/browse/HBASE-17619
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17619.v1.patch, HBASE-17619.v1.patch
>
>
> Currently , Async client has  async master impl and async htable impl , but 
> not async admin impl , which connect to RS for managing regions in region 
> server .
> This issue will add async admin which implement AdminService.Interface to 
> AsyncConnectionImpl, and implement close region method. 



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


[jira] [Updated] (HBASE-17619) Add async admin Impl which connect to RegionServer and implement close region methods.

2017-02-13 Thread huzheng (JIRA)

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

huzheng updated HBASE-17619:

Status: Patch Available  (was: Open)

> Add async admin Impl which connect to RegionServer and implement close region 
> methods.
> --
>
> Key: HBASE-17619
> URL: https://issues.apache.org/jira/browse/HBASE-17619
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17619.v1.patch
>
>
> Currently , Async client has  async master impl and async htable impl , but 
> not async admin impl , which connect to RS for managing regions in region 
> server .
> This issue will add async admin which implement AdminService.Interface to 
> AsyncConnectionImpl, and implement close region method. 



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


[jira] [Updated] (HBASE-17619) Add async admin Impl which connect to RegionServer and implement close region methods.

2017-02-13 Thread huzheng (JIRA)

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

huzheng updated HBASE-17619:

Attachment: HBASE-17619.v1.patch

> Add async admin Impl which connect to RegionServer and implement close region 
> methods.
> --
>
> Key: HBASE-17619
> URL: https://issues.apache.org/jira/browse/HBASE-17619
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
> Attachments: HBASE-17619.v1.patch
>
>
> Currently , Async client has  async master impl and async htable impl , but 
> not async admin impl , which connect to RS for managing regions in region 
> server .
> This issue will add async admin which implement AdminService.Interface to 
> AsyncConnectionImpl, and implement close region method. 



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


[jira] [Commented] (HBASE-17619) Add async admin Impl which connect to RegionServer and implement close region methods.

2017-02-13 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17619:
-

So , I'll upload a patch , which implement other 3 API.  After that, I'll 
create a subtask to implement AsyncAdmin.getRegion API.

> Add async admin Impl which connect to RegionServer and implement close region 
> methods.
> --
>
> Key: HBASE-17619
> URL: https://issues.apache.org/jira/browse/HBASE-17619
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
>
> Currently , Async client has  async master impl and async htable impl , but 
> not async admin impl , which connect to RS for managing regions in region 
> server .
> This issue will add async admin which implement AdminService.Interface to 
> AsyncConnectionImpl, and implement close region method. 



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


[jira] [Commented] (HBASE-17619) Add async admin Impl which connect to RegionServer and implement close region methods.

2017-02-13 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17619:
-

Currently, we have 4 closeRegion API:
{code}
CompletableFuture closeRegion(final String regionname, final String 
serverName);
CompletableFuture closeRegion(final byte[] regionname, final String 
serverName);
CompletableFuture closeRegionWithEncodedRegionName(final String 
encodedRegionName, final String serverName);
CompletableFuture closeRegion(final ServerName sn, final HRegionInfo hri);
{code}

And there's some special for implementing   
{code}CompletableFuture closeRegion(final byte[] regionname, final String 
serverName){code} , 
because this API allow serverName to be null , and need to get RegionServer by 
regionname, which depends on AsyncAdmin.getRegion API implementation.

 







> Add async admin Impl which connect to RegionServer and implement close region 
> methods.
> --
>
> Key: HBASE-17619
> URL: https://issues.apache.org/jira/browse/HBASE-17619
> Project: HBase
>  Issue Type: Sub-task
>  Components: asyncclient
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
>  Labels: asynchronous
> Fix For: 2.0.0
>
>
> Currently , Async client has  async master impl and async htable impl , but 
> not async admin impl , which connect to RS for managing regions in region 
> server .
> This issue will add async admin which implement AdminService.Interface to 
> AsyncConnectionImpl, and implement close region method. 



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


[jira] [Created] (HBASE-17619) Add async admin Impl which connect to RegionServer and implement close region methods.

2017-02-09 Thread huzheng (JIRA)
huzheng created HBASE-17619:
---

 Summary: Add async admin Impl which connect to RegionServer and 
implement close region methods.
 Key: HBASE-17619
 URL: https://issues.apache.org/jira/browse/HBASE-17619
 Project: HBase
  Issue Type: Sub-task
  Components: asyncclient
Affects Versions: 2.0.0
Reporter: huzheng
Assignee: huzheng
 Fix For: 2.0.0


Currently , Async client has  async master impl and async htable impl , but not 
async admin impl , which connect to RS for managing regions in region server .

This issue will add async admin which implement AdminService.Interface to 
AsyncConnectionImpl, and implement close region method. 







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


[jira] [Commented] (HBASE-17359) Implement async admin

2017-02-08 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17359:
-

I will take the charge of Region Admin Operations.  :)

> Implement async admin
> -
>
> Key: HBASE-17359
> URL: https://issues.apache.org/jira/browse/HBASE-17359
> Project: HBase
>  Issue Type: Umbrella
>  Components: Client
>Reporter: Duo Zhang
>Assignee: Guanghao Zhang
>  Labels: asynchronous
> Fix For: 2.0.0
>
>
> And as we will return a CompletableFuture, I think we can just remove the 
> XXXAsync methods, and make all the methods blocking which means we will only 
> finish the CompletableFuture when the operation is done. User can choose 
> whether to wait on the returned CompletableFuture.
> Convert this to a umbrella task. There maybe some sub-tasks.
> 1. Table admin operations.
> 2. Region admin operations.
> 3. Namespace admin operations.
> 4. Snapshot admin operations.
> 5. Replication admin operations.
> 6. Other operations, like quota, balance..



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


[jira] [Commented] (HBASE-17359) Implement async admin

2017-02-08 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17359:
-

Could I take the charge of Region Admin Operations ? 

> Implement async admin
> -
>
> Key: HBASE-17359
> URL: https://issues.apache.org/jira/browse/HBASE-17359
> Project: HBase
>  Issue Type: Umbrella
>  Components: Client
>Reporter: Duo Zhang
>Assignee: Guanghao Zhang
>  Labels: asynchronous
> Fix For: 2.0.0
>
>
> And as we will return a CompletableFuture, I think we can just remove the 
> XXXAsync methods, and make all the methods blocking which means we will only 
> finish the CompletableFuture when the operation is done. User can choose 
> whether to wait on the returned CompletableFuture.
> Convert this to a umbrella task. There maybe some sub-tasks.
> 1. Table admin operations.
> 2. Region admin operations.
> 3. Namespace admin operations.
> 4. Snapshot admin operations.
> 5. Replication admin operations.
> 6. Other operations, like quota, balance..



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


[jira] [Issue Comment Deleted] (HBASE-17359) Implement async admin

2017-02-08 Thread huzheng (JIRA)

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

huzheng updated HBASE-17359:

Comment: was deleted

(was: Could I take the charge of Region Admin Operations ? )

> Implement async admin
> -
>
> Key: HBASE-17359
> URL: https://issues.apache.org/jira/browse/HBASE-17359
> Project: HBase
>  Issue Type: Umbrella
>  Components: Client
>Reporter: Duo Zhang
>Assignee: Guanghao Zhang
>  Labels: asynchronous
> Fix For: 2.0.0
>
>
> And as we will return a CompletableFuture, I think we can just remove the 
> XXXAsync methods, and make all the methods blocking which means we will only 
> finish the CompletableFuture when the operation is done. User can choose 
> whether to wait on the returned CompletableFuture.
> Convert this to a umbrella task. There maybe some sub-tasks.
> 1. Table admin operations.
> 2. Region admin operations.
> 3. Namespace admin operations.
> 4. Snapshot admin operations.
> 5. Replication admin operations.
> 6. Other operations, like quota, balance..



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


[jira] [Commented] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-02-07 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17381:
-

Failed UT(testRegionServerCoprocessorsReported) in Jenkins  works fine under my 
desktop machine.   And there are no useful log  to debug in jenkins.  :(

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>Assignee: huzheng
> Fix For: 2.0.0, 1.4.0, 1.3.1, 1.2.5
>
> Attachments: HBASE-17381.patch, HBASE-17381.v1.patch, 
> HBASE-17381.v2.patch, HBASE-17381.v3.patch
>
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-07 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Affects Version/s: 2.0.0

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Affects Versions: 2.0.0
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-07 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Upload patch v3:

1. add java docs for grant/grant2 API. 
2. fix failed UT TestTablePermissions.  which caused by using a TreeSet to 
serialize multiple enum variables into byte array.  So I reorder the expected 
array for AssertEquals , and UT pass. 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-07 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Attachment: HBASE-17472.v3.patch

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch, 
> HBASE-17472.v3.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-02-07 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17381:
-

Thanks for your help, [~ghelmling]

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>Assignee: huzheng
> Fix For: 2.0.0, 1.4.0, 1.3.1, 1.2.5
>
> Attachments: HBASE-17381.patch, HBASE-17381.v1.patch, 
> HBASE-17381.v2.patch, HBASE-17381.v3.patch
>
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-07 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

Upload patch v2, which remove unnecessary modifications.

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-07 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Attachment: HBASE-17472.v2.patch

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch, HBASE-17472.v2.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-02-07 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17381:
-

[~apurtell] ,  [~ghelmling] ,  Could you help  me to review patch v3 ? Thanks . 

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>Assignee: huzheng
> Attachments: HBASE-17381.patch, HBASE-17381.v1.patch, 
> HBASE-17381.v2.patch, HBASE-17381.v3.patch
>
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-07 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Fix Version/s: 2.0.0
   Status: Patch Available  (was: Open)

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0
>
> Attachments: HBASE-17472.v1.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-02-07 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

I've uploaded a patch v1 , which implement a new RPC API  named grant2 and 
deprecate  grant RPC API .  The grant2 rpc API  can add one or more action(s) 
for a user .

Later,  I'll  create another issue to add a new ruby shell command : grant2. 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
> Attachments: HBASE-17472.v1.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-02-07 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Attachment: HBASE-17472.v1.patch

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
> Attachments: HBASE-17472.v1.patch
>
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-02-05 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17381:
-

[~apurtell] ,   [~ghelmling]  , Really thanks for your advise .  So dev team 
favor aborting for unhandled exceptions. 

I upload patch v3 
(https://issues.apache.org/jira/secure/attachment/12851104/HBASE-17381.v3.patch)
  for it .

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>Assignee: huzheng
> Attachments: HBASE-17381.patch, HBASE-17381.v1.patch, 
> HBASE-17381.v2.patch, HBASE-17381.v3.patch
>
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Updated] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-02-05 Thread huzheng (JIRA)

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

huzheng updated HBASE-17381:

Attachment: HBASE-17381.v3.patch

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>Assignee: huzheng
> Attachments: HBASE-17381.patch, HBASE-17381.v1.patch, 
> HBASE-17381.v2.patch, HBASE-17381.v3.patch
>
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-01-16 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

[~Apache9][~ashish singhi] [~Weizhan Zeng]  thanks for your advise, I'll upload 
a patch :) 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Commented] (HBASE-17472) Correct the semantic of permission grant

2017-01-15 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17472:
-

[~ashish singhi] ,   Your concern is reasonable .   Can we add hint for grant 
command after we change the behavior ?  

On the side,  currently,   we can't revoke single action of a user , 
administrators maybe use grant  command to revoke single action for a user , I 
guess. 

So , a more reasonable solution ( behavior like other databases , such as 
MySQL) maybe : 

1. Grant command add (not replace) one or more action(s) for a user; 
2. Revoke command remove one or more action(s) for a user. 


 

> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
>  hbase_tst   default,ycsb,,: 
> [Permission: actions=CREATE,ADMIN]
>   
>   
> 1 row(s) in 0.0490 seconds
> {code}  
> Later permission will replace previous granted permissions, which confused 
> most of HBase administrator.
> It's seems more reasonable that HBase merge multiple granted permission.



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


[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-01-15 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Description: 
Currently, HBase grant operation has following semantic:

{code}
hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
0 row(s) in 0.0960 seconds

hbase(main):020:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 


  
 hbase_tst   default,ycsb,,: 
[Permission:actions=READ,WRITE] 

  
1 row(s) in 0.0550 seconds

hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
0 row(s) in 0.0820 seconds

hbase(main):022:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 

  
 hbase_tst   default,ycsb,,: 
[Permission: actions=CREATE,ADMIN]  

  
1 row(s) in 0.0490 seconds

{code}  

Later permission will replace previous granted permissions, which confused most 
of HBase administrator.

It's seems more reasonable that HBase merge multiple granted permission.


  was:
Currently, HBase grant operation has following semantic:

{code}
hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
0 row(s) in 0.0960 seconds

hbase(main):020:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 


  
 hbase_tst   default,ycsb,,: 
[Permission:actions=READ,WRITE] 

  
1 row(s) in 0.0550 seconds

hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
0 row(s) in 0.0820 seconds

hbase(main):022:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 

  
 hbase_tst   default,ycsb,,: 
[Permission: actions=CREATE,ADMIN]  

  
1 row(s) in 0.0490 seconds

{code}  

Later permission will replace previous granted permissions, It seems confuse 
most of HBase administrator.

It's seems more reasonable that HBase merge multiple granted permission.



> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 

[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-01-15 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Description: 
Currently, HBase grant operation has following semantic:

{code}
hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
0 row(s) in 0.0960 seconds

hbase(main):020:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 


  
 hbase_tst   default,ycsb,,: 
[Permission:actions=READ,WRITE] 

  
1 row(s) in 0.0550 seconds

hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
0 row(s) in 0.0820 seconds

hbase(main):022:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 

  
 hbase_tst   default,ycsb,,: 
[Permission: actions=CREATE,ADMIN]  

  
1 row(s) in 0.0490 seconds

{code}  

Later permission will replace previous granted permissions, It seems confuse 
most of HBase administrator.

It's seems more reasonable that HBase merge multiple granted permission.


  was:
Currently, HBase grant operation has following semantic:

{code}
hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
0 row(s) in 0.0960 seconds

hbase(main):020:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 


  
 hbase_tst   default,ycsb,,: 
[Permission:actions=READ,WRITE] 

  
4 row(s) in 0.0550 seconds

hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
0 row(s) in 0.0820 seconds

hbase(main):022:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 

  
 hbase_tst   default,ycsb,,: 
[Permission: actions=CREATE,ADMIN]  

  
1 row(s) in 0.0490 seconds

{code}  

Later permission will replace previous granted permissions, which confused most 
of HBase administrator.

It's seems more reasonable that HBase merge multiple granted permission.



> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 1 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 

[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-01-15 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Description: 
Currently, HBase grant operation has following semantic:

{code}
hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
0 row(s) in 0.0960 seconds

hbase(main):020:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 


  
 hbase_tst   default,ycsb,,: 
[Permission:actions=READ,WRITE] 

  
4 row(s) in 0.0550 seconds

hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
0 row(s) in 0.0820 seconds

hbase(main):022:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 

  
 hbase_tst   default,ycsb,,: 
[Permission: actions=CREATE,ADMIN]  

  
1 row(s) in 0.0490 seconds

{code}  

Later permission will replace previous granted permissions, which confused most 
of HBase administrator.

It's seems more reasonable that HBase merge multiple granted permission.


  was:
Currently, HBase grant operation has following semantic:

{code}
hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
0 row(s) in 0.0960 seconds

hbase(main):020:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 


  
 hbase_tst   default,ycsb,,: 
[Permission:actions=READ,WRITE] 

  
4 row(s) in 0.0550 seconds

hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
0 row(s) in 0.0820 seconds

hbase(main):022:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 

  
 hbase_tst   default,ycsb,,: 
[Permission: actions=CREATE,ADMIN]  

  
1 row(s) in 0.0490 seconds

{code}  

Later permission will replace previous granted permissions, Which confused most 
of HBase administrator.

It's seems more reasonable that HBase merge multiple granted permission.



> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 4 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 

[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-01-15 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Description: 
Currently, HBase grant operation has following semantic:

{code}
hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
0 row(s) in 0.0960 seconds

hbase(main):020:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 


  
 hbase_tst   default,ycsb,,: 
[Permission:actions=READ,WRITE] 

  
4 row(s) in 0.0550 seconds

hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
0 row(s) in 0.0820 seconds

hbase(main):022:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 

  
 hbase_tst   default,ycsb,,: 
[Permission: actions=CREATE,ADMIN]  

  
1 row(s) in 0.0490 seconds

{code}  

Later permission will replace previous granted permissions, Which confused most 
of HBase administrator.

It's seems more reasonable that HBase merge multiple granted permission.


  was:
Currently, HBase grant operation has following semantic:

{code}
hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
0 row(s) in 0.0960 seconds

hbase(main):020:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 


  
 hbase_tst   default,ycsb,,: 
[Permission:actions=READ,WRITE] 

  
4 row(s) in 0.0550 seconds

hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
0 row(s) in 0.0820 seconds

hbase(main):022:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 

  
 hbase_tst   default,ycsb,,: 
[Permission: actions=CREATE,ADMIN]  

  
1 row(s) in 0.0490 seconds

{code}  

Later permission will replace previous granted permissions, It seems confuse 
most of HBase administrator.

It's seems more reasonable that HBase merge multiple granted permission.



> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 4 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 

[jira] [Updated] (HBASE-17472) Correct the semantic of permission grant

2017-01-15 Thread huzheng (JIRA)

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

huzheng updated HBASE-17472:

Description: 
Currently, HBase grant operation has following semantic:

{code}
hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
0 row(s) in 0.0960 seconds

hbase(main):020:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 


  
 hbase_tst   default,ycsb,,: 
[Permission:actions=READ,WRITE] 

  
4 row(s) in 0.0550 seconds

hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
0 row(s) in 0.0820 seconds

hbase(main):022:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 

  
 hbase_tst   default,ycsb,,: 
[Permission: actions=CREATE,ADMIN]  

  
1 row(s) in 0.0490 seconds

{code}  

Later permission will replace previous granted permissions, It seems confuse 
most of HBase administrator.

It's seems more reasonable that HBase merge multiple granted permission.


  was:
Currently, HBase grant operation has following semantic:

{code}
hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
0 row(s) in 0.0960 seconds

hbase(main):020:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 


  
 hbase_tst   default,ycsb,,: 
[Permission:actions=READ,WRITE] 

  
4 row(s) in 0.0550 seconds

hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
0 row(s) in 0.0820 seconds

hbase(main):022:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 

  
 hbase_tst   default,ycsb,,: 
[Permission: actions=CREATE,ADMIN]  

  
1 row(s) in 0.0490 seconds

{code}  

Later permission will replace previous granted permissions seems confuse most 
of HBase administrator.

It's seems more reasonable that HBase merge multiple granted permission.



> Correct the semantic of  permission grant
> -
>
> Key: HBASE-17472
> URL: https://issues.apache.org/jira/browse/HBASE-17472
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin
>Reporter: huzheng
>Assignee: huzheng
>
> Currently, HBase grant operation has following semantic:
> {code}
> hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
> 0 row(s) in 0.0960 seconds
> hbase(main):020:0> user_permission 'ycsb'
> User 
> Namespace,Table,Family,Qualifier:Permission   
>   
>   
> 
>  hbase_tst   default,ycsb,,: 
> [Permission:actions=READ,WRITE]   
>   
>   
> 4 row(s) in 0.0550 seconds
> hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
> 0 row(s) in 0.0820 seconds
> hbase(main):022:0> user_permission 

[jira] [Created] (HBASE-17472) Correct the semantic of permission grant

2017-01-15 Thread huzheng (JIRA)
huzheng created HBASE-17472:
---

 Summary: Correct the semantic of  permission grant
 Key: HBASE-17472
 URL: https://issues.apache.org/jira/browse/HBASE-17472
 Project: HBase
  Issue Type: Improvement
  Components: Admin
Reporter: huzheng
Assignee: huzheng


Currently, HBase grant operation has following semantic:

{code}
hbase(main):019:0> grant 'hbase_tst', 'RW', 'ycsb'
0 row(s) in 0.0960 seconds

hbase(main):020:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 


  
 hbase_tst   default,ycsb,,: 
[Permission:actions=READ,WRITE] 

  
4 row(s) in 0.0550 seconds

hbase(main):021:0> grant 'hbase_tst', 'CA', 'ycsb'
0 row(s) in 0.0820 seconds

hbase(main):022:0> user_permission 'ycsb'
User 
Namespace,Table,Family,Qualifier:Permission 

  
 hbase_tst   default,ycsb,,: 
[Permission: actions=CREATE,ADMIN]  

  
1 row(s) in 0.0490 seconds

{code}  

Later permission will replace previous granted permissions seems confuse most 
of HBase administrator.

It's seems more reasonable that HBase merge multiple granted permission.




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


[jira] [Commented] (HBASE-17450) TablePermission#equals throws NPE after namespace support was added

2017-01-15 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17450:
-

Thanks, Ted. 

> TablePermission#equals throws NPE after namespace support was added
> ---
>
> Key: HBASE-17450
> URL: https://issues.apache.org/jira/browse/HBASE-17450
> Project: HBase
>  Issue Type: Bug
>  Components: findbugs
>Reporter: huzheng
>Assignee: huzheng
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-17450.v1.patch
>
>
> below unit test will throws NullPointerException:  
> {code}
> p1 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> p2 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> assertEquals(p1, p2);
> {code}
> this bug was introduced after constructor of TablePermission  for namespace 
> provided. 



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


[jira] [Updated] (HBASE-17450) TablePermission.equals throws NPE after support namespace

2017-01-13 Thread huzheng (JIRA)

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

huzheng updated HBASE-17450:

Status: Patch Available  (was: Open)

> TablePermission.equals throws NPE  after support namespace 
> ---
>
> Key: HBASE-17450
> URL: https://issues.apache.org/jira/browse/HBASE-17450
> Project: HBase
>  Issue Type: Bug
>  Components: findbugs
>Reporter: huzheng
>Assignee: huzheng
> Attachments: HBASE-17450.v1.patch
>
>
> below unit test will throws NullPointerException:  
> {code}
> p1 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> p2 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> assertEquals(p1, p2);
> {code}
> this bug was introduced after constructor of TablePermission  for namespace 
> provided. 



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


[jira] [Commented] (HBASE-17450) TablePermission.equals throws NPE after support namespace

2017-01-13 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17450:
-

I uploaded a patch for fix TablePermission.equals()  first. 

readFields() or writeFields()  fix seems  break compatibility  :( 

> TablePermission.equals throws NPE  after support namespace 
> ---
>
> Key: HBASE-17450
> URL: https://issues.apache.org/jira/browse/HBASE-17450
> Project: HBase
>  Issue Type: Bug
>  Components: findbugs
>Reporter: huzheng
>Assignee: huzheng
> Attachments: HBASE-17450.v1.patch
>
>
> below unit test will throws NullPointerException:  
> {code}
> p1 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> p2 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> assertEquals(p1, p2);
> {code}
> this bug was introduced after constructor of TablePermission  for namespace 
> provided. 



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


[jira] [Updated] (HBASE-17450) TablePermission.equals throws NPE after support namespace

2017-01-13 Thread huzheng (JIRA)

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

huzheng updated HBASE-17450:

Attachment: HBASE-17450.v1.patch

> TablePermission.equals throws NPE  after support namespace 
> ---
>
> Key: HBASE-17450
> URL: https://issues.apache.org/jira/browse/HBASE-17450
> Project: HBase
>  Issue Type: Bug
>  Components: findbugs
>Reporter: huzheng
>Assignee: huzheng
> Attachments: HBASE-17450.v1.patch
>
>
> below unit test will throws NullPointerException:  
> {code}
> p1 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> p2 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> assertEquals(p1, p2);
> {code}
> this bug was introduced after constructor of TablePermission  for namespace 
> provided. 



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


[jira] [Comment Edited] (HBASE-17450) TablePermission.equals throws NPE after support namespace

2017-01-11 Thread huzheng (JIRA)

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

huzheng edited comment on HBASE-17450 at 1/11/17 10:18 AM:
---

Except equals() method, others method (such as readFields(),  write() , ... 
)will throw NPE also . 

I will upload a patch for them.



was (Author: openinx):
Except equals() method, others method (such as readFields(),  write() , ... 
)will throw NPE also . 

I will upload a patch for them.


> TablePermission.equals throws NPE  after support namespace 
> ---
>
> Key: HBASE-17450
> URL: https://issues.apache.org/jira/browse/HBASE-17450
> Project: HBase
>  Issue Type: Bug
>  Components: findbugs
>Reporter: huzheng
>Assignee: huzheng
>
> below unit test will throws NullPointerException:  
> {code}
> p1 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> p2 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> assertEquals(p1, p2);
> {code}
> this bug was introduced after constructor of TablePermission  for namespace 
> provided. 



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


[jira] [Comment Edited] (HBASE-17450) TablePermission.equals throws NPE after support namespace

2017-01-11 Thread huzheng (JIRA)

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

huzheng edited comment on HBASE-17450 at 1/11/17 10:17 AM:
---

Except equals() method, others method (such as readFields(),  write() , ... 
)will throw NPE also . 

I will upload a patch for them.



was (Author: openinx):
Except equals() method, others method (such as readFields(),  write() , ... 
)will throw NPE also . 

Should we fix them ? 


> TablePermission.equals throws NPE  after support namespace 
> ---
>
> Key: HBASE-17450
> URL: https://issues.apache.org/jira/browse/HBASE-17450
> Project: HBase
>  Issue Type: Bug
>  Components: findbugs
>Reporter: huzheng
>Assignee: huzheng
>
> below unit test will throws NullPointerException:  
> {code}
> p1 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> p2 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> assertEquals(p1, p2);
> {code}
> this bug was introduced after constructor of TablePermission  for namespace 
> provided. 



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


[jira] [Commented] (HBASE-17450) TablePermission.equals throws NPE after support namespace

2017-01-11 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17450:
-

Except equals() method, others method (such as readFields(),  write() , ... 
)will throw NPE also . 

Should we fix them ? 


> TablePermission.equals throws NPE  after support namespace 
> ---
>
> Key: HBASE-17450
> URL: https://issues.apache.org/jira/browse/HBASE-17450
> Project: HBase
>  Issue Type: Bug
>  Components: findbugs
>Reporter: huzheng
>Assignee: huzheng
>
> below unit test will throws NullPointerException:  
> {code}
> p1 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> p2 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> assertEquals(p1, p2);
> {code}
> this bug was introduced after constructor of TablePermission  for namespace 
> provided. 



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


[jira] [Updated] (HBASE-17450) TablePermission.equals throws NPE after support namespace

2017-01-11 Thread huzheng (JIRA)

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

huzheng updated HBASE-17450:

Description: 
below unit test will throws NullPointerException:  

{code}
p1 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
p2 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
assertEquals(p1, p2);
{code}

this bug was introduced after constructor of TablePermission  for namespace 
provided. 

  was:
below unit test will throws NullPointerException:  

{code}
p1 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
p2 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
assertEquals(p1, p2);
{code}

this bug was introduced after construct method for namespace provided. 


> TablePermission.equals throws NPE  after support namespace 
> ---
>
> Key: HBASE-17450
> URL: https://issues.apache.org/jira/browse/HBASE-17450
> Project: HBase
>  Issue Type: Bug
>  Components: findbugs
>Reporter: huzheng
>Assignee: huzheng
>
> below unit test will throws NullPointerException:  
> {code}
> p1 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> p2 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
> assertEquals(p1, p2);
> {code}
> this bug was introduced after constructor of TablePermission  for namespace 
> provided. 



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


[jira] [Created] (HBASE-17450) TablePermission.equals throws NPE after support namespace

2017-01-11 Thread huzheng (JIRA)
huzheng created HBASE-17450:
---

 Summary: TablePermission.equals throws NPE  after support 
namespace 
 Key: HBASE-17450
 URL: https://issues.apache.org/jira/browse/HBASE-17450
 Project: HBase
  Issue Type: Bug
  Components: findbugs
Reporter: huzheng
Assignee: huzheng


below unit test will throws NullPointerException:  

{code}
p1 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
p2 = new TablePermission(TEST_NAMESPACE, TablePermission.Action.READ);
assertEquals(p1, p2);
{code}

this bug was introduced after construct method for namespace provided. 



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


[jira] [Updated] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-01-05 Thread huzheng (JIRA)

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

huzheng updated HBASE-17381:

Assignee: huzheng
  Status: Patch Available  (was: Open)

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>Assignee: huzheng
> Attachments: HBASE-17381.patch
>
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Comment Edited] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-01-05 Thread huzheng (JIRA)

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

huzheng edited comment on HBASE-17381 at 1/5/17 2:22 PM:
-

[~ghelmling] I upload a patch to abort region server if OOME occur.  for other 
exception cases,  I throw them (ReplicationSourceWorkerThread exit and region 
server keep running) because it seems hard to make sure  whether  it's 
recoverable case or not .


was (Author: openinx):
[~ghelmling] I upload a patch to abort region server if OOME occur.  for other 
exception cases,  I throw them because it seems hard to make sure  whether  
it's recoverable case or not (ReplicationSourceWorkerThread exit and region 
server keep running).

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
> Attachments: HBASE-17381.patch
>
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Commented] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-01-05 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17381:
-

[~ghelmling] I upload a patch to abort region server if OOME occur.  for other 
exception cases,  I throw them because it seems hard to make sure  whether  
it's recoverable case or not (ReplicationSourceWorkerThread exit and region 
server keep running).

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
> Attachments: HBASE-17381.patch
>
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Updated] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-01-05 Thread huzheng (JIRA)

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

huzheng updated HBASE-17381:

Attachment: HBASE-17381.patch

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
> Attachments: HBASE-17381.patch
>
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Updated] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-01-05 Thread huzheng (JIRA)

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

huzheng updated HBASE-17381:

Status: Open  (was: Patch Available)

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Updated] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-01-05 Thread huzheng (JIRA)

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

huzheng updated HBASE-17381:

Status: Patch Available  (was: Open)

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Comment Edited] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-01-03 Thread huzheng (JIRA)

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

huzheng edited comment on HBASE-17381 at 1/4/17 2:00 AM:
-

Yeah, if OOME occur, we can handle it like region server main thread do : 

{code}
try{
   // ReplicationSourceWorkerThread logic ... 
}catch(Throwable t){
if (checkOOME(t)) {
   abort("Unhandled exception: " + t.getMessage(), t);
}
}
{code}


was (Author: openinx):
Yeah, if OOME occur, we can handle it like region server main thread do : 

{code}
try{
   // ReplicationSourceWorkerThread logic ... 
}catch(Throwable t){
if (!checkOOME(t)) {
   abort("Unhandled exception: " + t.getMessage(), t);
}
}
{code}

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Commented] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-01-03 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17381:
-

The trouble is: we need to list recoverable and un-recoverable cases , and 
handle them in correct way. 

Can we create a patch handle OOME firstly ? 

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Commented] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2017-01-03 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17381:
-

Yeah, if OOME occur, we can handle it like region server main thread do : 

{code}
try{
   // ReplicationSourceWorkerThread logic ... 
}catch(Throwable t){
if (!checkOOME(t)) {
   abort("Unhandled exception: " + t.getMessage(), t);
}
}
{code}

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Commented] (HBASE-17381) ReplicationSourceWorkerThread can die due to unhandled exceptions

2016-12-30 Thread huzheng (JIRA)

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

huzheng commented on HBASE-17381:
-

Hi Gary Helmling,  After check code base,  Abort regionserver  is a solution to 
avoid indefinitely replication queue backup if ReplicationSourceWorkerThread 
crashed, Another way, I think, maybe we can restart 
ReplicationSourceWorkerThread when  unexpected exception occur. 

I think restart ReplicationSourceWorkerThread  for crashed peer seems more 
friendly.  How do you think ?

> ReplicationSourceWorkerThread can die due to unhandled exceptions
> -
>
> Key: HBASE-17381
> URL: https://issues.apache.org/jira/browse/HBASE-17381
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Reporter: Gary Helmling
>
> If a ReplicationSourceWorkerThread encounters an unexpected exception in the 
> run() method (for example failure to allocate direct memory for the DFS 
> client), the exception will be logged by the UncaughtExceptionHandler, but 
> the thread will also die and the replication queue will back up indefinitely 
> until the Regionserver is restarted.
> We should make sure the worker thread is resilient to all exceptions that it 
> can actually handle.  For those that it really can't, it seems better to 
> abort the regionserver rather than just allow replication to stop with 
> minimal signal.
> Here is a sample exception:
> {noformat}
> ERROR regionserver.ReplicationSource: Unexpected exception in 
> ReplicationSourceWorkerThread, 
> currentPath=hdfs://.../hbase/WALs/XXXwalfilenameXXX
> java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:693)
> at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123)
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:96)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:113)
> at 
> org.apache.hadoop.crypto.CryptoOutputStream.(CryptoOutputStream.java:108)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.DataTransferSaslUtil.createStreamPair(DataTransferSaslUtil.java:344)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.doSaslHandshake(SaslDataTransferClient.java:490)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.getSaslStreams(SaslDataTransferClient.java:391)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.send(SaslDataTransferClient.java:263)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.checkTrustAndSend(SaslDataTransferClient.java:211)
> at 
> org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient.peerSend(SaslDataTransferClient.java:160)
> at 
> org.apache.hadoop.hdfs.net.TcpPeerServer.peerFromSocketAndKey(TcpPeerServer.java:92)
> at org.apache.hadoop.hdfs.DFSClient.newConnectedPeer(DFSClient.java:3444)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.nextTcpPeer(BlockReaderFactory.java:778)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.getRemoteBlockReaderFromTcp(BlockReaderFactory.java:695)
> at 
> org.apache.hadoop.hdfs.BlockReaderFactory.build(BlockReaderFactory.java:356)
> at org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:673)
> at 
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:882)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:934)
> at java.io.DataInputStream.read(DataInputStream.java:100)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:308)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:276)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:264)
> at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:423)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationWALReaderManager.openReader(ReplicationWALReaderManager.java:70)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.openReader(ReplicationSource.java:830)
> at 
> org.apache.hadoop.hbase.replication.regionserver.ReplicationSource$ReplicationSourceWorkerThread.run(ReplicationSource.java:572)
> {noformat}



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


[jira] [Assigned] (HBASE-16990) Shell tool to dump table schemas and table privileges

2016-11-07 Thread huzheng (JIRA)

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

huzheng reassigned HBASE-16990:
---

Assignee: huzheng

> Shell tool to dump table schemas and table privileges
> -
>
> Key: HBASE-16990
> URL: https://issues.apache.org/jira/browse/HBASE-16990
> Project: HBase
>  Issue Type: New Feature
>  Components: tooling
>Reporter: huzheng
>Assignee: huzheng
>Priority: Minor
>
> Recently,  we are trying to migrate tables from Cluster-A to Cluster-B,  I 
> found that HBase lack some useful tools :
> 1.  dump table schema,  like mysqldump in mysql
> 2.  dump table privileges,  like pt-show-grants in mysql provided by Percona. 
> I think we can add a dump sub-command looks like (JUST simple demo) : 
> {code}
> $ ./bin/hbase dump  -t test_table  --with-privileges  > ~/test_table.hsh
> $ cat ~/test_table.hsh
> create 'test_table', {NAME=>'f1'} 
> grant 'test_user', 'RW', 'test_table'
> {code}
> Maybe I can contribute ...  :)
> How do you think ?  



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


[jira] [Reopened] (HBASE-16886) hbase-client: scanner with reversed=true and small=true gets no result

2016-11-07 Thread huzheng (JIRA)

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

huzheng reopened HBASE-16886:
-

> hbase-client: scanner with reversed=true and small=true gets no result
> --
>
> Key: HBASE-16886
> URL: https://issues.apache.org/jira/browse/HBASE-16886
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.3.0, 1.4.0, 1.2.3, 1.1.7, 0.98.23
>Reporter: huzheng
>  Labels: patch
> Attachments: 16886.addendum, 16886.v4.branch-1.patch, 
> HBASE-16886.v0.patch, HBASE-16886.v1.patch, HBASE-16886.v2.patch, 
> HBASE-16886.v3.patch, HBASE-16886.v4.0.98.patch, 
> HBASE-16886.v4.branch-1.patch, HBASE-16886.v4.branch-1.patch, 
> HBASE-16886.v4.branch-1.patch, HBASE-16886.v4.master.patch, 
> TestReversedSmallScan.java
>
>
> Assume HBase have four regions (-oo, b), [b, c), [c, d), [d,+oo) , and all 
> rowKeys are located in region [d, +oo).  using a Reversed Small Scanner will 
> get no result.
> Attached file show this failed test case.  



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


[jira] [Updated] (HBASE-16886) hbase-client: scanner with reversed=true and small=true gets no result

2016-11-07 Thread huzheng (JIRA)

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

huzheng updated HBASE-16886:

Resolution: Resolved
Status: Resolved  (was: Patch Available)

> hbase-client: scanner with reversed=true and small=true gets no result
> --
>
> Key: HBASE-16886
> URL: https://issues.apache.org/jira/browse/HBASE-16886
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.3.0, 1.4.0, 1.2.3, 1.1.7, 0.98.23
>Reporter: huzheng
>  Labels: patch
> Attachments: 16886.addendum, 16886.v4.branch-1.patch, 
> HBASE-16886.v0.patch, HBASE-16886.v1.patch, HBASE-16886.v2.patch, 
> HBASE-16886.v3.patch, HBASE-16886.v4.0.98.patch, 
> HBASE-16886.v4.branch-1.patch, HBASE-16886.v4.branch-1.patch, 
> HBASE-16886.v4.branch-1.patch, HBASE-16886.v4.master.patch, 
> TestReversedSmallScan.java
>
>
> Assume HBase have four regions (-oo, b), [b, c), [c, d), [d,+oo) , and all 
> rowKeys are located in region [d, +oo).  using a Reversed Small Scanner will 
> get no result.
> Attached file show this failed test case.  



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


[jira] [Updated] (HBASE-16990) Shell tool to dump table schemas and table privileges

2016-11-02 Thread huzheng (JIRA)

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

huzheng updated HBASE-16990:

Description: 
Recently,  we are trying to migrate tables from Cluster-A to Cluster-B,  I 
found that HBase lack some useful tools :
1.  dump table schema,  like mysqldump in mysql
2.  dump table privileges,  like pt-show-grants in mysql provided by Percona. 

I think we can add a dump sub-command looks like (JUST simple demo) : 

{code}
$ ./bin/hbase dump  -t test_table  --with-privileges  > ~/test_table.hsh

$ cat ~/test_table.hsh
create 'test_table', {NAME=>'f1'} 
grant 'test_user', 'RW', 'test_table'
{code}

Maybe I can contribute ...  :)

How do you think ?  


  was:
Recently,  we are trying to migrate tables from Cluster-A to Cluster-B,  I 
found that HBase lack some useful tools :
1.  dump table schema,  like mysqldump in mysql
2.  dump table privileges,  like pt-show-grants in mysql which is provide by 
Percona. 

I think we can add a dump sub-command looks like (JUST simple demo) : 

{code}
$ ./bin/hbase dump  -t test_table  --with-privileges  > ~/test_table.hsh

$ cat ~/test_table.hsh
create 'test_table', {NAME=>'f1'} 
grant 'test_user', 'RW', 'test_table'
{code}

Maybe I can contribute ...  :)

How do you think ?  



> Shell tool to dump table schemas and table privileges
> -
>
> Key: HBASE-16990
> URL: https://issues.apache.org/jira/browse/HBASE-16990
> Project: HBase
>  Issue Type: New Feature
>  Components: tooling
>Reporter: huzheng
>Priority: Minor
>
> Recently,  we are trying to migrate tables from Cluster-A to Cluster-B,  I 
> found that HBase lack some useful tools :
> 1.  dump table schema,  like mysqldump in mysql
> 2.  dump table privileges,  like pt-show-grants in mysql provided by Percona. 
> I think we can add a dump sub-command looks like (JUST simple demo) : 
> {code}
> $ ./bin/hbase dump  -t test_table  --with-privileges  > ~/test_table.hsh
> $ cat ~/test_table.hsh
> create 'test_table', {NAME=>'f1'} 
> grant 'test_user', 'RW', 'test_table'
> {code}
> Maybe I can contribute ...  :)
> How do you think ?  



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


[jira] [Created] (HBASE-16990) Shell tool to dump table schemas and table privileges

2016-11-02 Thread huzheng (JIRA)
huzheng created HBASE-16990:
---

 Summary: Shell tool to dump table schemas and table privileges
 Key: HBASE-16990
 URL: https://issues.apache.org/jira/browse/HBASE-16990
 Project: HBase
  Issue Type: New Feature
  Components: tooling
Reporter: huzheng
Priority: Minor


Recently,  we are trying to migrate tables from Cluster-A to Cluster-B,  I 
found that HBase lack some useful tools :
1.  dump table schema,  like mysqldump in mysql
2.  dump table privileges,  like pt-show-grants in mysql which is provide by 
Percona. 

I think we can add a dump sub-command looks like (JUST simple demo) : 

{code}
$ ./bin/hbase dump  -t test_table  --with-privileges  > ~/test_table.hsh

$ cat ~/test_table.hsh
create 'test_table', {NAME=>'f1'} 
grant 'test_user', 'RW', 'test_table'
{code}

Maybe I can contribute ...  :)

How do you think ?  




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


[jira] [Commented] (HBASE-16886) hbase-client: scanner with reversed=true and small=true gets no result

2016-10-27 Thread huzheng (JIRA)

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

huzheng commented on HBASE-16886:
-

Fine , thanks.

> hbase-client: scanner with reversed=true and small=true gets no result
> --
>
> Key: HBASE-16886
> URL: https://issues.apache.org/jira/browse/HBASE-16886
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.3.0, 1.4.0, 1.2.3, 1.1.7, 0.98.23
>Reporter: huzheng
>  Labels: patch
> Attachments: 16886.addendum, 16886.v4.branch-1.patch, 
> HBASE-16886.v0.patch, HBASE-16886.v1.patch, HBASE-16886.v2.patch, 
> HBASE-16886.v3.patch, HBASE-16886.v4.0.98.patch, 
> HBASE-16886.v4.branch-1.patch, HBASE-16886.v4.branch-1.patch, 
> HBASE-16886.v4.branch-1.patch, HBASE-16886.v4.master.patch, 
> TestReversedSmallScan.java
>
>
> Assume HBase have four regions (-oo, b), [b, c), [c, d), [d,+oo) , and all 
> rowKeys are located in region [d, +oo).  using a Reversed Small Scanner will 
> get no result.
> Attached file show this failed test case.  



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


[jira] [Commented] (HBASE-16886) hbase-client: scanner with reversed=true and small=true gets no result

2016-10-27 Thread huzheng (JIRA)

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

huzheng commented on HBASE-16886:
-

Thanks for reviewing and commiting. 

Can I update the issue to be Resolved ? 

> hbase-client: scanner with reversed=true and small=true gets no result
> --
>
> Key: HBASE-16886
> URL: https://issues.apache.org/jira/browse/HBASE-16886
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.3.0, 1.4.0, 1.2.3, 1.1.7, 0.98.23
>Reporter: huzheng
>  Labels: patch
> Attachments: 16886.addendum, 16886.v4.branch-1.patch, 
> HBASE-16886.v0.patch, HBASE-16886.v1.patch, HBASE-16886.v2.patch, 
> HBASE-16886.v3.patch, HBASE-16886.v4.0.98.patch, 
> HBASE-16886.v4.branch-1.patch, HBASE-16886.v4.branch-1.patch, 
> HBASE-16886.v4.branch-1.patch, HBASE-16886.v4.master.patch, 
> TestReversedSmallScan.java
>
>
> Assume HBase have four regions (-oo, b), [b, c), [c, d), [d,+oo) , and all 
> rowKeys are located in region [d, +oo).  using a Reversed Small Scanner will 
> get no result.
> Attached file show this failed test case.  



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


[jira] [Commented] (HBASE-16886) hbase-client: scanner with reversed=true and small=true gets no result

2016-10-27 Thread huzheng (JIRA)

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

huzheng commented on HBASE-16886:
-

Thanks very much. -:)

> hbase-client: scanner with reversed=true and small=true gets no result
> --
>
> Key: HBASE-16886
> URL: https://issues.apache.org/jira/browse/HBASE-16886
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.3.0, 1.4.0, 1.2.3, 1.1.7, 0.98.23
>Reporter: huzheng
>  Labels: patch
> Attachments: 16886.v4.branch-1.patch, HBASE-16886.v0.patch, 
> HBASE-16886.v1.patch, HBASE-16886.v2.patch, HBASE-16886.v3.patch, 
> HBASE-16886.v4.0.98.patch, HBASE-16886.v4.branch-1.patch, 
> HBASE-16886.v4.branch-1.patch, HBASE-16886.v4.branch-1.patch, 
> HBASE-16886.v4.master.patch, TestReversedSmallScan.java
>
>
> Assume HBase have four regions (-oo, b), [b, c), [c, d), [d,+oo) , and all 
> rowKeys are located in region [d, +oo).  using a Reversed Small Scanner will 
> get no result.
> Attached file show this failed test case.  



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


[jira] [Commented] (HBASE-16886) hbase-client: scanner with reversed=true and small=true gets no result

2016-10-27 Thread huzheng (JIRA)

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

huzheng commented on HBASE-16886:
-

Hi, [~tedyu] all unit test seems passed.  

TestMultiTableSnapshotInputFormat  test  is OK in my desktop,  and the failed 
cause of Hadoop QA is :

{code}
java.io.IOException: Unable to create region directory: 
/tmp/scantest2_snapshot__043a17e4-3572-4aea-9bcb-330edecd5a39/data/default/scantest2/1bbfd104c261fc1d4677d66728299f51
{code} 

after checked the code files,  it seems nothing to do with this patch.   but 
this ut case is unstable . Any advise ? 

Thanks. 




> hbase-client: scanner with reversed=true and small=true gets no result
> --
>
> Key: HBASE-16886
> URL: https://issues.apache.org/jira/browse/HBASE-16886
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.3.0, 1.4.0, 1.2.3, 1.1.7, 0.98.23
>Reporter: huzheng
>  Labels: patch
> Attachments: 16886.v4.branch-1.patch, HBASE-16886.v0.patch, 
> HBASE-16886.v1.patch, HBASE-16886.v2.patch, HBASE-16886.v3.patch, 
> HBASE-16886.v4.0.98.patch, HBASE-16886.v4.branch-1.patch, 
> HBASE-16886.v4.branch-1.patch, HBASE-16886.v4.branch-1.patch, 
> HBASE-16886.v4.master.patch, TestReversedSmallScan.java
>
>
> Assume HBase have four regions (-oo, b), [b, c), [c, d), [d,+oo) , and all 
> rowKeys are located in region [d, +oo).  using a Reversed Small Scanner will 
> get no result.
> Attached file show this failed test case.  



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


[jira] [Updated] (HBASE-16886) hbase-client: scanner with reversed=true and small=true gets no result

2016-10-26 Thread huzheng (JIRA)

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

huzheng updated HBASE-16886:

Attachment: HBASE-16886.v4.branch-1.patch

> hbase-client: scanner with reversed=true and small=true gets no result
> --
>
> Key: HBASE-16886
> URL: https://issues.apache.org/jira/browse/HBASE-16886
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0, 1.3.0, 1.4.0, 1.2.3, 1.1.7, 0.98.23
>Reporter: huzheng
>  Labels: patch
> Attachments: 16886.v4.branch-1.patch, HBASE-16886.v0.patch, 
> HBASE-16886.v1.patch, HBASE-16886.v2.patch, HBASE-16886.v3.patch, 
> HBASE-16886.v4.0.98.patch, HBASE-16886.v4.branch-1.patch, 
> HBASE-16886.v4.branch-1.patch, HBASE-16886.v4.branch-1.patch, 
> HBASE-16886.v4.master.patch, TestReversedSmallScan.java
>
>
> Assume HBase have four regions (-oo, b), [b, c), [c, d), [d,+oo) , and all 
> rowKeys are located in region [d, +oo).  using a Reversed Small Scanner will 
> get no result.
> Attached file show this failed test case.  



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


  1   2   >