[jira] [Commented] (HBASE-12431) Use of getColumnLatestCell(byte[], int, int, byte[], int, int) is Not Thread Safe

2014-12-04 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234004#comment-14234004
 ] 

Hudson commented on HBASE-12431:


SUCCESS: Integrated in HBase-TRUNK #5865 (See 
[https://builds.apache.org/job/HBase-TRUNK/5865/])
HBASE-12431 Use of getColumnLatestCell(byte[], int, int, byte[], int, int) is 
Not Thread Safe (Jingcheng Du) (stack: rev 
c45772e76a581838ea89ff303d0ff67ceaa82845)
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/Result.java


 Use of getColumnLatestCell(byte[], int, int, byte[], int, int) is Not Thread 
 Safe
 -

 Key: HBASE-12431
 URL: https://issues.apache.org/jira/browse/HBASE-12431
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 0.98.1
Reporter: Jonathan Jarvis
Assignee: Jingcheng Du
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12431-V2.diff, HBASE-12431-V3.diff, 
 HBASE-12431.diff


 Result declares that it is NOT THREAD SAFE at the top of the source code, but 
 one would assume that refers to many different threads accessing the same 
 Result object. I've run into an issue when I have several different threads 
 accessing their own Result object that runs into an issue because of use of 
 common static member variable.
 I noticed the problem when I switched from:
 getColumnLatestCell(byte[], byte[]) to
 getColumnLatestCell(byte[], int, int, byte[], int, int)
 These methods call different binarySearch methods, the latter invoking:
 protected int  binarySearch(final Cell [] kvs,
 309  final byte [] family, final int foffset, final int flength,
 310  final byte [] qualifier, final int qoffset, final int qlength) {
 This method utilizes a private static member variable called buffer
 If more than one thread is utilizing buffer you'll see unpredictable 
 behavior unless you synchronize(Result.class) {}.
 If buffer is to remain a static variable, I would recommend changing it to a 
 ThreadLocalbyte[] instead.



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


[jira] [Commented] (HBASE-12431) Use of getColumnLatestCell(byte[], int, int, byte[], int, int) is Not Thread Safe

2014-12-04 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234043#comment-14234043
 ] 

Hudson commented on HBASE-12431:


FAILURE: Integrated in HBase-0.98 #715 (See 
[https://builds.apache.org/job/HBase-0.98/715/])
HBASE-12431 Use of getColumnLatestCell(byte[], int, int, byte[], int, int) is 
Not Thread Safe (Jingcheng Du) (stack: rev 
769f93ff07940e92ff6b6653fb53357bc99c8966)
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/Result.java


 Use of getColumnLatestCell(byte[], int, int, byte[], int, int) is Not Thread 
 Safe
 -

 Key: HBASE-12431
 URL: https://issues.apache.org/jira/browse/HBASE-12431
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 0.98.1
Reporter: Jonathan Jarvis
Assignee: Jingcheng Du
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12431-V2.diff, HBASE-12431-V3.diff, 
 HBASE-12431.diff


 Result declares that it is NOT THREAD SAFE at the top of the source code, but 
 one would assume that refers to many different threads accessing the same 
 Result object. I've run into an issue when I have several different threads 
 accessing their own Result object that runs into an issue because of use of 
 common static member variable.
 I noticed the problem when I switched from:
 getColumnLatestCell(byte[], byte[]) to
 getColumnLatestCell(byte[], int, int, byte[], int, int)
 These methods call different binarySearch methods, the latter invoking:
 protected int  binarySearch(final Cell [] kvs,
 309  final byte [] family, final int foffset, final int flength,
 310  final byte [] qualifier, final int qoffset, final int qlength) {
 This method utilizes a private static member variable called buffer
 If more than one thread is utilizing buffer you'll see unpredictable 
 behavior unless you synchronize(Result.class) {}.
 If buffer is to remain a static variable, I would recommend changing it to a 
 ThreadLocalbyte[] instead.



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


[jira] [Updated] (HBASE-11861) Native MOB Compaction mechanisms.

2014-12-04 Thread Jingcheng Du (JIRA)

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

Jingcheng Du updated HBASE-11861:
-
Attachment: mob compaction.pdf

Upload the high level design for the mob compaction.
Hi all, please review and comment. Thanks a lot!

 Native MOB Compaction mechanisms.
 -

 Key: HBASE-11861
 URL: https://issues.apache.org/jira/browse/HBASE-11861
 Project: HBase
  Issue Type: Sub-task
  Components: regionserver, Scanners
Affects Versions: 2.0.0
Reporter: Jonathan Hsieh
 Attachments: 141030-mob-compaction.pdf, mob compaction.pdf


 Currently, the first cut of mob will have external processes to age off old 
 mob data (the ttl cleaner), and to compact away deleted or over written data 
 (the sweep tool).  
 From an operational point of view, having two external tools, especially one 
 that relies on MapReduce is undesirable.  In this issue we'll tackle 
 integrating these into hbase without requiring external processes.



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


[jira] [Commented] (HBASE-12611) Create autoCommit() method and remove clearBufferOnFail

2014-12-04 Thread Nicolas Liochon (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234055#comment-14234055
 ] 

Nicolas Liochon commented on HBASE-12611:
-

bq.  stack and Nick Dimiduk came to the conclusion that the flush method should 
be called autoCommit() similar to the SQL APIs.
Sorry for beeing late in the game. The meaning in SQL is slightly different. In 
jdbc, whatever the value for autoCommit, the query will be sent to be server 
and executed. autocommit is set to false if the client application wants to 
send multiple queries within a single transaction (and then it will do a 
begin/commit explicitly). I haven't double checked if it's the standard or an 
implementation detail (the docs are not very clear), but it's unlikely to 
change anyway: there is another set of methods for batches in jdbc.
Our old autoFlush is different as it impacts the client behavior. I think we're 
creating a confusion here. Moreover, if we add transactions between rows in the 
future, then may be we will want to use autoCommit for what it really is. As 
I'm very late here I leave the decision to you, but we should at least be clear 
in the javadoc imho.

bq. Do we also want to change the default with this patch?
I like the fact that HBase its secure by default and it would be very confusing 
for the users as well imho.

{code}
-  public boolean isAutoFlush() {
-return autoFlush;
+  public boolean getAutoCommit() {
+return autoCommit;
{code}
If I'm not wrong we use 'is' for getters on boolean?



 Create autoCommit() method and remove clearBufferOnFail
 ---

 Key: HBASE-12611
 URL: https://issues.apache.org/jira/browse/HBASE-12611
 Project: HBase
  Issue Type: Bug
Affects Versions: 2.0.0, 0.99.2
Reporter: Solomon Duskis
Assignee: Solomon Duskis
 Fix For: 1.0.0

 Attachments: HBASE-12611.patch


 There was quite a bit of good discussion on HBASE-12490 about this topic.  
 [~stack] and [~ndimiduk] came to the conclusion that the flush method should 
 be called autoCommit() similar to the SQL APIs.   [~ndimiduk]  also suggested 
 that clearBufferOnFail should be removed from HTable.



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


[jira] [Commented] (HBASE-12431) Use of getColumnLatestCell(byte[], int, int, byte[], int, int) is Not Thread Safe

2014-12-04 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234060#comment-14234060
 ] 

Hudson commented on HBASE-12431:


FAILURE: Integrated in HBase-0.98-on-Hadoop-1.1 #682 (See 
[https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/682/])
HBASE-12431 Use of getColumnLatestCell(byte[], int, int, byte[], int, int) is 
Not Thread Safe (Jingcheng Du) (stack: rev 
769f93ff07940e92ff6b6653fb53357bc99c8966)
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/Result.java


 Use of getColumnLatestCell(byte[], int, int, byte[], int, int) is Not Thread 
 Safe
 -

 Key: HBASE-12431
 URL: https://issues.apache.org/jira/browse/HBASE-12431
 Project: HBase
  Issue Type: Bug
  Components: Client
Affects Versions: 0.98.1
Reporter: Jonathan Jarvis
Assignee: Jingcheng Du
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12431-V2.diff, HBASE-12431-V3.diff, 
 HBASE-12431.diff


 Result declares that it is NOT THREAD SAFE at the top of the source code, but 
 one would assume that refers to many different threads accessing the same 
 Result object. I've run into an issue when I have several different threads 
 accessing their own Result object that runs into an issue because of use of 
 common static member variable.
 I noticed the problem when I switched from:
 getColumnLatestCell(byte[], byte[]) to
 getColumnLatestCell(byte[], int, int, byte[], int, int)
 These methods call different binarySearch methods, the latter invoking:
 protected int  binarySearch(final Cell [] kvs,
 309  final byte [] family, final int foffset, final int flength,
 310  final byte [] qualifier, final int qoffset, final int qlength) {
 This method utilizes a private static member variable called buffer
 If more than one thread is utilizing buffer you'll see unpredictable 
 behavior unless you synchronize(Result.class) {}.
 If buffer is to remain a static variable, I would recommend changing it to a 
 ThreadLocalbyte[] instead.



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


[jira] [Updated] (HBASE-12597) Add RpcClient interface and enable changing of RpcClient implementation

2014-12-04 Thread Jurriaan Mous (JIRA)

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

Jurriaan Mous updated HBASE-12597:
--
Attachment: HBASE-12597-v4.patch

New patch

- Moved the static constants to RpcClient interface. They are indeed pretty 
generic and I use them too in my implementation.
- RpcClient extends Closeable now and stop method is now called close()
- Moved out Call class from RpcClientImpl. I didn't use it in my async 
implementation, but maybe others can use it in another sync implementation.

bq.  Ditto Connection. If so, np. I suppose an RpcClient has a Connection? A 
single Connection? Or this is implementation detail? Or I supopse it is not... 
protocol is all around Connections. If so, how you doing this over in your 
client?

Connection is not a static class and is tightly linked into RpcClientImpl. It 
uses the socket factory and creates sockets which are pretty much tied into 
RpcClientImpl its implementation. In many ways it is the implementation of 
RpcClient. I had to create something new in my implementation based on Netty 
Channels. Maybe something reusable can be abstracted out of it to also simplify 
how I implemented it but I think that falls outside the scope of this issue. 
CallFuture is pretty small and a private static class. It is used in the 
internal queue. I couldn't use it for my implementation.
BlockingRpcChannelImplementation links to the call method in RpcClientImpl 
which is currently not in the RpcClient interface. And I would not like it to 
be in there since PayloadCarryingRpcController is currently not reusable in 
async context. Could be with some changes but I think they need some 
discussion, but somehow I think it is better to leave RpcClient as clean as 
possible so RpcClients can try out new things like doing without an 
PayloadCarryingRpcController.

bq. I beileve Anoop Sam John is refering to the 'release note' attribute of 
this here JIRA.

Ah I see. 

 Add RpcClient interface and enable changing of RpcClient implementation
 ---

 Key: HBASE-12597
 URL: https://issues.apache.org/jira/browse/HBASE-12597
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
 Attachments: HBASE-12597-v1.patch, HBASE-12597-v2.patch, 
 HBASE-12597-v3.patch, HBASE-12597-v4.patch, HBASE-12597.patch


 Currently HConnectionImplementation works with the included RpcClient which 
 is a direct implementation and not defined by an interface.
 It would be great to be able to swap out the default RpcClient with another 
 implementation which can also be controlled by the default 
 HConnectionImplementation. 
 Suggested changes:
 - Create a RpcClient interface which defines all the ways 
 HConnectionImplementation interacts with an RPC client. Like getting a 
 blocking protobuf service interface or closing the client.
 - Define which RpcClient implementation to construct by setting a 
 configuration variable which defaults to the current RpcClient.
 - Possibly create an abstract RpcClient class to only load all the basic Rpc 
 layer configurations to be used in an implementation.
 Why? It enables experimentation with RpcClients which could enable new 
 features or could be more performant than the included client. 
 I created a new RpcClient implementation based on Netty which can also be 
 called asynchronously. It would be great to also be able to use this 
 RpcClient in all the default ways and tests to see if there are any issues 
 with it. 
 https://github.com/jurmous/async-hbase-client/
 https://github.com/jurmous/async-hbase-client/blob/master/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcClient.java



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


[jira] [Updated] (HBASE-12634) Fix the AccessController#requireGlobalPermission(ns) with NS

2014-12-04 Thread Ashish Singhi (JIRA)

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

Ashish Singhi updated HBASE-12634:
--
Attachment: HBASE-12634-v3.patch

Changed the authorization api in preCreateNamespace api in v3 patch.
As authorizing a user with admin rights for a non existing namespace was not 
correct. 

  Fix the AccessController#requireGlobalPermission(ns) with NS
 -

 Key: HBASE-12634
 URL: https://issues.apache.org/jira/browse/HBASE-12634
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 0.98.8
Reporter: Ashish Singhi
Assignee: Ashish Singhi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12634-v2.patch, HBASE-12634-v3.patch, 
 HBASE-12634.patch


 The namespace argument passed to AccessController#requireGlobalPermission API 
 to authorize namespace is actually not authorizing it.



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


[jira] [Commented] (HBASE-12634) Fix the AccessController#requireGlobalPermission(ns) with NS

2014-12-04 Thread Ashish Singhi (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234105#comment-14234105
 ] 

Ashish Singhi commented on HBASE-12634:
---

Please review the v3 patch and share your comments.

  Fix the AccessController#requireGlobalPermission(ns) with NS
 -

 Key: HBASE-12634
 URL: https://issues.apache.org/jira/browse/HBASE-12634
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 0.98.8
Reporter: Ashish Singhi
Assignee: Ashish Singhi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12634-v2.patch, HBASE-12634-v3.patch, 
 HBASE-12634.patch


 The namespace argument passed to AccessController#requireGlobalPermission API 
 to authorize namespace is actually not authorizing it.



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


[jira] [Commented] (HBASE-12634) Fix the AccessController#requireGlobalPermission(ns) with NS

2014-12-04 Thread Matteo Bertozzi (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234111#comment-14234111
 ] 

Matteo Bertozzi commented on HBASE-12634:
-

+1 v3 looks good to me

  Fix the AccessController#requireGlobalPermission(ns) with NS
 -

 Key: HBASE-12634
 URL: https://issues.apache.org/jira/browse/HBASE-12634
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 0.98.8
Reporter: Ashish Singhi
Assignee: Ashish Singhi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12634-v2.patch, HBASE-12634-v3.patch, 
 HBASE-12634.patch


 The namespace argument passed to AccessController#requireGlobalPermission API 
 to authorize namespace is actually not authorizing it.



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


[jira] [Updated] (HBASE-10201) Port 'Make flush decisions per column family' to trunk

2014-12-04 Thread zhangduo (JIRA)

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

zhangduo updated HBASE-10201:
-
Attachment: HBASE-10201_13.patch

Use a FlushPolicy instead of 
hbase.hregion.memstore.percolumnfamilyflush.enabled config.

I'm not good at naming things, and may break some rules when add the policy. So 
just point out if you have a better name of the policy and anything that you 
think is wrong in this patch. I will fix it as soon as possible.

Thanks.

 Port 'Make flush decisions per column family' to trunk
 --

 Key: HBASE-10201
 URL: https://issues.apache.org/jira/browse/HBASE-10201
 Project: HBase
  Issue Type: Improvement
  Components: wal
Reporter: Ted Yu
Assignee: zhangduo
Priority: Critical
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: 3149-trunk-v1.txt, HBASE-10201-0.98.patch, 
 HBASE-10201-0.98_1.patch, HBASE-10201-0.98_2.patch, HBASE-10201-0.99.patch, 
 HBASE-10201.patch, HBASE-10201_1.patch, HBASE-10201_10.patch, 
 HBASE-10201_11.patch, HBASE-10201_12.patch, HBASE-10201_13.patch, 
 HBASE-10201_2.patch, HBASE-10201_3.patch, HBASE-10201_4.patch, 
 HBASE-10201_5.patch, HBASE-10201_6.patch, HBASE-10201_7.patch, 
 HBASE-10201_8.patch, HBASE-10201_9.patch


 Currently the flush decision is made using the aggregate size of all column 
 families. When large and small column families co-exist, this causes many 
 small flushes of the smaller CF. We need to make per-CF flush decisions.



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


[jira] [Created] (HBASE-12635) Delete acl notify znode of table after the table is deleted

2014-12-04 Thread Liu Shaohui (JIRA)
Liu Shaohui created HBASE-12635:
---

 Summary: Delete acl notify znode of table after the table is 
deleted
 Key: HBASE-12635
 URL: https://issues.apache.org/jira/browse/HBASE-12635
 Project: HBase
  Issue Type: Bug
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor


In our multi-tenant hbase cluster, we found that there are over 1M znodes under 
the acl node. The reason is that users create and delete tables with different 
names frequently.  The acl notify znode are left there after the tables are 
deleted.

Simple solution is that deleting acl notify znode of table in AccessController 
when deleting the table.




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


[jira] [Updated] (HBASE-12635) Delete acl notify znode of table after the table is deleted

2014-12-04 Thread Liu Shaohui (JIRA)

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

Liu Shaohui updated HBASE-12635:

Attachment: HBASE-12635-v1.diff

Patch for trunk.

 Delete acl notify znode of table after the table is deleted
 ---

 Key: HBASE-12635
 URL: https://issues.apache.org/jira/browse/HBASE-12635
 Project: HBase
  Issue Type: Bug
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Attachments: HBASE-12635-v1.diff


 In our multi-tenant hbase cluster, we found that there are over 1M znodes 
 under the acl node. The reason is that users create and delete tables with 
 different names frequently.  The acl notify znode are left there after the 
 tables are deleted.
 Simple solution is that deleting acl notify znode of table in 
 AccessController when deleting the table.



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


[jira] [Updated] (HBASE-12635) Delete acl notify znode of table after the table is deleted

2014-12-04 Thread Liu Shaohui (JIRA)

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

Liu Shaohui updated HBASE-12635:

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

 Delete acl notify znode of table after the table is deleted
 ---

 Key: HBASE-12635
 URL: https://issues.apache.org/jira/browse/HBASE-12635
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.98.6, 0.94.11
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Fix For: 2.0.0

 Attachments: HBASE-12635-v1.diff


 In our multi-tenant hbase cluster, we found that there are over 1M znodes 
 under the acl node. The reason is that users create and delete tables with 
 different names frequently.  The acl notify znode are left there after the 
 tables are deleted.
 Simple solution is that deleting acl notify znode of table in 
 AccessController when deleting the table.



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


[jira] [Commented] (HBASE-12634) Fix the AccessController#requireGlobalPermission(ns) with NS

2014-12-04 Thread Anoop Sam John (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234166#comment-14234166
 ] 

Anoop Sam John commented on HBASE-12634:


+1 for  V3 

  Fix the AccessController#requireGlobalPermission(ns) with NS
 -

 Key: HBASE-12634
 URL: https://issues.apache.org/jira/browse/HBASE-12634
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 0.98.8
Reporter: Ashish Singhi
Assignee: Ashish Singhi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12634-v2.patch, HBASE-12634-v3.patch, 
 HBASE-12634.patch


 The namespace argument passed to AccessController#requireGlobalPermission API 
 to authorize namespace is actually not authorizing it.



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


[jira] [Commented] (HBASE-12622) user_permission should require global admin to display global and ns permissions

2014-12-04 Thread Anoop Sam John (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234167#comment-14234167
 ] 

Anoop Sam John commented on HBASE-12622:


+1 for this patch after HBASE-12634  goes in.

 user_permission should require global admin to display global and ns 
 permissions
 

 Key: HBASE-12622
 URL: https://issues.apache.org/jira/browse/HBASE-12622
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 2.0.0, 0.98.8, 0.99.2
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12622-v0.patch


 user_permission check the user permission only on the table level (requiring 
 at least a table-level admin)
 global and namespace permission listing is done without checking anything.
 but only a global admins should be able to perform this operations.



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


[jira] [Commented] (HBASE-12622) user_permission should require global admin to display global and ns permissions

2014-12-04 Thread Ashish Singhi (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234170#comment-14234170
 ] 

Ashish Singhi commented on HBASE-12622:
---

[~mbertozzi] can we move the test to TestNamespaceCommands, as all the 
namespace related test are available there and also we can validate for the 
user with admin rights on namespace is allowed to execute user_permission.?

 user_permission should require global admin to display global and ns 
 permissions
 

 Key: HBASE-12622
 URL: https://issues.apache.org/jira/browse/HBASE-12622
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 2.0.0, 0.98.8, 0.99.2
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12622-v0.patch


 user_permission check the user permission only on the table level (requiring 
 at least a table-level admin)
 global and namespace permission listing is done without checking anything.
 but only a global admins should be able to perform this operations.



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


[jira] [Created] (HBASE-12636) Avoid too many write operations on zookeeper in replication

2014-12-04 Thread Liu Shaohui (JIRA)
Liu Shaohui created HBASE-12636:
---

 Summary: Avoid too many write operations on zookeeper in 
replication
 Key: HBASE-12636
 URL: https://issues.apache.org/jira/browse/HBASE-12636
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.94.11
Reporter: Liu Shaohui
Assignee: Liu Shaohui
 Fix For: 1.0.0


In our production cluster, we found there are about over 1k write operations 
per second on zookeeper from hbase replication. The reason is that the 
replication source will write the log position to zookeeper for every edit 
shipping. If the current replicating WAL is just the WAL that regionserver is 
writing to,  each skipping will be very small but the frequency is very high, 
which causes many write operations on zookeeper.

A simple solution is that writing log position to zookeeper when position diff 
or skipped edit number is larger than a threshold, not every  edit shipping.

Suggestions are welcomed, thx~





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


[jira] [Updated] (HBASE-12564) consolidate the getTableDescriptors() semantic

2014-12-04 Thread Matteo Bertozzi (JIRA)

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

Matteo Bertozzi updated HBASE-12564:

Attachment: HBASE-12564-v2.patch

 consolidate the getTableDescriptors() semantic
 --

 Key: HBASE-12564
 URL: https://issues.apache.org/jira/browse/HBASE-12564
 Project: HBase
  Issue Type: Bug
  Components: Client, master
Affects Versions: 2.0.0
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
Priority: Minor
 Fix For: 2.0.0

 Attachments: HBASE-12564-v0.patch, HBASE-12564-v1.patch, 
 HBASE-12564-v2.patch


 Master getTableDescriptors() which is called by Admin.listTables() has a 
 couple of different behaviors depending on how it is called. 
 after HBASE-12073 with the AccessController enabled, we now get a global 
 admin required if listTables() is called without a regex otherwise we return 
 only the table that the user can see (we show only the tables that the user 
 have access to, which means or the user is a global admin or it has a 
 table-level create/admin). We probably should have the second behavior even 
 without regex, since I should able to see my own tables. 
 getTableDescriptors() is returning only non system tables. Tools like 
 user_permission that are doing for each listTable(): userPerm(table) are 
 losing the system tables, so stuff like user_permission 'hbase:acls' will not 
 result any result.  



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


[jira] [Commented] (HBASE-12635) Delete acl notify znode of table after the table is deleted

2014-12-04 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234181#comment-14234181
 ] 

ramkrishna.s.vasudevan commented on HBASE-12635:


+1

 Delete acl notify znode of table after the table is deleted
 ---

 Key: HBASE-12635
 URL: https://issues.apache.org/jira/browse/HBASE-12635
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.94.11, 0.98.6
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Fix For: 2.0.0

 Attachments: HBASE-12635-v1.diff


 In our multi-tenant hbase cluster, we found that there are over 1M znodes 
 under the acl node. The reason is that users create and delete tables with 
 different names frequently.  The acl notify znode are left there after the 
 tables are deleted.
 Simple solution is that deleting acl notify znode of table in 
 AccessController when deleting the table.



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


[jira] [Updated] (HBASE-12636) Avoid too many write operations on zookeeper in replication

2014-12-04 Thread Liu Shaohui (JIRA)

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

Liu Shaohui updated HBASE-12636:

Attachment: HBASE-12636-v1.diff

Patch for trunk

 Avoid too many write operations on zookeeper in replication
 ---

 Key: HBASE-12636
 URL: https://issues.apache.org/jira/browse/HBASE-12636
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.94.11
Reporter: Liu Shaohui
Assignee: Liu Shaohui
  Labels: replication
 Fix For: 1.0.0

 Attachments: HBASE-12636-v1.diff


 In our production cluster, we found there are about over 1k write operations 
 per second on zookeeper from hbase replication. The reason is that the 
 replication source will write the log position to zookeeper for every edit 
 shipping. If the current replicating WAL is just the WAL that regionserver is 
 writing to,  each skipping will be very small but the frequency is very high, 
 which causes many write operations on zookeeper.
 A simple solution is that writing log position to zookeeper when position 
 diff or skipped edit number is larger than a threshold, not every  edit 
 shipping.
 Suggestions are welcomed, thx~



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


[jira] [Commented] (HBASE-12204) Backport HBASE-12016 'Reduce number of versions in Meta table. Make it configurable' to branch-1

2014-12-04 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234270#comment-14234270
 ] 

Ted Yu commented on HBASE-12204:


Since hbase 1.0 RC is coming out soon, I think we should adopt the approach 
which is used in 0.98
That way, we can close the feature gap between 0.98 and 1.0

 Backport HBASE-12016 'Reduce number of versions in Meta table. Make it 
 configurable' to branch-1
 

 Key: HBASE-12204
 URL: https://issues.apache.org/jira/browse/HBASE-12204
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Andrey Stepachev
Priority: Minor

 The patch from HBASE-12016 doesn't apply to branch-1 due to the fact that 
 HBASE-7767 was applied to master only.
 This JIRA is to backport HBASE-12016 to branch-1.
 This can be done when HBASE-12035 is resolved and branch-1 is brought to 
 parity with master.



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


[jira] [Commented] (HBASE-12634) Fix the AccessController#requireGlobalPermission(ns) with NS

2014-12-04 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234302#comment-14234302
 ] 

Hadoop QA commented on HBASE-12634:
---

{color:green}+1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12685094/HBASE-12634-v3.patch
  against master branch at commit c45772e76a581838ea89ff303d0ff67ceaa82845.
  ATTACHMENT ID: 12685094

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 4 new 
or modified tests.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}.  The applied patch does not increase the 
total number of checkstyle errors

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11933//console

This message is automatically generated.

  Fix the AccessController#requireGlobalPermission(ns) with NS
 -

 Key: HBASE-12634
 URL: https://issues.apache.org/jira/browse/HBASE-12634
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 0.98.8
Reporter: Ashish Singhi
Assignee: Ashish Singhi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12634-v2.patch, HBASE-12634-v3.patch, 
 HBASE-12634.patch


 The namespace argument passed to AccessController#requireGlobalPermission API 
 to authorize namespace is actually not authorizing it.



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


[jira] [Updated] (HBASE-12634) Fix the AccessController#requireGlobalPermission(ns) with NS

2014-12-04 Thread Matteo Bertozzi (JIRA)

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

Matteo Bertozzi updated HBASE-12634:

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

  Fix the AccessController#requireGlobalPermission(ns) with NS
 -

 Key: HBASE-12634
 URL: https://issues.apache.org/jira/browse/HBASE-12634
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 0.98.8
Reporter: Ashish Singhi
Assignee: Ashish Singhi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12634-v2.patch, HBASE-12634-v3.patch, 
 HBASE-12634.patch


 The namespace argument passed to AccessController#requireGlobalPermission API 
 to authorize namespace is actually not authorizing it.



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


[jira] [Updated] (HBASE-12622) user_permission should require global admin to display global and ns permissions

2014-12-04 Thread Matteo Bertozzi (JIRA)

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

Matteo Bertozzi updated HBASE-12622:

Attachment: HBASE-12622-v1.patch

 user_permission should require global admin to display global and ns 
 permissions
 

 Key: HBASE-12622
 URL: https://issues.apache.org/jira/browse/HBASE-12622
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 2.0.0, 0.98.8, 0.99.2
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12622-v0.patch, HBASE-12622-v1.patch


 user_permission check the user permission only on the table level (requiring 
 at least a table-level admin)
 global and namespace permission listing is done without checking anything.
 but only a global admins should be able to perform this operations.



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


[jira] [Commented] (HBASE-12634) Fix the AccessController#requireGlobalPermission(ns) with NS

2014-12-04 Thread Ashish Singhi (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234306#comment-14234306
 ] 

Ashish Singhi commented on HBASE-12634:
---

Thanks guys for the review and Matteo for the commit.

  Fix the AccessController#requireGlobalPermission(ns) with NS
 -

 Key: HBASE-12634
 URL: https://issues.apache.org/jira/browse/HBASE-12634
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 0.98.8
Reporter: Ashish Singhi
Assignee: Ashish Singhi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12634-v2.patch, HBASE-12634-v3.patch, 
 HBASE-12634.patch


 The namespace argument passed to AccessController#requireGlobalPermission API 
 to authorize namespace is actually not authorizing it.



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


[jira] [Updated] (HBASE-12594) Remove the usage of deprecated HbaseAdmin#getTableNames from shell list command

2014-12-04 Thread Ashish Singhi (JIRA)

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

Ashish Singhi updated HBASE-12594:
--
Fix Version/s: 0.98.9
   2.0.0
   1.0.0

 Remove the usage of deprecated HbaseAdmin#getTableNames from shell list 
 command
 ---

 Key: HBASE-12594
 URL: https://issues.apache.org/jira/browse/HBASE-12594
 Project: HBase
  Issue Type: Bug
  Components: shell
Affects Versions: 2.0.0
Reporter: Ashish Singhi
Assignee: Ashish Singhi
Priority: Minor
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12594.patch


 With this fix one behavior change a non-super user will notice is that he/she 
 will be able to see only tables to which they have create/admin permissions



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


[jira] [Updated] (HBASE-12553) request value is not consistent for restoreSnapshot in audit logs

2014-12-04 Thread Ashish Singhi (JIRA)

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

Ashish Singhi updated HBASE-12553:
--
Fix Version/s: 2.0.0

 request value is not consistent for restoreSnapshot in audit logs
 -

 Key: HBASE-12553
 URL: https://issues.apache.org/jira/browse/HBASE-12553
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 2.0.0
Reporter: Ashish Singhi
Assignee: Ashish Singhi
Priority: Minor
 Fix For: 2.0.0

 Attachments: HBASE-12553.patch


 {code}
   requirePermission(restoreSnapshot, hTableDescriptor.getTableName(), 
 null, null,
 Permission.Action.ADMIN);
 } else {
   requirePermission(restore, Action.ADMIN);
 {code}



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


[jira] [Updated] (HBASE-12338) Client side scanning prefetching.

2014-12-04 Thread Yi Deng (JIRA)

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

Yi Deng updated HBASE-12338:

Status: Patch Available  (was: Open)

 Client side scanning prefetching.
 -

 Key: HBASE-12338
 URL: https://issues.apache.org/jira/browse/HBASE-12338
 Project: HBase
  Issue Type: Sub-task
  Components: Client
Affects Versions: 0.98.6.1, 1.0.0, 2.0.0
Reporter: Yi Deng
Assignee: Yi Deng
  Labels: prefetch, results, scanner
 Attachments: 
 0001-Add-ScanPrefetcher-for-client-side-scanning-prefetch.patch, 
 0001-ScanPrefetcher.patch, 
 2.0-0001-Add-ScanPrefetcher-for-client-side-scanning-prefetch.patch, 
 2.0-0002-Add-ScanPrefetcher-for-client-side-scanning-prefetch.patch, 
 2.0-0003-Add-ScanPrefetcher-for-client-side-scanning-prefetch.patch


 Since server side prefetching was not proved to be a good way to prefetch, we 
 need to do it on client side.
 This is a wrapper class that takes any instance of `ResultScanner` as the 
 underneath scanning component. The class will schedule the scanning in a 
 background thread. There is a buffering queue storing prefetched results, 
 whose's length is configurable. The prefetcher will release the thread if the 
 queue is full and wait for results to be consumed.



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


[jira] [Commented] (HBASE-12632) ThrottledInputStream/ExportSnapshot does not throttle

2014-12-04 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234344#comment-14234344
 ] 

Hadoop QA commented on HBASE-12632:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12685038/12632-v1.txt
  against master branch at commit c45772e76a581838ea89ff303d0ff67ceaa82845.
  ATTACHMENT ID: 12685038

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:red}-1 tests included{color}.  The patch doesn't appear to include 
any new or modified tests.
Please justify why no new tests are needed for this 
patch.
Also please list what manual steps were performed to 
verify this patch.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 checkstyle{color}.  The applied patch does not increase the 
total number of checkstyle errors

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//artifact/patchprocess/checkstyle-aggregate.html

  Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/11934//console

This message is automatically generated.

 ThrottledInputStream/ExportSnapshot does not throttle
 -

 Key: HBASE-12632
 URL: https://issues.apache.org/jira/browse/HBASE-12632
 Project: HBase
  Issue Type: Bug
  Components: mapreduce
Affects Versions: 0.99.2
Reporter: Tobi Vollebregt
 Attachments: 12632-v1.txt


 I just transferred a ton of data using ExportSnapshot with bandwidth 
 throttling from one Hadoop cluster to another Hadoop cluster, and discovered 
 that ThrottledInputStream does not limit bandwidth.
 The problem is that ThrottledInputStream sleeps once, for a fixed time (50 
 ms), at the start of each read call, disregarding the actual amount of data 
 read.
 ExportSnapshot defaults to a buffer size as big as the block size of the 
 outputFs:
 {code:java}
   // Use the default block size of the outputFs if bigger
   int defaultBlockSize = Math.max((int) outputFs.getDefaultBlockSize(), 
 BUFFER_SIZE);
   bufferSize = conf.getInt(CONF_BUFFER_SIZE, defaultBlockSize);
   LOG.info(Using bufferSize= + 
 StringUtils.humanReadableInt(bufferSize));
 {code}
 In my case, this was 256MB.
 Hence, the ExportSnapshot 

[jira] [Commented] (HBASE-12273) Generate .tabledesc file during upgrading if missing

2014-12-04 Thread Yi Deng (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234382#comment-14234382
 ] 

Yi Deng commented on HBASE-12273:
-

Thanks [~stack]. But this diff is not supposed to work on master, it only works 
for branch-1 and before. Some legacy code is necessary for generating 
HRegionInfo from old format while that code fragment seems been removed on 
master.

 Generate .tabledesc file during upgrading if missing
 

 Key: HBASE-12273
 URL: https://issues.apache.org/jira/browse/HBASE-12273
 Project: HBase
  Issue Type: Sub-task
  Components: Admin
Affects Versions: 1.0.0, 0.98.7
Reporter: Yi Deng
Assignee: Yi Deng
  Labels: upgrade
 Fix For: 1.0.0, 0.98.7

 Attachments: 
 1.0-0001-INTERNAL-Add-a-tool-for-fixing-missing-TableDescript.patch


 Generate .tabledesc file during upgrading if missing



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


[jira] [Updated] (HBASE-12204) Backport HBASE-12016 'Reduce number of versions in Meta table. Make it configurable' to branch-1

2014-12-04 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-12204:
---
Attachment: 12204-1.0.txt

All tests touched by the patch passes locally.

Running full test suite on Linux now.

 Backport HBASE-12016 'Reduce number of versions in Meta table. Make it 
 configurable' to branch-1
 

 Key: HBASE-12204
 URL: https://issues.apache.org/jira/browse/HBASE-12204
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Andrey Stepachev
Priority: Minor
 Attachments: 12204-1.0.txt


 The patch from HBASE-12016 doesn't apply to branch-1 due to the fact that 
 HBASE-7767 was applied to master only.
 This JIRA is to backport HBASE-12016 to branch-1.
 This can be done when HBASE-12035 is resolved and branch-1 is brought to 
 parity with master.



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


[jira] [Commented] (HBASE-12545) Fix backwards compatibility issue introduced with HBASE-12363

2014-12-04 Thread Lars Hofhansl (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234400#comment-14234400
 ] 

Lars Hofhansl commented on HBASE-12545:
---

Yeah, let's close this one.

 Fix backwards compatibility issue introduced with HBASE-12363
 -

 Key: HBASE-12545
 URL: https://issues.apache.org/jira/browse/HBASE-12545
 Project: HBase
  Issue Type: Sub-task
  Components: regionserver
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
 Fix For: 1.0.0, 0.98.9

 Attachments: 12545.txt






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


[jira] [Comment Edited] (HBASE-12204) Backport HBASE-12016 'Reduce number of versions in Meta table. Make it configurable' to branch-1

2014-12-04 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234396#comment-14234396
 ] 

Ted Yu edited comment on HBASE-12204 at 12/4/14 5:50 PM:
-

All tests touched by the patch pass locally.

Running full test suite on Linux now.


was (Author: yuzhih...@gmail.com):
All tests touched by the patch passes locally.

Running full test suite on Linux now.

 Backport HBASE-12016 'Reduce number of versions in Meta table. Make it 
 configurable' to branch-1
 

 Key: HBASE-12204
 URL: https://issues.apache.org/jira/browse/HBASE-12204
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Andrey Stepachev
Priority: Minor
 Attachments: 12204-1.0.txt


 The patch from HBASE-12016 doesn't apply to branch-1 due to the fact that 
 HBASE-7767 was applied to master only.
 This JIRA is to backport HBASE-12016 to branch-1.
 This can be done when HBASE-12035 is resolved and branch-1 is brought to 
 parity with master.



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


[jira] [Commented] (HBASE-12173) Backport: [PE] Allow random value size

2014-12-04 Thread Lars Hofhansl (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234402#comment-14234402
 ] 

Lars Hofhansl commented on HBASE-12173:
---

I should. :)
Lemme finish this today.

 Backport: [PE] Allow random value size
 --

 Key: HBASE-12173
 URL: https://issues.apache.org/jira/browse/HBASE-12173
 Project: HBase
  Issue Type: Sub-task
  Components: Performance
Reporter: Lars Hofhansl
 Fix For: 0.94.26, 0.98.9






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


[jira] [Commented] (HBASE-12634) Fix the AccessController#requireGlobalPermission(ns) with NS

2014-12-04 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234411#comment-14234411
 ] 

Hudson commented on HBASE-12634:


SUCCESS: Integrated in HBase-1.0 #539 (See 
[https://builds.apache.org/job/HBase-1.0/539/])
HBASE-12634 Fix the AccessController#requireGlobalPermission(ns) with NS 
(matteo.bertozzi: rev ffbfe01bbeb00d91f8df1ce6ddc041af9887dca7)
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestNamespaceCommands.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java


  Fix the AccessController#requireGlobalPermission(ns) with NS
 -

 Key: HBASE-12634
 URL: https://issues.apache.org/jira/browse/HBASE-12634
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 0.98.8
Reporter: Ashish Singhi
Assignee: Ashish Singhi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12634-v2.patch, HBASE-12634-v3.patch, 
 HBASE-12634.patch


 The namespace argument passed to AccessController#requireGlobalPermission API 
 to authorize namespace is actually not authorizing it.



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


[jira] [Commented] (HBASE-12636) Avoid too many write operations on zookeeper in replication

2014-12-04 Thread Lars Hofhansl (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234418#comment-14234418
 ] 

Lars Hofhansl commented on HBASE-12636:
---

Means in the event of failure we could double replicate some entries, right?

 Avoid too many write operations on zookeeper in replication
 ---

 Key: HBASE-12636
 URL: https://issues.apache.org/jira/browse/HBASE-12636
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.94.11
Reporter: Liu Shaohui
Assignee: Liu Shaohui
  Labels: replication
 Fix For: 1.0.0

 Attachments: HBASE-12636-v1.diff


 In our production cluster, we found there are about over 1k write operations 
 per second on zookeeper from hbase replication. The reason is that the 
 replication source will write the log position to zookeeper for every edit 
 shipping. If the current replicating WAL is just the WAL that regionserver is 
 writing to,  each skipping will be very small but the frequency is very high, 
 which causes many write operations on zookeeper.
 A simple solution is that writing log position to zookeeper when position 
 diff or skipped edit number is larger than a threshold, not every  edit 
 shipping.
 Suggestions are welcomed, thx~



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


[jira] [Assigned] (HBASE-12204) Backport HBASE-12016 'Reduce number of versions in Meta table. Make it configurable' to branch-1

2014-12-04 Thread Ted Yu (JIRA)

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

Ted Yu reassigned HBASE-12204:
--

Assignee: Ted Yu  (was: Andrey Stepachev)

 Backport HBASE-12016 'Reduce number of versions in Meta table. Make it 
 configurable' to branch-1
 

 Key: HBASE-12204
 URL: https://issues.apache.org/jira/browse/HBASE-12204
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Attachments: 12204-1.0.txt


 The patch from HBASE-12016 doesn't apply to branch-1 due to the fact that 
 HBASE-7767 was applied to master only.
 This JIRA is to backport HBASE-12016 to branch-1.
 This can be done when HBASE-12035 is resolved and branch-1 is brought to 
 parity with master.



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


[jira] [Updated] (HBASE-12204) Backport HBASE-12016 'Reduce number of versions in Meta table. Make it configurable' to branch-1

2014-12-04 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-12204:
---
Status: Patch Available  (was: Open)

 Backport HBASE-12016 'Reduce number of versions in Meta table. Make it 
 configurable' to branch-1
 

 Key: HBASE-12204
 URL: https://issues.apache.org/jira/browse/HBASE-12204
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Attachments: 12204-1.0.txt


 The patch from HBASE-12016 doesn't apply to branch-1 due to the fact that 
 HBASE-7767 was applied to master only.
 This JIRA is to backport HBASE-12016 to branch-1.
 This can be done when HBASE-12035 is resolved and branch-1 is brought to 
 parity with master.



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


[jira] [Updated] (HBASE-12204) Backport HBASE-12016 'Reduce number of versions in Meta table. Make it configurable' to branch-1

2014-12-04 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-12204:
---
Fix Version/s: 1.0.0

 Backport HBASE-12016 'Reduce number of versions in Meta table. Make it 
 configurable' to branch-1
 

 Key: HBASE-12204
 URL: https://issues.apache.org/jira/browse/HBASE-12204
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 1.0.0

 Attachments: 12204-1.0.txt


 The patch from HBASE-12016 doesn't apply to branch-1 due to the fact that 
 HBASE-7767 was applied to master only.
 This JIRA is to backport HBASE-12016 to branch-1.
 This can be done when HBASE-12035 is resolved and branch-1 is brought to 
 parity with master.



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


[jira] [Updated] (HBASE-12597) Add RpcClient interface and enable changing of RpcClient implementation

2014-12-04 Thread stack (JIRA)

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

stack updated HBASE-12597:
--
Fix Version/s: 2.0.0
   1.0.0

 Add RpcClient interface and enable changing of RpcClient implementation
 ---

 Key: HBASE-12597
 URL: https://issues.apache.org/jira/browse/HBASE-12597
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
 Fix For: 1.0.0, 2.0.0

 Attachments: HBASE-12597-v1.patch, HBASE-12597-v2.patch, 
 HBASE-12597-v3.patch, HBASE-12597-v4.patch, HBASE-12597.patch


 Currently HConnectionImplementation works with the included RpcClient which 
 is a direct implementation and not defined by an interface.
 It would be great to be able to swap out the default RpcClient with another 
 implementation which can also be controlled by the default 
 HConnectionImplementation. 
 Suggested changes:
 - Create a RpcClient interface which defines all the ways 
 HConnectionImplementation interacts with an RPC client. Like getting a 
 blocking protobuf service interface or closing the client.
 - Define which RpcClient implementation to construct by setting a 
 configuration variable which defaults to the current RpcClient.
 - Possibly create an abstract RpcClient class to only load all the basic Rpc 
 layer configurations to be used in an implementation.
 Why? It enables experimentation with RpcClients which could enable new 
 features or could be more performant than the included client. 
 I created a new RpcClient implementation based on Netty which can also be 
 called asynchronously. It would be great to also be able to use this 
 RpcClient in all the default ways and tests to see if there are any issues 
 with it. 
 https://github.com/jurmous/async-hbase-client/
 https://github.com/jurmous/async-hbase-client/blob/master/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcClient.java



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


[jira] [Resolved] (HBASE-12545) Fix backwards compatibility issue introduced with HBASE-12363

2014-12-04 Thread Andrew Purtell (JIRA)

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

Andrew Purtell resolved HBASE-12545.

   Resolution: Not a Problem
Fix Version/s: (was: 0.98.9)
   (was: 1.0.0)
 Assignee: (was: Lars Hofhansl)

Resolving as Not A Problem

 Fix backwards compatibility issue introduced with HBASE-12363
 -

 Key: HBASE-12545
 URL: https://issues.apache.org/jira/browse/HBASE-12545
 Project: HBase
  Issue Type: Sub-task
  Components: regionserver
Reporter: Lars Hofhansl
 Attachments: 12545.txt






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


[jira] [Commented] (HBASE-12597) Add RpcClient interface and enable changing of RpcClient implementation

2014-12-04 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234426#comment-14234426
 ] 

stack commented on HBASE-12597:
---

Skimmed.  Will come back with a better review (should the defines in the 
Interface be public so folks don't have to be in same package to make an 
implementation?)

Marked this as for 1.0.  Would be good to get it in before 1.0 goes out.  Lets 
see what hadoopqa thinks of this patch.

 Add RpcClient interface and enable changing of RpcClient implementation
 ---

 Key: HBASE-12597
 URL: https://issues.apache.org/jira/browse/HBASE-12597
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
 Fix For: 1.0.0, 2.0.0

 Attachments: HBASE-12597-v1.patch, HBASE-12597-v2.patch, 
 HBASE-12597-v3.patch, HBASE-12597-v4.patch, HBASE-12597.patch


 Currently HConnectionImplementation works with the included RpcClient which 
 is a direct implementation and not defined by an interface.
 It would be great to be able to swap out the default RpcClient with another 
 implementation which can also be controlled by the default 
 HConnectionImplementation. 
 Suggested changes:
 - Create a RpcClient interface which defines all the ways 
 HConnectionImplementation interacts with an RPC client. Like getting a 
 blocking protobuf service interface or closing the client.
 - Define which RpcClient implementation to construct by setting a 
 configuration variable which defaults to the current RpcClient.
 - Possibly create an abstract RpcClient class to only load all the basic Rpc 
 layer configurations to be used in an implementation.
 Why? It enables experimentation with RpcClients which could enable new 
 features or could be more performant than the included client. 
 I created a new RpcClient implementation based on Netty which can also be 
 called asynchronously. It would be great to also be able to use this 
 RpcClient in all the default ways and tests to see if there are any issues 
 with it. 
 https://github.com/jurmous/async-hbase-client/
 https://github.com/jurmous/async-hbase-client/blob/master/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcClient.java



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


[jira] [Updated] (HBASE-12597) Add RpcClient interface and enable changing of RpcClient implementation

2014-12-04 Thread stack (JIRA)

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

stack updated HBASE-12597:
--
Status: Patch Available  (was: Open)

 Add RpcClient interface and enable changing of RpcClient implementation
 ---

 Key: HBASE-12597
 URL: https://issues.apache.org/jira/browse/HBASE-12597
 Project: HBase
  Issue Type: Improvement
  Components: Client
Reporter: Jurriaan Mous
 Fix For: 1.0.0, 2.0.0

 Attachments: HBASE-12597-v1.patch, HBASE-12597-v2.patch, 
 HBASE-12597-v3.patch, HBASE-12597-v4.patch, HBASE-12597.patch


 Currently HConnectionImplementation works with the included RpcClient which 
 is a direct implementation and not defined by an interface.
 It would be great to be able to swap out the default RpcClient with another 
 implementation which can also be controlled by the default 
 HConnectionImplementation. 
 Suggested changes:
 - Create a RpcClient interface which defines all the ways 
 HConnectionImplementation interacts with an RPC client. Like getting a 
 blocking protobuf service interface or closing the client.
 - Define which RpcClient implementation to construct by setting a 
 configuration variable which defaults to the current RpcClient.
 - Possibly create an abstract RpcClient class to only load all the basic Rpc 
 layer configurations to be used in an implementation.
 Why? It enables experimentation with RpcClients which could enable new 
 features or could be more performant than the included client. 
 I created a new RpcClient implementation based on Netty which can also be 
 called asynchronously. It would be great to also be able to use this 
 RpcClient in all the default ways and tests to see if there are any issues 
 with it. 
 https://github.com/jurmous/async-hbase-client/
 https://github.com/jurmous/async-hbase-client/blob/master/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcClient.java



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


[jira] [Commented] (HBASE-12634) Fix the AccessController#requireGlobalPermission(ns) with NS

2014-12-04 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234432#comment-14234432
 ] 

Hudson commented on HBASE-12634:


SUCCESS: Integrated in HBase-0.98 #716 (See 
[https://builds.apache.org/job/HBase-0.98/716/])
HBASE-12634 Fix the AccessController#requireGlobalPermission(ns) with NS 
(matteo.bertozzi: rev 6c927313c5ac7275bce3f9cdc4d215db28264601)
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestNamespaceCommands.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java


  Fix the AccessController#requireGlobalPermission(ns) with NS
 -

 Key: HBASE-12634
 URL: https://issues.apache.org/jira/browse/HBASE-12634
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 0.98.8
Reporter: Ashish Singhi
Assignee: Ashish Singhi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12634-v2.patch, HBASE-12634-v3.patch, 
 HBASE-12634.patch


 The namespace argument passed to AccessController#requireGlobalPermission API 
 to authorize namespace is actually not authorizing it.



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


[jira] [Commented] (HBASE-12634) Fix the AccessController#requireGlobalPermission(ns) with NS

2014-12-04 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234431#comment-14234431
 ] 

Hudson commented on HBASE-12634:


SUCCESS: Integrated in HBase-TRUNK #5866 (See 
[https://builds.apache.org/job/HBase-TRUNK/5866/])
HBASE-12634 Fix the AccessController#requireGlobalPermission(ns) with NS 
(matteo.bertozzi: rev 0299ab8bf69618d7e07a6ec7071ce9234d9d)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestNamespaceCommands.java


  Fix the AccessController#requireGlobalPermission(ns) with NS
 -

 Key: HBASE-12634
 URL: https://issues.apache.org/jira/browse/HBASE-12634
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 0.98.8
Reporter: Ashish Singhi
Assignee: Ashish Singhi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12634-v2.patch, HBASE-12634-v3.patch, 
 HBASE-12634.patch


 The namespace argument passed to AccessController#requireGlobalPermission API 
 to authorize namespace is actually not authorizing it.



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


[jira] [Commented] (HBASE-12636) Avoid too many write operations on zookeeper in replication

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234440#comment-14234440
 ] 

Andrew Purtell commented on HBASE-12636:


What about recording this information into a system table instead? We can start 
the migration of replication state out of ZooKeeper. 


 Avoid too many write operations on zookeeper in replication
 ---

 Key: HBASE-12636
 URL: https://issues.apache.org/jira/browse/HBASE-12636
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.94.11
Reporter: Liu Shaohui
Assignee: Liu Shaohui
  Labels: replication
 Fix For: 1.0.0

 Attachments: HBASE-12636-v1.diff


 In our production cluster, we found there are about over 1k write operations 
 per second on zookeeper from hbase replication. The reason is that the 
 replication source will write the log position to zookeeper for every edit 
 shipping. If the current replicating WAL is just the WAL that regionserver is 
 writing to,  each skipping will be very small but the frequency is very high, 
 which causes many write operations on zookeeper.
 A simple solution is that writing log position to zookeeper when position 
 diff or skipped edit number is larger than a threshold, not every  edit 
 shipping.
 Suggestions are welcomed, thx~



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


[jira] [Updated] (HBASE-12635) Delete acl notify znode of table after the table is deleted

2014-12-04 Thread Andrew Purtell (JIRA)

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

Andrew Purtell updated HBASE-12635:
---
Fix Version/s: 0.98.9
   1.0.0

 Delete acl notify znode of table after the table is deleted
 ---

 Key: HBASE-12635
 URL: https://issues.apache.org/jira/browse/HBASE-12635
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.94.11, 0.98.6
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12635-v1.diff


 In our multi-tenant hbase cluster, we found that there are over 1M znodes 
 under the acl node. The reason is that users create and delete tables with 
 different names frequently.  The acl notify znode are left there after the 
 tables are deleted.
 Simple solution is that deleting acl notify znode of table in 
 AccessController when deleting the table.



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


[jira] [Commented] (HBASE-12635) Delete acl notify znode of table after the table is deleted

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=1423#comment-1423
 ] 

Andrew Purtell commented on HBASE-12635:


+1, I'll backport and commit to all branches shortly unless objection. Sorry 
[~liushaohui], we should have been doing this already and I'm surprised we are 
not.

 Delete acl notify znode of table after the table is deleted
 ---

 Key: HBASE-12635
 URL: https://issues.apache.org/jira/browse/HBASE-12635
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.94.11, 0.98.6
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12635-v1.diff


 In our multi-tenant hbase cluster, we found that there are over 1M znodes 
 under the acl node. The reason is that users create and delete tables with 
 different names frequently.  The acl notify znode are left there after the 
 tables are deleted.
 Simple solution is that deleting acl notify znode of table in 
 AccessController when deleting the table.



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


[jira] [Commented] (HBASE-12632) ThrottledInputStream/ExportSnapshot does not throttle

2014-12-04 Thread Tobi Vollebregt (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234449#comment-14234449
 ] 

Tobi Vollebregt commented on HBASE-12632:
-

Thanks Ted. Patch LGTM. I haven't tested the version with {{while}} yet though, 
I will try to get around to that next week.

 ThrottledInputStream/ExportSnapshot does not throttle
 -

 Key: HBASE-12632
 URL: https://issues.apache.org/jira/browse/HBASE-12632
 Project: HBase
  Issue Type: Bug
  Components: mapreduce
Affects Versions: 0.99.2
Reporter: Tobi Vollebregt
 Attachments: 12632-v1.txt


 I just transferred a ton of data using ExportSnapshot with bandwidth 
 throttling from one Hadoop cluster to another Hadoop cluster, and discovered 
 that ThrottledInputStream does not limit bandwidth.
 The problem is that ThrottledInputStream sleeps once, for a fixed time (50 
 ms), at the start of each read call, disregarding the actual amount of data 
 read.
 ExportSnapshot defaults to a buffer size as big as the block size of the 
 outputFs:
 {code:java}
   // Use the default block size of the outputFs if bigger
   int defaultBlockSize = Math.max((int) outputFs.getDefaultBlockSize(), 
 BUFFER_SIZE);
   bufferSize = conf.getInt(CONF_BUFFER_SIZE, defaultBlockSize);
   LOG.info(Using bufferSize= + 
 StringUtils.humanReadableInt(bufferSize));
 {code}
 In my case, this was 256MB.
 Hence, the ExportSnapshot mapper will attempt to read up to 256 MB at a time, 
 each time sleeping only 50ms. Thus, in the worst case where each call to read 
 fills the 256 MB buffer in negligible time, the ThrottledInputStream cannot 
 reduce the bandwidth to under (256 MB) / (5 ms) = 5 GB/s.
 Even in a more realistic case where read returns about 1 MB per call, it 
 still cannot throttle the bandwidth to under 20 MB/s.
 The issue is exacerbated by the fact that you need to set a low limit because 
 the total bandwidth per host depends on the number of mapper slots as well.
 A simple solution would change the if in throttle to a while, so that it 
 keeps sleeping for 50 ms until the rate is finally low enough:
 {code:java}
   private void throttle() throws IOException {
 while (getBytesPerSec()  maxBytesPerSec) {
   try {
 Thread.sleep(SLEEP_DURATION_MS);
 totalSleepTime += SLEEP_DURATION_MS;
   } catch (InterruptedException e) {
 throw new IOException(Thread aborted, e);
   }
 }
   }
 {code}
 This issue affects the ThrottledInputStream in hadoop as well.
 Another way to see this is that for big enough buffer sizes, 
 ThrottledInputStream will be throttling only the number of read calls to 20 
 per second, disregarding the number of bytes read. 



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


[jira] [Commented] (HBASE-12358) Create ByteBuffer backed Cell

2014-12-04 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234450#comment-14234450
 ] 

ramkrishna.s.vasudevan commented on HBASE-12358:


Before we decide on BB or BR, we would like to highlight some points here so 
that we could decide on the behaviour of the new Cell APIs.
Assume we will be working with BBs so we would introduce getXXXBuffer() APIs 
and also hasArray() in Cell itself directly. 
If we try to extend the cell or create a new Cell then everywhere we need to do 
instanceOf check or do type conversion and that is why adding new APIS to Cell 
interface itself makes sense.
Plan is to use this getXXXBuffer API through out the read path.
Now there are two ways to use it 
1) Use getXXXBuffer along with getXXXOffset, getXXXLength like how we use now 
for getXXXArray APIs with the offset and   length. Doing so would ensure that 
every where in the filters and CP one has to just replace the getXXXArray with 
getXXXBuffer and continue to use getXXXOffset and getXXXLength. We would do 
some wrapping of the byte[] with a BB incase of KeyValue type of cells so that 
getXXXBuffer along with offset and length holds true everywhere. Note that here 
if hasARray is false (for KV case) then getXXXArray would also work.

2)The other way of using this is that use only getXXXBuffer() API and ensure 
that the BB is always duplicated/sliced and only the portion of the total BB is 
returned which represents the individual component of the Cell. In this case 
there is no use of getXXXOffset (as it is going to be 0) and getXXXLength() is 
any way going to be the sliced BB's limit.

But in the 2nd approach we may end up in creating lot of small objects even 
while doing comparison.

Now the next problem that comes is what to do with the getXXXArray() APIs. If 
one sees hasArray() as false (a DBB backed Cell) and uses the getXXXArray() API 
along with offset and length - what should we do. Should we create a byte[] 
from the DBB and return it? Then in that case what would should the 
getXXXOffset() return for a getXXXBuffer or getXXXArray()?

If we go with the 2nd approach then getXXXBuffer() should be clearly documented 
saying that it has to be used without Offset and length and use getXXXOFfset 
and getXXXLength only with getXXXArray().

Now if a Cell is backed by on heap BB then we could definitely return 
getXXXArray() also - but what to return in the getXXXOffset would be determined 
by what appraoch to use for getXXXBuffer. (based on (1) and (2)).

We wanted to open up this topic now so that to get some feedback on what could 
be an option here.  Since it is an user facing Interface we need to be careful 
with this.

I would suggest that whenever a Cell is BB backed(Onheap or offheap) always 
hasARray would be false in that Cell impl.
Every where we would use getXXXBuffer along with getXXXOffest and getXXXLength. 
 Even in case of KV we could wrap the byte[] with BB so that we have uniformity 
through the read code and we don't have too many 'if' else conditions.

When ever hasArray is false - using getXXXArray API would throw 
UnSupportedOperation Exception.

AS said if we want getXXXArray to be supported as per the existing way then 
getXXXBuffer and getXXXOffset, getXXXLength should be clearly documented.

Thoughts!!!






 Create ByteBuffer backed Cell
 -

 Key: HBASE-12358
 URL: https://issues.apache.org/jira/browse/HBASE-12358
 Project: HBase
  Issue Type: Sub-task
  Components: regionserver, Scanners
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
 Attachments: HBASE-12358.patch, HBASE-12358_1.patch, 
 HBASE-12358_2.patch


 As part of HBASE-12224 and HBASE-12282 we wanted a Cell that is backed by BB. 
  Changing the core Cell impl would not be needed as it is used in server 
 only.  So we will create a BB backed Cell and use it in the Server side read 
 path. This JIRA just creates an interface that extends Cell and adds the 
 needed API.
 The getTimeStamp and getTypebyte() can still refer to the original Cell API 
 only.  The getXXxOffset() and getXXXLength() can also refer to the original 
 Cell only.



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


[jira] [Updated] (HBASE-12498) Integrate HydraBase RMap in RegionManager

2014-12-04 Thread Amitanand Aiyer (JIRA)

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

Amitanand Aiyer updated HBASE-12498:

Description: 
We need to integrate the idea of RMap (Global Region Locator) into HBase.

RMap:
In Hydrabase, we wanted to avoid having special tables that require to be 
online and available, before other servers can start processing their regions. 
To this end, in hydrabase, we use a notion of RMap — that tells the servers 
which regions to open; and also servers as a look up place for the clients to 
discover the set of servers handling a particular region.

This RMap is stored in a well known path, as specified in the configuration. 
Upon initialization, RegionServers read this file and determine the set of 
regions that it needs to open; and the set of peers that it expects to hear 
from for each of those regions.

Since RMap is stored in HDFS, the only way to change it is to create a new HDFS 
file and update the servers about it. This is intended to be a not-so-common 
operation; however, this may be required when a new machine joins the service, 
or an existing machine needs to be taken away for a significant amount of time 
to perform maintenance.

We run a daemon, every 15 minutes, (currently in the master) to determine the 
set of machines going to repair and vice versa; and update the RMap accordingly.


1. In the current hydraBase model, updating the RMap is done by a single 
daemon; while every region server individually reads and updates itself 
accordingly.
2. OSS HBase seems to be using a model where a dedicated master/server manager 
is responsible for coordinating the regions that should be opened/served by 
each region server. Region servers simply follow the instructions received from 
the server manager. 

With respect to integrating both. We plan to use the servermanager to read the 
RMap and coordinate the region opens on various regionservers. RMap will be 
still stored as a HDFS file, that will be read by the ServerManager/Master to 
assign regions.



  was:
We need to integrate the idea of RMap (Global Region Locator) into HBase.

Amit: Can you add more details about the design on this JIRA.

Thanks,
Rishit


 Integrate HydraBase RMap in RegionManager
 -

 Key: HBASE-12498
 URL: https://issues.apache.org/jira/browse/HBASE-12498
 Project: HBase
  Issue Type: Sub-task
  Components: master, Region Assignment
Reporter: Rishit Shroff
Assignee: Amitanand Aiyer

 We need to integrate the idea of RMap (Global Region Locator) into HBase.
 RMap:
 In Hydrabase, we wanted to avoid having special tables that require to be 
 online and available, before other servers can start processing their 
 regions. To this end, in hydrabase, we use a notion of RMap — that tells the 
 servers which regions to open; and also servers as a look up place for the 
 clients to discover the set of servers handling a particular region.
 This RMap is stored in a well known path, as specified in the configuration. 
 Upon initialization, RegionServers read this file and determine the set of 
 regions that it needs to open; and the set of peers that it expects to hear 
 from for each of those regions.
 Since RMap is stored in HDFS, the only way to change it is to create a new 
 HDFS file and update the servers about it. This is intended to be a 
 not-so-common operation; however, this may be required when a new machine 
 joins the service, or an existing machine needs to be taken away for a 
 significant amount of time to perform maintenance.
 We run a daemon, every 15 minutes, (currently in the master) to determine the 
 set of machines going to repair and vice versa; and update the RMap 
 accordingly.
 1. In the current hydraBase model, updating the RMap is done by a single 
 daemon; while every region server individually reads and updates itself 
 accordingly.
 2. OSS HBase seems to be using a model where a dedicated master/server 
 manager is responsible for coordinating the regions that should be 
 opened/served by each region server. Region servers simply follow the 
 instructions received from the server manager. 
 With respect to integrating both. We plan to use the servermanager to read 
 the RMap and coordinate the region opens on various regionservers. RMap will 
 be still stored as a HDFS file, that will be read by the ServerManager/Master 
 to assign regions.



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


[jira] [Commented] (HBASE-12583) Allow creating reference files even the split row not lies in the storefile range if required

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234455#comment-14234455
 ] 

Andrew Purtell commented on HBASE-12583:


+1 for 0.98 if earlier reviewers are ok with the particulars. Skimmed the 
patch, looks ok

 Allow creating reference files even the split row not lies in the storefile 
 range if required
 -

 Key: HBASE-12583
 URL: https://issues.apache.org/jira/browse/HBASE-12583
 Project: HBase
  Issue Type: Improvement
Reporter: rajeshbabu
Assignee: rajeshbabu
  Labels: Phoenix
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12583.patch, HBASE-12583_98.patch, 
 HBASE-12583_branch1.patch, HBASE-12583_v2.patch


 Currently in HRegionFileSystem#splitStoreFile we are not creating reference 
 files if the split row not lies in the storefile range that means one of the 
 child region doesn't have any data.
 {code}
// Check whether the split row lies in the range of the store file
 // If it is outside the range, return directly.
 if (top) {
   //check if larger than last key.
   KeyValue splitKey = KeyValueUtil.createFirstOnRow(splitRow);
   byte[] lastKey = f.createReader().getLastKey();
   // If lastKey is null means storefile is empty.
   if (lastKey == null) return null;
   if (f.getReader().getComparator().compareFlatKey(splitKey.getBuffer(),
   splitKey.getKeyOffset(), splitKey.getKeyLength(), lastKey, 0, 
 lastKey.length)  0) {
 return null;
   }
 } else {
   //check if smaller than first key
   KeyValue splitKey = KeyValueUtil.createLastOnRow(splitRow);
   byte[] firstKey = f.createReader().getFirstKey();
   // If firstKey is null means storefile is empty.
   if (firstKey == null) return null;
   if (f.getReader().getComparator().compareFlatKey(splitKey.getBuffer(),
   splitKey.getKeyOffset(), splitKey.getKeyLength(), firstKey, 0, 
 firstKey.length)  0) {
 return null;
   }
 }
 {code}
 In some cases when split row should be compared with part of rowkey(in 
 composite rowkey) mainly for secondary index tables we need to create 
 reference files even when split row not lies in the storefile range so that 
 they can be rewritten to it's child regions by some custom half store file 
 reader which compare the part of row key with split row.
 The check of comparing split row with storefile range and returning directly 
 can be avoided by having special boolean attribute in table descriptor when 
 it set to true. Or else we can have coprocessor hooks so that in the hooks we 
 can create the references and bypass.



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


[jira] [Commented] (HBASE-12634) Fix the AccessController#requireGlobalPermission(ns) with NS

2014-12-04 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234458#comment-14234458
 ] 

Hudson commented on HBASE-12634:


SUCCESS: Integrated in HBase-0.98-on-Hadoop-1.1 #683 (See 
[https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/683/])
HBASE-12634 Fix the AccessController#requireGlobalPermission(ns) with NS 
(matteo.bertozzi: rev 6c927313c5ac7275bce3f9cdc4d215db28264601)
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestNamespaceCommands.java


  Fix the AccessController#requireGlobalPermission(ns) with NS
 -

 Key: HBASE-12634
 URL: https://issues.apache.org/jira/browse/HBASE-12634
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 0.98.8
Reporter: Ashish Singhi
Assignee: Ashish Singhi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12634-v2.patch, HBASE-12634-v3.patch, 
 HBASE-12634.patch


 The namespace argument passed to AccessController#requireGlobalPermission API 
 to authorize namespace is actually not authorizing it.



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


[jira] [Commented] (HBASE-12622) user_permission should require global admin to display global and ns permissions

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234464#comment-14234464
 ] 

Andrew Purtell commented on HBASE-12622:


Ok, thanks [~ashish singhi]

 user_permission should require global admin to display global and ns 
 permissions
 

 Key: HBASE-12622
 URL: https://issues.apache.org/jira/browse/HBASE-12622
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 2.0.0, 0.98.8, 0.99.2
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12622-v0.patch, HBASE-12622-v1.patch


 user_permission check the user permission only on the table level (requiring 
 at least a table-level admin)
 global and namespace permission listing is done without checking anything.
 but only a global admins should be able to perform this operations.



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


[jira] [Commented] (HBASE-12358) Create ByteBuffer backed Cell

2014-12-04 Thread Anoop Sam John (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234468#comment-14234468
 ] 

Anoop Sam John commented on HBASE-12358:


bq.Note that here if hasARray is false (for KV case) then getXXXArray would 
also work.
Correction : hasArray() is true

 Create ByteBuffer backed Cell
 -

 Key: HBASE-12358
 URL: https://issues.apache.org/jira/browse/HBASE-12358
 Project: HBase
  Issue Type: Sub-task
  Components: regionserver, Scanners
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
 Attachments: HBASE-12358.patch, HBASE-12358_1.patch, 
 HBASE-12358_2.patch


 As part of HBASE-12224 and HBASE-12282 we wanted a Cell that is backed by BB. 
  Changing the core Cell impl would not be needed as it is used in server 
 only.  So we will create a BB backed Cell and use it in the Server side read 
 path. This JIRA just creates an interface that extends Cell and adds the 
 needed API.
 The getTimeStamp and getTypebyte() can still refer to the original Cell API 
 only.  The getXXxOffset() and getXXXLength() can also refer to the original 
 Cell only.



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


[jira] [Commented] (HBASE-12619) Backport HBASE-11639 (Replicate the visibility of Cells as strings) to 0.98

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234480#comment-14234480
 ] 

Andrew Purtell commented on HBASE-12619:


I made a pass over this and it seems fine. Let me see about committing this 
today, it should be in place ahead of HBASE-11764 because there's a small 
conflict with tag type allocation. (I'll fix that in HBASE-11764). Will take a 
closer look then.

One higher level question I have about this whole design is what happens if we 
want to replicate visibility tags as Strings over an existing custom 
ReplicationEndpoint? That won't be possible today because an endpoint is 
implemented by a single class, there's no opportunity for mixing in 
functionality. But that's not an issue for here, HBASE-11639 has already been 
reviewed and committed and this is a backport.

 Backport HBASE-11639 (Replicate the visibility of Cells as strings) to 0.98
 ---

 Key: HBASE-12619
 URL: https://issues.apache.org/jira/browse/HBASE-12619
 Project: HBase
  Issue Type: Improvement
  Components: security
Affects Versions: 0.98.8
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
  Labels: visibility
 Fix For: 0.98.9

 Attachments: HBASE-11639_0.98_1.patch


 Raising a back port issue for HBASE-11639. We have the patch ready just need 
 to see how we are handling the new CP hook in RS Observer.



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


[jira] [Commented] (HBASE-11639) [Visibility controller] Replicate the visibility of Cells as strings

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-11639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234485#comment-14234485
 ] 

Andrew Purtell commented on HBASE-11639:


One higher level question I have about this whole design is what happens if we 
want to replicate visibility tags as Strings over an existing custom 
ReplicationEndpoint? That won't be possible today because an endpoint is 
implemented by a single class, there's no opportunity for mixing in 
functionality. Sorry I couldn't come here earlier, and anyway what has been 
committed is fine, but we should figure out what is the best next step here, if 
any. One option would be introducing a replication observer interface - 
ReplicationObserver - and coprocessor upcall chains out of replication code. 
Custom replication endpoint specification could be extended to allow 
specification of observer stacks.

/cc [~lhofhansl] [~jesse_yates]

 [Visibility controller] Replicate the visibility of Cells as strings
 

 Key: HBASE-11639
 URL: https://issues.apache.org/jira/browse/HBASE-11639
 Project: HBase
  Issue Type: Improvement
  Components: Replication, security
Affects Versions: 0.98.4
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
  Labels: VisibilityLabels
 Fix For: 1.0.0, 2.0.0

 Attachments: HBASE-11639_amend.patch, HBASE-11639_v11.patch, 
 HBASE-11639_v13.patch, HBASE-11639_v13.patch, HBASE-11639_v14.patch, 
 HBASE-11639_v15.patch, HBASE-11639_v16.patch, HBASE-11639_v17.patch, 
 HBASE-11639_v2.patch, HBASE-11639_v2.patch, HBASE-11639_v3.patch, 
 HBASE-11639_v3.patch, HBASE-11639_v5.patch, HBASE-11639_v6.patch, 
 HBASE-11639_v9.patch


 This issue is aimed at persisting the visibility labels as strings in the WAL 
 rather than Label ordinals.  This would help in replicating the label 
 ordinals to the replication cluster as strings directly and also that after 
 HBASE-11553 would help because the replication cluster could have an 
 implementation as string based visibility labels.



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


[jira] [Comment Edited] (HBASE-11639) [Visibility controller] Replicate the visibility of Cells as strings

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-11639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234485#comment-14234485
 ] 

Andrew Purtell edited comment on HBASE-11639 at 12/4/14 7:06 PM:
-

One higher level question I have about this whole design is what happens if we 
want to replicate visibility tags as Strings over an existing custom 
ReplicationEndpoint? That won't be guaranteed today because an endpoint is 
implemented by a single class, there's no opportunity for mixing in 
functionality, each implementation must take care to delegate. Sorry I couldn't 
come here earlier, and anyway what has been committed is fine, the 
VisibilityReplicationEndpoint delegates to whatever it finds in place, but we 
should figure out what is the best next step here, if any. One option would be 
introducing a replication observer interface - ReplicationObserver - and 
coprocessor upcall chains out of replication code. Custom replication endpoint 
specification could be extended to allow specification of observer stacks.

/cc [~lhofhansl] [~jesse_yates]


was (Author: apurtell):
One higher level question I have about this whole design is what happens if we 
want to replicate visibility tags as Strings over an existing custom 
ReplicationEndpoint? That won't be possible today because an endpoint is 
implemented by a single class, there's no opportunity for mixing in 
functionality. Sorry I couldn't come here earlier, and anyway what has been 
committed is fine, but we should figure out what is the best next step here, if 
any. One option would be introducing a replication observer interface - 
ReplicationObserver - and coprocessor upcall chains out of replication code. 
Custom replication endpoint specification could be extended to allow 
specification of observer stacks.

/cc [~lhofhansl] [~jesse_yates]

 [Visibility controller] Replicate the visibility of Cells as strings
 

 Key: HBASE-11639
 URL: https://issues.apache.org/jira/browse/HBASE-11639
 Project: HBase
  Issue Type: Improvement
  Components: Replication, security
Affects Versions: 0.98.4
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
  Labels: VisibilityLabels
 Fix For: 1.0.0, 2.0.0

 Attachments: HBASE-11639_amend.patch, HBASE-11639_v11.patch, 
 HBASE-11639_v13.patch, HBASE-11639_v13.patch, HBASE-11639_v14.patch, 
 HBASE-11639_v15.patch, HBASE-11639_v16.patch, HBASE-11639_v17.patch, 
 HBASE-11639_v2.patch, HBASE-11639_v2.patch, HBASE-11639_v3.patch, 
 HBASE-11639_v3.patch, HBASE-11639_v5.patch, HBASE-11639_v6.patch, 
 HBASE-11639_v9.patch


 This issue is aimed at persisting the visibility labels as strings in the WAL 
 rather than Label ordinals.  This would help in replicating the label 
 ordinals to the replication cluster as strings directly and also that after 
 HBASE-11553 would help because the replication cluster could have an 
 implementation as string based visibility labels.



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


[jira] [Comment Edited] (HBASE-12619) Backport HBASE-11639 (Replicate the visibility of Cells as strings) to 0.98

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234480#comment-14234480
 ] 

Andrew Purtell edited comment on HBASE-12619 at 12/4/14 7:06 PM:
-

I made a pass over this and it seems fine. Let me see about committing this 
today, it should be in place ahead of HBASE-11764 because there's a small 
conflict with tag type allocation. (I'll fix that in HBASE-11764). Will take a 
closer look then.

One higher level question I have about this whole design is what happens if we 
want to replicate visibility tags as Strings over an existing custom 
ReplicationEndpoint? That won't be guaranteed today because an endpoint is 
implemented by a single class, there's no opportunity for mixing in 
functionality, each implementation must take care to delegate. But that's not 
an issue for here, HBASE-11639 has already been reviewed and committed and this 
is a backport.


was (Author: apurtell):
I made a pass over this and it seems fine. Let me see about committing this 
today, it should be in place ahead of HBASE-11764 because there's a small 
conflict with tag type allocation. (I'll fix that in HBASE-11764). Will take a 
closer look then.

One higher level question I have about this whole design is what happens if we 
want to replicate visibility tags as Strings over an existing custom 
ReplicationEndpoint? That won't be possible today because an endpoint is 
implemented by a single class, there's no opportunity for mixing in 
functionality. But that's not an issue for here, HBASE-11639 has already been 
reviewed and committed and this is a backport.

 Backport HBASE-11639 (Replicate the visibility of Cells as strings) to 0.98
 ---

 Key: HBASE-12619
 URL: https://issues.apache.org/jira/browse/HBASE-12619
 Project: HBase
  Issue Type: Improvement
  Components: security
Affects Versions: 0.98.8
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
  Labels: visibility
 Fix For: 0.98.9

 Attachments: HBASE-11639_0.98_1.patch


 Raising a back port issue for HBASE-11639. We have the patch ready just need 
 to see how we are handling the new CP hook in RS Observer.



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


[jira] [Commented] (HBASE-11639) [Visibility controller] Replicate the visibility of Cells as strings

2014-12-04 Thread Anoop Sam John (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-11639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234491#comment-14234491
 ] 

Anoop Sam John commented on HBASE-11639:


I think there is no issue with custom replication endpoint. What we do is 
create a wrapper on top of the replication EP. This is done in VC new hook 
impl. So this will wrap the custom Replication EP. System calls the wrapper 1st 
and it convert visibility to String based and then the custom EP which can do 
its function. Does that sounds good enough Andy?

 [Visibility controller] Replicate the visibility of Cells as strings
 

 Key: HBASE-11639
 URL: https://issues.apache.org/jira/browse/HBASE-11639
 Project: HBase
  Issue Type: Improvement
  Components: Replication, security
Affects Versions: 0.98.4
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
  Labels: VisibilityLabels
 Fix For: 1.0.0, 2.0.0

 Attachments: HBASE-11639_amend.patch, HBASE-11639_v11.patch, 
 HBASE-11639_v13.patch, HBASE-11639_v13.patch, HBASE-11639_v14.patch, 
 HBASE-11639_v15.patch, HBASE-11639_v16.patch, HBASE-11639_v17.patch, 
 HBASE-11639_v2.patch, HBASE-11639_v2.patch, HBASE-11639_v3.patch, 
 HBASE-11639_v3.patch, HBASE-11639_v5.patch, HBASE-11639_v6.patch, 
 HBASE-11639_v9.patch


 This issue is aimed at persisting the visibility labels as strings in the WAL 
 rather than Label ordinals.  This would help in replicating the label 
 ordinals to the replication cluster as strings directly and also that after 
 HBASE-11553 would help because the replication cluster could have an 
 implementation as string based visibility labels.



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


[jira] [Commented] (HBASE-12619) Backport HBASE-11639 (Replicate the visibility of Cells as strings) to 0.98

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234490#comment-14234490
 ] 

Andrew Purtell commented on HBASE-12619:


/cc [~lhofhansl] [~jesse_yates], private replication API changes

 Backport HBASE-11639 (Replicate the visibility of Cells as strings) to 0.98
 ---

 Key: HBASE-12619
 URL: https://issues.apache.org/jira/browse/HBASE-12619
 Project: HBase
  Issue Type: Improvement
  Components: security
Affects Versions: 0.98.8
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
  Labels: visibility
 Fix For: 0.98.9

 Attachments: HBASE-11639_0.98_1.patch


 Raising a back port issue for HBASE-11639. We have the patch ready just need 
 to see how we are handling the new CP hook in RS Observer.



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


[jira] [Commented] (HBASE-12204) Backport HBASE-12016 'Reduce number of versions in Meta table. Make it configurable' to branch-1

2014-12-04 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234494#comment-14234494
 ] 

Ted Yu commented on HBASE-12204:


Test suite passes on branch-1

 Backport HBASE-12016 'Reduce number of versions in Meta table. Make it 
 configurable' to branch-1
 

 Key: HBASE-12204
 URL: https://issues.apache.org/jira/browse/HBASE-12204
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 1.0.0

 Attachments: 12204-1.0.txt


 The patch from HBASE-12016 doesn't apply to branch-1 due to the fact that 
 HBASE-7767 was applied to master only.
 This JIRA is to backport HBASE-12016 to branch-1.
 This can be done when HBASE-12035 is resolved and branch-1 is brought to 
 parity with master.



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


[jira] [Updated] (HBASE-12565) Race condition in HRegion.batchMutate() causes partial data to be written when region closes

2014-12-04 Thread Keith David Winkler (JIRA)

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

Keith David Winkler updated HBASE-12565:

Attachment: hbase-12565.patch

Applies the two part recommended solution from the description.

Divided the existing batchMutate() test into two tests, one that performs
batchMutate while no row locks are held, one that performs batch mutate 
while multiple row locks are held and concurrently another thread calls 
region.close().


 Race condition in HRegion.batchMutate()  causes partial data to be written 
 when region closes
 -

 Key: HBASE-12565
 URL: https://issues.apache.org/jira/browse/HBASE-12565
 Project: HBase
  Issue Type: Bug
  Components: Performance, regionserver
Affects Versions: 0.98.6
Reporter: Scott Fines
 Attachments: hbase-12565.patch


 The following sequence of events is possible to occur in HRegion's 
 batchMutate() call:
 1. caller attempts to call HRegion.batchMutate() with a batch of N1 records
 2. batchMutate acquires region lock in startRegionOperation, then calls 
 doMiniBatchMutation()
 3. doMiniBatchMutation acquires one row lock
 4. Region closes
 5. doMiniBatchMutation attempts to acquire second row lock.
 When this happens, the lock acquisition will also attempt to acquire the 
 region lock, which fails (because the region is closing). At this stage, 
 doMiniBatchMutation will stop writing further, BUT it WILL write data for the 
 rows whose locks have already been acquired, and advance the index in 
 MiniBatchOperationInProgress. Then, after it terminates successfully, 
 batchMutate() will loop around a second time, and attempt AGAIN to acquire 
 the region closing lock. When that happens, a NotServingRegionException is 
 thrown back to the caller.
 Thus, we have a race condition where partial data can be written when a 
 region server is closing.
 The main problem stems from the location of startRegionOperation() calls in 
 batchMutate and doMiniBatchMutation():
 1. batchMutate() reacquires the region lock with each iteration of the loop, 
 which can cause some successful writes to occur, but then fail on others
 2. getRowLock() attempts to acquire the region lock once for each row, which 
 allows doMiniBatchMutation to terminate early; this forces batchMutate() to 
 use multiple iterations and results in condition 1 being hit.
 There appears to be two parts to the solution as well:
 1. open an internal path so that doMiniBatchMutation() can acquire row locks 
 without checking for region closure. This will have the added benefit of a 
 significant performance improvement during large batch mutations.
 2. move the startRegionOperation() out of the loop in batchMutate() so that 
 multiple iterations of doMiniBatchMutation will not cause the operation to 
 fail.



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


[jira] [Commented] (HBASE-11677) Make Logger instance modifiers consistent

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-11677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234501#comment-14234501
 ] 

Andrew Purtell commented on HBASE-11677:


Please make a patch for trunk [~Usha710] and then we can take these changes. 

 Make Logger instance modifiers consistent
 -

 Key: HBASE-11677
 URL: https://issues.apache.org/jira/browse/HBASE-11677
 Project: HBase
  Issue Type: Task
Reporter: Sean Busbey
Priority: Minor
  Labels: beginner, sonar
 Attachments: HBASE-11677-0.98.patch


 We have some instances of Logger that are missing one of being private, 
 static, and final.
 ex from HealthChecker.java, missing final
 {code}
 private static Log LOG = LogFactory.getLog(HealthChecker.class);
 {code}
 * Clean up where possible by making {{private static final}}
 * If we can't, add a non-javadoc note about why
 One way to look for problematic instances is to grep for initial assignment 
 for the commonly used LOG member, e.g.
 * missing final: {{grep -r LOG = * | grep -v final}}
 * missing static: {{grep -r LOG = * | grep -v static}}
 * missing private: {{grep -r LOG = * | grep -v private}}



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


[jira] [Commented] (HBASE-12564) consolidate the getTableDescriptors() semantic

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234504#comment-14234504
 ] 

Andrew Purtell commented on HBASE-12564:


bq.  I think the behavior should be give me all the names that I have access 
to so the AccessController should filter the tables like getTableDescriptors() 
but checking also Read/Write rights and not only Admin/Create. Andrew Purtell?

No, users with read or write access should not be granted permission to 
potentially sensitive information in the schema. 

 consolidate the getTableDescriptors() semantic
 --

 Key: HBASE-12564
 URL: https://issues.apache.org/jira/browse/HBASE-12564
 Project: HBase
  Issue Type: Bug
  Components: Client, master
Affects Versions: 2.0.0
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
Priority: Minor
 Fix For: 2.0.0

 Attachments: HBASE-12564-v0.patch, HBASE-12564-v1.patch, 
 HBASE-12564-v2.patch


 Master getTableDescriptors() which is called by Admin.listTables() has a 
 couple of different behaviors depending on how it is called. 
 after HBASE-12073 with the AccessController enabled, we now get a global 
 admin required if listTables() is called without a regex otherwise we return 
 only the table that the user can see (we show only the tables that the user 
 have access to, which means or the user is a global admin or it has a 
 table-level create/admin). We probably should have the second behavior even 
 without regex, since I should able to see my own tables. 
 getTableDescriptors() is returning only non system tables. Tools like 
 user_permission that are doing for each listTable(): userPerm(table) are 
 losing the system tables, so stuff like user_permission 'hbase:acls' will not 
 result any result.  



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


[jira] [Updated] (HBASE-12565) Race condition in HRegion.batchMutate() causes partial data to be written when region closes

2014-12-04 Thread Keith David Winkler (JIRA)

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

Keith David Winkler updated HBASE-12565:

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

 Race condition in HRegion.batchMutate()  causes partial data to be written 
 when region closes
 -

 Key: HBASE-12565
 URL: https://issues.apache.org/jira/browse/HBASE-12565
 Project: HBase
  Issue Type: Bug
  Components: Performance, regionserver
Affects Versions: 0.98.6, 2.0.0
Reporter: Scott Fines
 Attachments: hbase-12565.patch


 The following sequence of events is possible to occur in HRegion's 
 batchMutate() call:
 1. caller attempts to call HRegion.batchMutate() with a batch of N1 records
 2. batchMutate acquires region lock in startRegionOperation, then calls 
 doMiniBatchMutation()
 3. doMiniBatchMutation acquires one row lock
 4. Region closes
 5. doMiniBatchMutation attempts to acquire second row lock.
 When this happens, the lock acquisition will also attempt to acquire the 
 region lock, which fails (because the region is closing). At this stage, 
 doMiniBatchMutation will stop writing further, BUT it WILL write data for the 
 rows whose locks have already been acquired, and advance the index in 
 MiniBatchOperationInProgress. Then, after it terminates successfully, 
 batchMutate() will loop around a second time, and attempt AGAIN to acquire 
 the region closing lock. When that happens, a NotServingRegionException is 
 thrown back to the caller.
 Thus, we have a race condition where partial data can be written when a 
 region server is closing.
 The main problem stems from the location of startRegionOperation() calls in 
 batchMutate and doMiniBatchMutation():
 1. batchMutate() reacquires the region lock with each iteration of the loop, 
 which can cause some successful writes to occur, but then fail on others
 2. getRowLock() attempts to acquire the region lock once for each row, which 
 allows doMiniBatchMutation to terminate early; this forces batchMutate() to 
 use multiple iterations and results in condition 1 being hit.
 There appears to be two parts to the solution as well:
 1. open an internal path so that doMiniBatchMutation() can acquire row locks 
 without checking for region closure. This will have the added benefit of a 
 significant performance improvement during large batch mutations.
 2. move the startRegionOperation() out of the loop in batchMutate() so that 
 multiple iterations of doMiniBatchMutation will not cause the operation to 
 fail.



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


[jira] [Updated] (HBASE-12422) Use ConnectionFactory in HTable constructors

2014-12-04 Thread stack (JIRA)

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

stack updated HBASE-12422:
--
Attachment: HBASE-12422.patch

Agree, these should be fine if their close is going to clean up the connection. 
 Retry hadoopqa.

 Use ConnectionFactory in HTable constructors
 

 Key: HBASE-12422
 URL: https://issues.apache.org/jira/browse/HBASE-12422
 Project: HBase
  Issue Type: Bug
  Components: Client
Reporter: Solomon Duskis
Assignee: Solomon Duskis
Priority: Minor
 Fix For: 1.0.0, 2.0.0

 Attachments: HBASE-12422.patch, HBASE-12422.patch, HBASE-12422.patch


 Use ConnectionFactory in HTable instead of ConnectionManager.



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


[jira] [Commented] (HBASE-12564) consolidate the getTableDescriptors() semantic

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234516#comment-14234516
 ] 

Andrew Purtell commented on HBASE-12564:


Anyway I looked at the v2 patch and it seems to do the right thing, we won't 
return descriptors unless the user has ADMIN or CREATE permissions in dominant 
scope. In postGetTableNames we will return table _names_ if the user has any of 
the Action bits in dominant scope, but that doesn't seem to be a problem, it 
follows that a user with any access to a table must know its name to make use 
of it.

 consolidate the getTableDescriptors() semantic
 --

 Key: HBASE-12564
 URL: https://issues.apache.org/jira/browse/HBASE-12564
 Project: HBase
  Issue Type: Bug
  Components: Client, master
Affects Versions: 2.0.0
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
Priority: Minor
 Fix For: 2.0.0

 Attachments: HBASE-12564-v0.patch, HBASE-12564-v1.patch, 
 HBASE-12564-v2.patch


 Master getTableDescriptors() which is called by Admin.listTables() has a 
 couple of different behaviors depending on how it is called. 
 after HBASE-12073 with the AccessController enabled, we now get a global 
 admin required if listTables() is called without a regex otherwise we return 
 only the table that the user can see (we show only the tables that the user 
 have access to, which means or the user is a global admin or it has a 
 table-level create/admin). We probably should have the second behavior even 
 without regex, since I should able to see my own tables. 
 getTableDescriptors() is returning only non system tables. Tools like 
 user_permission that are doing for each listTable(): userPerm(table) are 
 losing the system tables, so stuff like user_permission 'hbase:acls' will not 
 result any result.  



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


[jira] [Commented] (HBASE-12564) consolidate the getTableDescriptors() semantic

2014-12-04 Thread Matteo Bertozzi (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234525#comment-14234525
 ] 

Matteo Bertozzi commented on HBASE-12564:
-

{quote}No, users with read or write access should not be granted permission to 
potentially sensitive information in the schema.{quote}
yeah, sorry maybe I was not clear. I was talking about the getTableNames() 
which just returns the table names. In that case if the user have access to 
the table (by access I mean any RWXCA on any level of the table) the shell 
list will display the names (only names).
while for the descriptor as you said only users granted with ADMIN/CREATE can 
see the table schema.

 consolidate the getTableDescriptors() semantic
 --

 Key: HBASE-12564
 URL: https://issues.apache.org/jira/browse/HBASE-12564
 Project: HBase
  Issue Type: Bug
  Components: Client, master
Affects Versions: 2.0.0
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
Priority: Minor
 Fix For: 2.0.0

 Attachments: HBASE-12564-v0.patch, HBASE-12564-v1.patch, 
 HBASE-12564-v2.patch


 Master getTableDescriptors() which is called by Admin.listTables() has a 
 couple of different behaviors depending on how it is called. 
 after HBASE-12073 with the AccessController enabled, we now get a global 
 admin required if listTables() is called without a regex otherwise we return 
 only the table that the user can see (we show only the tables that the user 
 have access to, which means or the user is a global admin or it has a 
 table-level create/admin). We probably should have the second behavior even 
 without regex, since I should able to see my own tables. 
 getTableDescriptors() is returning only non system tables. Tools like 
 user_permission that are doing for each listTable(): userPerm(table) are 
 losing the system tables, so stuff like user_permission 'hbase:acls' will not 
 result any result.  



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


[jira] [Commented] (HBASE-12622) user_permission should require global admin to display global and ns permissions

2014-12-04 Thread Srikanth Srungarapu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234533#comment-14234533
 ] 

Srikanth Srungarapu commented on HBASE-12622:
-

+1 (non-binding).

 user_permission should require global admin to display global and ns 
 permissions
 

 Key: HBASE-12622
 URL: https://issues.apache.org/jira/browse/HBASE-12622
 Project: HBase
  Issue Type: Bug
  Components: security
Affects Versions: 2.0.0, 0.98.8, 0.99.2
Reporter: Matteo Bertozzi
Assignee: Matteo Bertozzi
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12622-v0.patch, HBASE-12622-v1.patch


 user_permission check the user permission only on the table level (requiring 
 at least a table-level admin)
 global and namespace permission listing is done without checking anything.
 but only a global admins should be able to perform this operations.



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


[jira] [Commented] (HBASE-12583) Allow creating reference files even the split row not lies in the storefile range if required

2014-12-04 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234555#comment-14234555
 ] 

stack commented on HBASE-12583:
---

Would it make more sense and cleaner passing the splitPolicy in when you call 
HRegionFS#splitStoreFile?  Now you have amended code base to pass a boolean.  
Later, splitting store files we might want to pass more info.  We could pass it 
as extra args or just pass the policy altogether now to future proof.  
Otherwise, patch is fine by me.

 Allow creating reference files even the split row not lies in the storefile 
 range if required
 -

 Key: HBASE-12583
 URL: https://issues.apache.org/jira/browse/HBASE-12583
 Project: HBase
  Issue Type: Improvement
Reporter: rajeshbabu
Assignee: rajeshbabu
  Labels: Phoenix
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12583.patch, HBASE-12583_98.patch, 
 HBASE-12583_branch1.patch, HBASE-12583_v2.patch


 Currently in HRegionFileSystem#splitStoreFile we are not creating reference 
 files if the split row not lies in the storefile range that means one of the 
 child region doesn't have any data.
 {code}
// Check whether the split row lies in the range of the store file
 // If it is outside the range, return directly.
 if (top) {
   //check if larger than last key.
   KeyValue splitKey = KeyValueUtil.createFirstOnRow(splitRow);
   byte[] lastKey = f.createReader().getLastKey();
   // If lastKey is null means storefile is empty.
   if (lastKey == null) return null;
   if (f.getReader().getComparator().compareFlatKey(splitKey.getBuffer(),
   splitKey.getKeyOffset(), splitKey.getKeyLength(), lastKey, 0, 
 lastKey.length)  0) {
 return null;
   }
 } else {
   //check if smaller than first key
   KeyValue splitKey = KeyValueUtil.createLastOnRow(splitRow);
   byte[] firstKey = f.createReader().getFirstKey();
   // If firstKey is null means storefile is empty.
   if (firstKey == null) return null;
   if (f.getReader().getComparator().compareFlatKey(splitKey.getBuffer(),
   splitKey.getKeyOffset(), splitKey.getKeyLength(), firstKey, 0, 
 firstKey.length)  0) {
 return null;
   }
 }
 {code}
 In some cases when split row should be compared with part of rowkey(in 
 composite rowkey) mainly for secondary index tables we need to create 
 reference files even when split row not lies in the storefile range so that 
 they can be rewritten to it's child regions by some custom half store file 
 reader which compare the part of row key with split row.
 The check of comparing split row with storefile range and returning directly 
 can be avoided by having special boolean attribute in table descriptor when 
 it set to true. Or else we can have coprocessor hooks so that in the hooks we 
 can create the references and bypass.



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


[jira] [Commented] (HBASE-12498) Integrate HydraBase RMap in RegionManager

2014-12-04 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234561#comment-14234561
 ] 

stack commented on HBASE-12498:
---

I like it that master continues to tell regionservers what they should serve.  
Thanks [~amitanand]

 Integrate HydraBase RMap in RegionManager
 -

 Key: HBASE-12498
 URL: https://issues.apache.org/jira/browse/HBASE-12498
 Project: HBase
  Issue Type: Sub-task
  Components: master, Region Assignment
Reporter: Rishit Shroff
Assignee: Amitanand Aiyer

 We need to integrate the idea of RMap (Global Region Locator) into HBase.
 RMap:
 In Hydrabase, we wanted to avoid having special tables that require to be 
 online and available, before other servers can start processing their 
 regions. To this end, in hydrabase, we use a notion of RMap — that tells the 
 servers which regions to open; and also servers as a look up place for the 
 clients to discover the set of servers handling a particular region.
 This RMap is stored in a well known path, as specified in the configuration. 
 Upon initialization, RegionServers read this file and determine the set of 
 regions that it needs to open; and the set of peers that it expects to hear 
 from for each of those regions.
 Since RMap is stored in HDFS, the only way to change it is to create a new 
 HDFS file and update the servers about it. This is intended to be a 
 not-so-common operation; however, this may be required when a new machine 
 joins the service, or an existing machine needs to be taken away for a 
 significant amount of time to perform maintenance.
 We run a daemon, every 15 minutes, (currently in the master) to determine the 
 set of machines going to repair and vice versa; and update the RMap 
 accordingly.
 1. In the current hydraBase model, updating the RMap is done by a single 
 daemon; while every region server individually reads and updates itself 
 accordingly.
 2. OSS HBase seems to be using a model where a dedicated master/server 
 manager is responsible for coordinating the regions that should be 
 opened/served by each region server. Region servers simply follow the 
 instructions received from the server manager. 
 With respect to integrating both. We plan to use the servermanager to read 
 the RMap and coordinate the region opens on various regionservers. RMap will 
 be still stored as a HDFS file, that will be read by the ServerManager/Master 
 to assign regions.



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


[jira] [Commented] (HBASE-12204) Backport HBASE-12016 'Reduce number of versions in Meta table. Make it configurable' to branch-1

2014-12-04 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234569#comment-14234569
 ] 

Enis Soztutar commented on HBASE-12204:
---

I compared the patch with the 0.98 version. Seems good. +1. 

We should be more careful for this type of feature gaps. It seems that 
HBASE-12205 went into 0.98 without the branch-1 patch. 

 Backport HBASE-12016 'Reduce number of versions in Meta table. Make it 
 configurable' to branch-1
 

 Key: HBASE-12204
 URL: https://issues.apache.org/jira/browse/HBASE-12204
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 1.0.0

 Attachments: 12204-1.0.txt


 The patch from HBASE-12016 doesn't apply to branch-1 due to the fact that 
 HBASE-7767 was applied to master only.
 This JIRA is to backport HBASE-12016 to branch-1.
 This can be done when HBASE-12035 is resolved and branch-1 is brought to 
 parity with master.



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


[jira] [Commented] (HBASE-12629) Remove hbase.regionsizecalculator.enable from RegionSizeCalculator

2014-12-04 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234572#comment-14234572
 ] 

Enis Soztutar commented on HBASE-12629:
---

I thought that it is a safeguard if you want to disable this. Why are we 
removing it? 

 Remove hbase.regionsizecalculator.enable from RegionSizeCalculator
 --

 Key: HBASE-12629
 URL: https://issues.apache.org/jira/browse/HBASE-12629
 Project: HBase
  Issue Type: Improvement
Reporter: Jonathan Hsieh
Assignee: Jonathan Hsieh
 Fix For: 1.0.0, 2.0.0

 Attachments: 
 0001-HBASE-12629-Remove-hbase.regionsizecalculator.enable.patch


 The RegionSizeCalculator has a option to disable it.  It is on by default and 
 end-to-end use with it disabled is not tested or used anywhere except for a 
 simple unit test.  This removes it.



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


[jira] [Updated] (HBASE-12204) Backport HBASE-12016 'Reduce number of versions in Meta table. Make it configurable' to branch-1

2014-12-04 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-12204:
---
Hadoop Flags: Reviewed

 Backport HBASE-12016 'Reduce number of versions in Meta table. Make it 
 configurable' to branch-1
 

 Key: HBASE-12204
 URL: https://issues.apache.org/jira/browse/HBASE-12204
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 1.0.0

 Attachments: 12204-1.0.txt


 The patch from HBASE-12016 doesn't apply to branch-1 due to the fact that 
 HBASE-7767 was applied to master only.
 This JIRA is to backport HBASE-12016 to branch-1.
 This can be done when HBASE-12035 is resolved and branch-1 is brought to 
 parity with master.



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


[jira] [Commented] (HBASE-11639) [Visibility controller] Replicate the visibility of Cells as strings

2014-12-04 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-11639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234580#comment-14234580
 ] 

Enis Soztutar commented on HBASE-11639:
---

While we are on the subject, the thing I did not fully understand in this patch 
and also in HBASE-11920 was that why do we do this way of getting a RE from 
config, then replacing that with a one coming from a CP. The RE is already 
pluggable, shouldn't the user configure RE accordingly, and then configure what 
RE to wrap in this new RE implementation rather. It seems very indirect. 

 [Visibility controller] Replicate the visibility of Cells as strings
 

 Key: HBASE-11639
 URL: https://issues.apache.org/jira/browse/HBASE-11639
 Project: HBase
  Issue Type: Improvement
  Components: Replication, security
Affects Versions: 0.98.4
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
  Labels: VisibilityLabels
 Fix For: 1.0.0, 2.0.0

 Attachments: HBASE-11639_amend.patch, HBASE-11639_v11.patch, 
 HBASE-11639_v13.patch, HBASE-11639_v13.patch, HBASE-11639_v14.patch, 
 HBASE-11639_v15.patch, HBASE-11639_v16.patch, HBASE-11639_v17.patch, 
 HBASE-11639_v2.patch, HBASE-11639_v2.patch, HBASE-11639_v3.patch, 
 HBASE-11639_v3.patch, HBASE-11639_v5.patch, HBASE-11639_v6.patch, 
 HBASE-11639_v9.patch


 This issue is aimed at persisting the visibility labels as strings in the WAL 
 rather than Label ordinals.  This would help in replicating the label 
 ordinals to the replication cluster as strings directly and also that after 
 HBASE-11553 would help because the replication cluster could have an 
 implementation as string based visibility labels.



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


[jira] [Commented] (HBASE-12493) User class should provide a way to re-use existing token

2014-12-04 Thread Yongzhi Chen (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234584#comment-14234584
 ] 

Yongzhi Chen commented on HBASE-12493:
--

[~ghelmling], the hive HBaseStorageHandler does not have the info of the hbase 
connection, all your TokenUtil.addTokenForJob methods need connection, is that 
possible you add a method with
addTokenForJob(Configuration conf, Job job, User user)

Thanks

 User class should provide a way to re-use existing token
 

 Key: HBASE-12493
 URL: https://issues.apache.org/jira/browse/HBASE-12493
 Project: HBase
  Issue Type: Task
Reporter: Brock Noland
Assignee: Gary Helmling
 Fix For: 2.0.0

 Attachments: HBASE-12493-v2.patch, HBASE-12493.patch


 In HIVE-8874 we had to re-use HBase classes market private to re-use using 
 tokens.



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


[jira] [Updated] (HBASE-12485) Maintain SeqId monotonically increasing when Region Replica is on

2014-12-04 Thread Enis Soztutar (JIRA)

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

Enis Soztutar updated HBASE-12485:
--
Fix Version/s: 2.0.0
   1.0.0

 Maintain SeqId monotonically increasing when Region Replica is on
 -

 Key: HBASE-12485
 URL: https://issues.apache.org/jira/browse/HBASE-12485
 Project: HBase
  Issue Type: Sub-task
Reporter: Jeffrey Zhong
Assignee: Jeffrey Zhong
 Fix For: 1.0.0, 2.0.0

 Attachments: HBASE-12485.patch


 We added FLUSH, REGION CLOSE events into WAL, for each those events the 
 region SeqId is bumped. 
 The issue comes from region close operation. Because when opening a region, 
 we use flushed SeqId from store files while after store flush during region 
 close we still write COMMIT_FLUSH, REGION_CLOSE events etc which respectively 
 bump up SeqId. Therefore, the region opening SeqId is lower than it should 
 be.  



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


[jira] [Updated] (HBASE-12485) Maintain SeqId monotonically increasing

2014-12-04 Thread Jeffrey Zhong (JIRA)

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

Jeffrey Zhong updated HBASE-12485:
--
Summary: Maintain SeqId monotonically increasing  (was: Maintain SeqId 
monotonically increasing when Region Replica is on)

 Maintain SeqId monotonically increasing
 ---

 Key: HBASE-12485
 URL: https://issues.apache.org/jira/browse/HBASE-12485
 Project: HBase
  Issue Type: Sub-task
Reporter: Jeffrey Zhong
Assignee: Jeffrey Zhong
 Fix For: 1.0.0, 2.0.0


 We added FLUSH, REGION CLOSE events into WAL, for each those events the 
 region SeqId is bumped. 
 The issue comes from region close operation. Because when opening a region, 
 we use flushed SeqId from store files while after store flush during region 
 close we still write COMMIT_FLUSH, REGION_CLOSE events etc which respectively 
 bump up SeqId. Therefore, the region opening SeqId is lower than it should 
 be.  



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


[jira] [Updated] (HBASE-12485) Maintain SeqId monotonically increasing

2014-12-04 Thread Jeffrey Zhong (JIRA)

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

Jeffrey Zhong updated HBASE-12485:
--
Attachment: (was: HBASE-12485.patch)

 Maintain SeqId monotonically increasing
 ---

 Key: HBASE-12485
 URL: https://issues.apache.org/jira/browse/HBASE-12485
 Project: HBase
  Issue Type: Sub-task
Reporter: Jeffrey Zhong
Assignee: Jeffrey Zhong
 Fix For: 1.0.0, 2.0.0


 We added FLUSH, REGION CLOSE events into WAL, for each those events the 
 region SeqId is bumped. 
 The issue comes from region close operation. Because when opening a region, 
 we use flushed SeqId from store files while after store flush during region 
 close we still write COMMIT_FLUSH, REGION_CLOSE events etc which respectively 
 bump up SeqId. Therefore, the region opening SeqId is lower than it should 
 be.  



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


[jira] [Updated] (HBASE-12485) Maintain SeqId monotonically increasing

2014-12-04 Thread Jeffrey Zhong (JIRA)

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

Jeffrey Zhong updated HBASE-12485:
--
Attachment: HBASE-12485.patch

Resubmit for QA run

 Maintain SeqId monotonically increasing
 ---

 Key: HBASE-12485
 URL: https://issues.apache.org/jira/browse/HBASE-12485
 Project: HBase
  Issue Type: Sub-task
Reporter: Jeffrey Zhong
Assignee: Jeffrey Zhong
 Fix For: 1.0.0, 2.0.0

 Attachments: HBASE-12485.patch


 We added FLUSH, REGION CLOSE events into WAL, for each those events the 
 region SeqId is bumped. 
 The issue comes from region close operation. Because when opening a region, 
 we use flushed SeqId from store files while after store flush during region 
 close we still write COMMIT_FLUSH, REGION_CLOSE events etc which respectively 
 bump up SeqId. Therefore, the region opening SeqId is lower than it should 
 be.  



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


[jira] [Commented] (HBASE-12493) User class should provide a way to re-use existing token

2014-12-04 Thread Gary Helmling (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234613#comment-14234613
 ] 

Gary Helmling commented on HBASE-12493:
---

[~ychena] The Hive HBaseStorageHandler should create and manage the connection, 
doing something like:

{code}
Connection conn = ConnectionFactory.createConnection(job.getConfiguration());
try {
  UserProvider userProvider = UserProvider.instantiate(job.getConfiguration());
  TokenUtil.addTokenForJob(conn, userProvider.getCurrent(), job);
} finally {
  conn.close();
}
{code}

Creating the connection and managing it should really be done explicitly.  It's 
clunky and inefficient for us to do this hidden from the client code, which 
leads to nasty things like hidden connection caching that we've been trying to 
remove from the HBase code for a long time.  It's much simpler if we just make 
the connection handling explicit.  This is why I've deprecated all methods 
which do _not_ take a {{Connection}} instance, and have to create one behind 
the scenes.

Do you see any other issues?

 User class should provide a way to re-use existing token
 

 Key: HBASE-12493
 URL: https://issues.apache.org/jira/browse/HBASE-12493
 Project: HBase
  Issue Type: Task
Reporter: Brock Noland
Assignee: Gary Helmling
 Fix For: 2.0.0

 Attachments: HBASE-12493-v2.patch, HBASE-12493.patch


 In HIVE-8874 we had to re-use HBase classes market private to re-use using 
 tokens.



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


[jira] [Created] (HBASE-12637) Compilation with Hadoop-2.4- is broken

2014-12-04 Thread Enis Soztutar (JIRA)
Enis Soztutar created HBASE-12637:
-

 Summary: Compilation with Hadoop-2.4- is broken 
 Key: HBASE-12637
 URL: https://issues.apache.org/jira/browse/HBASE-12637
 Project: HBase
  Issue Type: Bug
Reporter: Enis Soztutar
Assignee: Enis Soztutar


HBASE-12554 introduced 
{code}
public static class MockMapping extends ScriptBasedMapping {
{code}

which breaks compilation with earlier hadoop versions: 
{code}
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile 
(default-testCompile) on project hbase-server: Compilation failure: Compilation 
failure:
[ERROR] 
/Users/enis/projects/rc-test/hbase-0.99.2/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java:[77,42]
 error: cannot inherit from final ScriptBasedMapping
{code}



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


[jira] [Updated] (HBASE-12637) Compilation with Hadoop-2.4- is broken

2014-12-04 Thread Enis Soztutar (JIRA)

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

Enis Soztutar updated HBASE-12637:
--
Fix Version/s: 1.0.0

 Compilation with Hadoop-2.4- is broken 
 ---

 Key: HBASE-12637
 URL: https://issues.apache.org/jira/browse/HBASE-12637
 Project: HBase
  Issue Type: Bug
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 1.0.0


 HBASE-12554 introduced 
 {code}
 public static class MockMapping extends ScriptBasedMapping {
 {code}
 which breaks compilation with earlier hadoop versions: 
 {code}
 [ERROR] Failed to execute goal 
 org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile 
 (default-testCompile) on project hbase-server: Compilation failure: 
 Compilation failure:
 [ERROR] 
 /Users/enis/projects/rc-test/hbase-0.99.2/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java:[77,42]
  error: cannot inherit from final ScriptBasedMapping
 {code}



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


[jira] [Commented] (HBASE-12637) Compilation with Hadoop-2.4- is broken

2014-12-04 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234626#comment-14234626
 ] 

Ted Yu commented on HBASE-12637:


Thanks for catching this, Enis.

 Compilation with Hadoop-2.4- is broken 
 ---

 Key: HBASE-12637
 URL: https://issues.apache.org/jira/browse/HBASE-12637
 Project: HBase
  Issue Type: Bug
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 1.0.0


 HBASE-12554 introduced 
 {code}
 public static class MockMapping extends ScriptBasedMapping {
 {code}
 which breaks compilation with earlier hadoop versions: 
 {code}
 [ERROR] Failed to execute goal 
 org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile 
 (default-testCompile) on project hbase-server: Compilation failure: 
 Compilation failure:
 [ERROR] 
 /Users/enis/projects/rc-test/hbase-0.99.2/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java:[77,42]
  error: cannot inherit from final ScriptBasedMapping
 {code}



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


[jira] [Commented] (HBASE-12493) User class should provide a way to re-use existing token

2014-12-04 Thread Yongzhi Chen (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234628#comment-14234628
 ] 

Yongzhi Chen commented on HBASE-12493:
--

[~ghelmling], I have no other issues, thanks

 User class should provide a way to re-use existing token
 

 Key: HBASE-12493
 URL: https://issues.apache.org/jira/browse/HBASE-12493
 Project: HBase
  Issue Type: Task
Reporter: Brock Noland
Assignee: Gary Helmling
 Fix For: 2.0.0

 Attachments: HBASE-12493-v2.patch, HBASE-12493.patch


 In HIVE-8874 we had to re-use HBase classes market private to re-use using 
 tokens.



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


[jira] [Updated] (HBASE-12637) Compilation with Hadoop-2.4- is broken

2014-12-04 Thread Enis Soztutar (JIRA)

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

Enis Soztutar updated HBASE-12637:
--
Attachment: hbase-12637_v1.patch

Simple patch. 

Compiled with 2.2.0, 2.3.0, 2.4.0, 2.5.0, and 2.6.0. And ran mvn test 
-Dtest=TestBaseLoadBalancer with 2.6.0.



 Compilation with Hadoop-2.4- is broken 
 ---

 Key: HBASE-12637
 URL: https://issues.apache.org/jira/browse/HBASE-12637
 Project: HBase
  Issue Type: Bug
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 1.0.0

 Attachments: hbase-12637_v1.patch


 HBASE-12554 introduced 
 {code}
 public static class MockMapping extends ScriptBasedMapping {
 {code}
 which breaks compilation with earlier hadoop versions: 
 {code}
 [ERROR] Failed to execute goal 
 org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile 
 (default-testCompile) on project hbase-server: Compilation failure: 
 Compilation failure:
 [ERROR] 
 /Users/enis/projects/rc-test/hbase-0.99.2/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java:[77,42]
  error: cannot inherit from final ScriptBasedMapping
 {code}



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


[jira] [Commented] (HBASE-12637) Compilation with Hadoop-2.4- is broken

2014-12-04 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234638#comment-14234638
 ] 

Ted Yu commented on HBASE-12637:


+1

 Compilation with Hadoop-2.4- is broken 
 ---

 Key: HBASE-12637
 URL: https://issues.apache.org/jira/browse/HBASE-12637
 Project: HBase
  Issue Type: Bug
Reporter: Enis Soztutar
Assignee: Enis Soztutar
 Fix For: 1.0.0

 Attachments: hbase-12637_v1.patch


 HBASE-12554 introduced 
 {code}
 public static class MockMapping extends ScriptBasedMapping {
 {code}
 which breaks compilation with earlier hadoop versions: 
 {code}
 [ERROR] Failed to execute goal 
 org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile 
 (default-testCompile) on project hbase-server: Compilation failure: 
 Compilation failure:
 [ERROR] 
 /Users/enis/projects/rc-test/hbase-0.99.2/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java:[77,42]
  error: cannot inherit from final ScriptBasedMapping
 {code}



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


[jira] [Commented] (HBASE-12625) Deprecate certain methods in classes annotated with InterfaceAudience.Public in branch-1

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234643#comment-14234643
 ] 

Andrew Purtell commented on HBASE-12625:


+1 for the patch on this issue

In general I wouldn't expect Phoenix to compile against branch-1, see 
PHOENIX-1501. [~tedyu], if you have a list of compilation errors against 
Private audience APIs handy perhaps you'd comment on the Phoenix JIRA?

 Deprecate certain methods in classes annotated with InterfaceAudience.Public 
 in branch-1
 

 Key: HBASE-12625
 URL: https://issues.apache.org/jira/browse/HBASE-12625
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
 Fix For: 1.0.0

 Attachments: 12625-v1.txt


 Compiling Phoenix against branch-1, I got compilation error below:
 {code}
 [ERROR] 
 /Users/tyu/phoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java:[345,49]
  cannot find symbol
 [ERROR] symbol:   method estimatedSizeOf(org.apache.hadoop.hbase.Cell)
 [ERROR] location: class org.apache.hadoop.hbase.CellUtil
 {code}
 CellUtil is annotated with InterfaceAudience.Public
 estimatedSizeOf() should be deprecated in branch-1



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


[jira] [Updated] (HBASE-12204) Backport HBASE-12016 'Reduce number of versions in Meta table. Make it configurable' to branch-1

2014-12-04 Thread Ted Yu (JIRA)

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

Ted Yu updated HBASE-12204:
---
Resolution: Fixed
Status: Resolved  (was: Patch Available)

Thanks for the review, Enis.

 Backport HBASE-12016 'Reduce number of versions in Meta table. Make it 
 configurable' to branch-1
 

 Key: HBASE-12204
 URL: https://issues.apache.org/jira/browse/HBASE-12204
 Project: HBase
  Issue Type: Improvement
Reporter: Ted Yu
Assignee: Ted Yu
Priority: Minor
 Fix For: 1.0.0

 Attachments: 12204-1.0.txt


 The patch from HBASE-12016 doesn't apply to branch-1 due to the fact that 
 HBASE-7767 was applied to master only.
 This JIRA is to backport HBASE-12016 to branch-1.
 This can be done when HBASE-12035 is resolved and branch-1 is brought to 
 parity with master.



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


[jira] [Commented] (HBASE-12625) Deprecate certain methods in classes annotated with InterfaceAudience.Public in branch-1

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234648#comment-14234648
 ] 

Andrew Purtell commented on HBASE-12625:


RpcScheduler, RpcSchedulerFactory, and friends is LimitedPrivate(PHOENIX) and 
Evolving. My interpretation of what that means is we owe a deprecation cycle, 
so should be deprecated in branch-1 and then we can do whatever on master. Or 
revert the signature change in branch-1 and master.

 Deprecate certain methods in classes annotated with InterfaceAudience.Public 
 in branch-1
 

 Key: HBASE-12625
 URL: https://issues.apache.org/jira/browse/HBASE-12625
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
 Fix For: 1.0.0

 Attachments: 12625-v1.txt


 Compiling Phoenix against branch-1, I got compilation error below:
 {code}
 [ERROR] 
 /Users/tyu/phoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java:[345,49]
  cannot find symbol
 [ERROR] symbol:   method estimatedSizeOf(org.apache.hadoop.hbase.Cell)
 [ERROR] location: class org.apache.hadoop.hbase.CellUtil
 {code}
 CellUtil is annotated with InterfaceAudience.Public
 estimatedSizeOf() should be deprecated in branch-1



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


[jira] [Commented] (HBASE-12485) Maintain SeqId monotonically increasing

2014-12-04 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234649#comment-14234649
 ] 

stack commented on HBASE-12485:
---

Throw exception rather than WARN.
3547LOG.warn(Found decreasing SeqId. PreId= + 
currentEditSeqId +  key= + key
3548+ ; edit= + val);
It will never happen, right? (smile)

I did not realize we were writing a file into region with the sequenceid.  
Better than into zk I'd say.  Should the special file instead be named with a 
dot prefix like other special files (see head of HRegionFileSystem for list -- 
.regioninfo, .tmp, etc.)

 Maintain SeqId monotonically increasing
 ---

 Key: HBASE-12485
 URL: https://issues.apache.org/jira/browse/HBASE-12485
 Project: HBase
  Issue Type: Sub-task
Reporter: Jeffrey Zhong
Assignee: Jeffrey Zhong
 Fix For: 1.0.0, 2.0.0

 Attachments: HBASE-12485.patch


 We added FLUSH, REGION CLOSE events into WAL, for each those events the 
 region SeqId is bumped. 
 The issue comes from region close operation. Because when opening a region, 
 we use flushed SeqId from store files while after store flush during region 
 close we still write COMMIT_FLUSH, REGION_CLOSE events etc which respectively 
 bump up SeqId. Therefore, the region opening SeqId is lower than it should 
 be.  



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


[jira] [Commented] (HBASE-12635) Delete acl notify znode of table after the table is deleted

2014-12-04 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234652#comment-14234652
 ] 

stack commented on HBASE-12635:
---

FYI, hadoopqa is down currently

 Delete acl notify znode of table after the table is deleted
 ---

 Key: HBASE-12635
 URL: https://issues.apache.org/jira/browse/HBASE-12635
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.94.11, 0.98.6
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12635-v1.diff


 In our multi-tenant hbase cluster, we found that there are over 1M znodes 
 under the acl node. The reason is that users create and delete tables with 
 different names frequently.  The acl notify znode are left there after the 
 tables are deleted.
 Simple solution is that deleting acl notify znode of table in 
 AccessController when deleting the table.



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


[jira] [Commented] (HBASE-12625) Deprecate certain methods in classes annotated with InterfaceAudience.Public in branch-1

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234656#comment-14234656
 ] 

Andrew Purtell commented on HBASE-12625:


bq. return type short is not compatible with int

Yep, we deprecated that in 0.98 because we knew it would be an issue. The 
original sin was selecting a {{short}} as return type. Apologies again for that.

 Deprecate certain methods in classes annotated with InterfaceAudience.Public 
 in branch-1
 

 Key: HBASE-12625
 URL: https://issues.apache.org/jira/browse/HBASE-12625
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
 Fix For: 1.0.0

 Attachments: 12625-v1.txt


 Compiling Phoenix against branch-1, I got compilation error below:
 {code}
 [ERROR] 
 /Users/tyu/phoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java:[345,49]
  cannot find symbol
 [ERROR] symbol:   method estimatedSizeOf(org.apache.hadoop.hbase.Cell)
 [ERROR] location: class org.apache.hadoop.hbase.CellUtil
 {code}
 CellUtil is annotated with InterfaceAudience.Public
 estimatedSizeOf() should be deprecated in branch-1



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


[jira] [Commented] (HBASE-12635) Delete acl notify znode of table after the table is deleted

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234662#comment-14234662
 ] 

Andrew Purtell commented on HBASE-12635:


I'll be testing locally. Or would you prefer this wait until Jenkins is back up 
[~stack]? Let me know.

 Delete acl notify znode of table after the table is deleted
 ---

 Key: HBASE-12635
 URL: https://issues.apache.org/jira/browse/HBASE-12635
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.94.11, 0.98.6
Reporter: Liu Shaohui
Assignee: Liu Shaohui
Priority: Minor
 Fix For: 1.0.0, 2.0.0, 0.98.9

 Attachments: HBASE-12635-v1.diff


 In our multi-tenant hbase cluster, we found that there are over 1M znodes 
 under the acl node. The reason is that users create and delete tables with 
 different names frequently.  The acl notify znode are left there after the 
 tables are deleted.
 Simple solution is that deleting acl notify znode of table in 
 AccessController when deleting the table.



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


[jira] [Commented] (HBASE-12636) Avoid too many write operations on zookeeper in replication

2014-12-04 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234663#comment-14234663
 ] 

stack commented on HBASE-12636:
---

bq. Means in the event of failure we could double replicate some entries, right?

Yes. Thats ok though, right?

bq. What about recording this information into a system table instead? We can 
start the migration of replication state out of ZooKeeper.

Yes. In a separate JIRA?

Patch LGTM (The background code looks to be duplicated)



 Avoid too many write operations on zookeeper in replication
 ---

 Key: HBASE-12636
 URL: https://issues.apache.org/jira/browse/HBASE-12636
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.94.11
Reporter: Liu Shaohui
Assignee: Liu Shaohui
  Labels: replication
 Fix For: 1.0.0

 Attachments: HBASE-12636-v1.diff


 In our production cluster, we found there are about over 1k write operations 
 per second on zookeeper from hbase replication. The reason is that the 
 replication source will write the log position to zookeeper for every edit 
 shipping. If the current replicating WAL is just the WAL that regionserver is 
 writing to,  each skipping will be very small but the frequency is very high, 
 which causes many write operations on zookeeper.
 A simple solution is that writing log position to zookeeper when position 
 diff or skipped edit number is larger than a threshold, not every  edit 
 shipping.
 Suggestions are welcomed, thx~



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


[jira] [Commented] (HBASE-12273) Generate .tabledesc file during upgrading if missing

2014-12-04 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234672#comment-14234672
 ] 

stack commented on HBASE-12273:
---

[~daviddengcn] pardon me.  You want this in apache hbase?

 Generate .tabledesc file during upgrading if missing
 

 Key: HBASE-12273
 URL: https://issues.apache.org/jira/browse/HBASE-12273
 Project: HBase
  Issue Type: Sub-task
  Components: Admin
Affects Versions: 1.0.0, 0.98.7
Reporter: Yi Deng
Assignee: Yi Deng
  Labels: upgrade
 Fix For: 1.0.0, 0.98.7

 Attachments: 
 1.0-0001-INTERNAL-Add-a-tool-for-fixing-missing-TableDescript.patch


 Generate .tabledesc file during upgrading if missing



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


[jira] [Commented] (HBASE-12636) Avoid too many write operations on zookeeper in replication

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234677#comment-14234677
 ] 

Andrew Purtell commented on HBASE-12636:


bq. Yes. In a separate JIRA?

I'd say not ideally. Nobody's going to work on it. We keep putting it off. Now 
we're putting band aids on the problem. 

 Avoid too many write operations on zookeeper in replication
 ---

 Key: HBASE-12636
 URL: https://issues.apache.org/jira/browse/HBASE-12636
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.94.11
Reporter: Liu Shaohui
Assignee: Liu Shaohui
  Labels: replication
 Fix For: 1.0.0

 Attachments: HBASE-12636-v1.diff


 In our production cluster, we found there are about over 1k write operations 
 per second on zookeeper from hbase replication. The reason is that the 
 replication source will write the log position to zookeeper for every edit 
 shipping. If the current replicating WAL is just the WAL that regionserver is 
 writing to,  each skipping will be very small but the frequency is very high, 
 which causes many write operations on zookeeper.
 A simple solution is that writing log position to zookeeper when position 
 diff or skipped edit number is larger than a threshold, not every  edit 
 shipping.
 Suggestions are welcomed, thx~



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


[jira] [Commented] (HBASE-12625) Deprecate certain methods in classes annotated with InterfaceAudience.Public in branch-1

2014-12-04 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234680#comment-14234680
 ] 

Ted Yu commented on HBASE-12625:


w.r.t. RpcSchedulerFactory, I tried to add back the old method which accepts 
RegionServerServices parameter.
It wasn't straight forward - AnnotationReadingPriorityFunction expects 
parameter of type RSRpcServices.

 Deprecate certain methods in classes annotated with InterfaceAudience.Public 
 in branch-1
 

 Key: HBASE-12625
 URL: https://issues.apache.org/jira/browse/HBASE-12625
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
 Fix For: 1.0.0

 Attachments: 12625-v1.txt


 Compiling Phoenix against branch-1, I got compilation error below:
 {code}
 [ERROR] 
 /Users/tyu/phoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java:[345,49]
  cannot find symbol
 [ERROR] symbol:   method estimatedSizeOf(org.apache.hadoop.hbase.Cell)
 [ERROR] location: class org.apache.hadoop.hbase.CellUtil
 {code}
 CellUtil is annotated with InterfaceAudience.Public
 estimatedSizeOf() should be deprecated in branch-1



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


[jira] [Commented] (HBASE-12625) Deprecate certain methods in classes annotated with InterfaceAudience.Public in branch-1

2014-12-04 Thread Andrew Purtell (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-12625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14234688#comment-14234688
 ] 

Andrew Purtell commented on HBASE-12625:


{quote}
w.r.t. RpcSchedulerFactory, I tried to add back the old method which accepts 
RegionServerServices parameter.
It wasn't straight forward - AnnotationReadingPriorityFunction expects 
parameter of type RSRpcServices.
{quote}
Ok, but it's incumbent on us to fix a LimitedPrivate interface we broke without 
deprecation or warning.
/cc [~mbertozzi]

 Deprecate certain methods in classes annotated with InterfaceAudience.Public 
 in branch-1
 

 Key: HBASE-12625
 URL: https://issues.apache.org/jira/browse/HBASE-12625
 Project: HBase
  Issue Type: Task
Reporter: Ted Yu
Assignee: Ted Yu
 Fix For: 1.0.0

 Attachments: 12625-v1.txt


 Compiling Phoenix against branch-1, I got compilation error below:
 {code}
 [ERROR] 
 /Users/tyu/phoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java:[345,49]
  cannot find symbol
 [ERROR] symbol:   method estimatedSizeOf(org.apache.hadoop.hbase.Cell)
 [ERROR] location: class org.apache.hadoop.hbase.CellUtil
 {code}
 CellUtil is annotated with InterfaceAudience.Public
 estimatedSizeOf() should be deprecated in branch-1



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


  1   2   >