[jira] [Commented] (HBASE-20652) Remove internal uses of some deprecated MasterObserver hooks

2018-05-28 Thread Appy (JIRA)


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

Appy commented on HBASE-20652:
--

Thanks Ted!

> Remove internal uses of some deprecated MasterObserver hooks
> 
>
> Key: HBASE-20652
> URL: https://issues.apache.org/jira/browse/HBASE-20652
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Minor
> Fix For: 3.0.0
>
> Attachments: HBASE-20652.master.001.patch
>
>
> Remove internal uses of these hooks:
> - preModifyNamespace
> - postModifyNamespace
> - preModifyTable
> - postModifyTable
> - preModifyTableAction
> - postCompletedModifyTableAction



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20592) Create a tool to verify tables do not have prefix tree encoding

2018-05-28 Thread Appy (JIRA)


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

Appy commented on HBASE-20592:
--

bq. Why I'd prefer to have this tool in 2.0+ is to reduce the number of 
different HBase versions the users have to use during upgrade. Their existing 
1.x cluster won't have the tool but it could be part of the new version so they 
wouldn't need a third one.
Well if it could work this way, it'd be best.

But there are few considerations:
- new admin api is incompatible with 1.x. So while 2.0 uses 
TableDescriptor/ColumnFamilyDescriptor, 1.x uses HTableDescriptor, 
HColumnDescriptor. In the case (might want to check the code) that the wire 
bits are same (PBs), and what's written using one is readable by another, it 
might work.
- I think that's how CM team wanted it, these tools in separate standalone jars 
(so shading and stuff to make then not need any external when running)

> Create a tool to verify tables do not have prefix tree encoding
> ---
>
> Key: HBASE-20592
> URL: https://issues.apache.org/jira/browse/HBASE-20592
> Project: HBase
>  Issue Type: New Feature
>  Components: Operability, tooling
>Reporter: Peter Somogyi
>Assignee: Peter Somogyi
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: HBASE-20592.master.001.patch, 
> HBASE-20592.master.002.patch
>
>
> HBase 2.0.0 removed PREFIX_TREE encoding so users need to modify data block 
> encoding to something else before upgrading to HBase 2.0+. A tool would help 
> users to verify that there are no tables left with PREFIX_TREE encoding.
> The tool needs to check the following:
>  * There are no tables where DATA_BLOCK_ENCODING => 'PREFIX_TREE'
>  * -Check existing hfiles that none of them have PREFIX_TREE encoding (in 
> case table description is changed but hfiles were not rewritten)-



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20652) Remove internal uses of some deprecated MasterObserver hooks

2018-05-28 Thread Appy (JIRA)


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

Appy commented on HBASE-20652:
--

Can someone please commit this for me. Thanks :)

> Remove internal uses of some deprecated MasterObserver hooks
> 
>
> Key: HBASE-20652
> URL: https://issues.apache.org/jira/browse/HBASE-20652
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Minor
> Attachments: HBASE-20652.master.001.patch
>
>
> Remove internal uses of these hooks:
> - preModifyNamespace
> - postModifyNamespace
> - preModifyTable
> - postModifyTable
> - preModifyTableAction
> - postCompletedModifyTableAction



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20592) Create a tool to verify tables do not have prefix tree encoding

2018-05-26 Thread Appy (JIRA)

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

Appy commented on HBASE-20592:
--

So in this patch, looks like it's meant to be run against 2.0 jars?
But isn't that a problem since 2.0 admin might be incompatible with 1.x 
deployments?
I thought the initial approach was to have these tools such that they compile 
against 1.x branch, and give them in a separate jar so that they can be run 
before the upgrade is started. Has the approach changed?

> Create a tool to verify tables do not have prefix tree encoding
> ---
>
> Key: HBASE-20592
> URL: https://issues.apache.org/jira/browse/HBASE-20592
> Project: HBase
>  Issue Type: New Feature
>  Components: Operability, tooling
>Reporter: Peter Somogyi
>Assignee: Peter Somogyi
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: HBASE-20592.master.001.patch
>
>
> HBase 2.0.0 removed PREFIX_TREE encoding so users need to modify data block 
> encoding to something else before upgrading to HBase 2.0+. A tool would help 
> users to verify that there are no tables left with PREFIX_TREE encoding.
> The tool needs to check the following:
>  * There are no tables where DATA_BLOCK_ENCODING => 'PREFIX_TREE'
>  * -Check existing hfiles that none of them have PREFIX_TREE encoding (in 
> case table description is changed but hfiles were not rewritten)-



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20592) Create a tool to verify tables do not have prefix tree encoding

2018-05-26 Thread Appy (JIRA)

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

Appy commented on HBASE-20592:
--

Oh no, i forgot to look for existing jiras before starting to work on this. :(
Anyways, here's the small tool and tests i wrote: HBASE-20652
Might want to mix the best of two patches?

> Create a tool to verify tables do not have prefix tree encoding
> ---
>
> Key: HBASE-20592
> URL: https://issues.apache.org/jira/browse/HBASE-20592
> Project: HBase
>  Issue Type: New Feature
>  Components: Operability, tooling
>Reporter: Peter Somogyi
>Assignee: Peter Somogyi
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: HBASE-20592.master.001.patch
>
>
> HBase 2.0.0 removed PREFIX_TREE encoding so users need to modify data block 
> encoding to something else before upgrading to HBase 2.0+. A tool would help 
> users to verify that there are no tables left with PREFIX_TREE encoding.
> The tool needs to check the following:
>  * There are no tables where DATA_BLOCK_ENCODING => 'PREFIX_TREE'
>  * -Check existing hfiles that none of them have PREFIX_TREE encoding (in 
> case table description is changed but hfiles were not rewritten)-



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20594) provide utility to compare old and new descriptors

2018-05-26 Thread Appy (JIRA)

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

Appy commented on HBASE-20594:
--

LGTM. +1
Glad that i searched for  jira before starting to work on this again :) 

nit:
{{// CFD -> (name, CFD)}}  not sure what this comment means because map is 
actually declared above and is {{cf_name --> CFD}}

> provide utility to compare old and new descriptors
> --
>
> Key: HBASE-20594
> URL: https://issues.apache.org/jira/browse/HBASE-20594
> Project: HBase
>  Issue Type: Improvement
>Reporter: Mike Drob
>Assignee: Mike Drob
>Priority: Major
> Attachments: HBASE-20594.patch, HBASE-20594.v2.patch, 
> HBASE-20594.v3.patch, HBASE-20594.v4.patch, HBASE-20594.v5.patch, 
> HBASE-20594.v6.patch, HBASE-20594.v7.patch
>
>
> HBASE-20567 gives us hooks that give both the old and new descriptor in 
> pre/postModify* events, but comparing them is still cumbersome. We should 
> provide users some kind of utility for this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20652) Remove internal uses of some deprecated MasterObserver hooks

2018-05-26 Thread Appy (JIRA)

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

Appy updated HBASE-20652:
-
Status: Patch Available  (was: Open)

> Remove internal uses of some deprecated MasterObserver hooks
> 
>
> Key: HBASE-20652
> URL: https://issues.apache.org/jira/browse/HBASE-20652
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Minor
> Attachments: HBASE-20652.master.001.patch
>
>
> Remove internal uses of these hooks:
> - preModifyNamespace
> - postModifyNamespace
> - preModifyTable
> - postModifyTable
> - preModifyTableAction
> - postCompletedModifyTableAction



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20652) Remove internal uses of some deprecated MasterObserver hooks

2018-05-26 Thread Appy (JIRA)

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

Appy updated HBASE-20652:
-
Attachment: HBASE-20652.master.001.patch

> Remove internal uses of some deprecated MasterObserver hooks
> 
>
> Key: HBASE-20652
> URL: https://issues.apache.org/jira/browse/HBASE-20652
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Minor
> Attachments: HBASE-20652.master.001.patch
>
>
> Remove internal uses of these hooks:
> - preModifyNamespace
> - postModifyNamespace
> - preModifyTable
> - postModifyTable
> - preModifyTableAction
> - postCompletedModifyTableAction



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (HBASE-20652) Remove internal uses of some deprecated MasterObserver hooks

2018-05-26 Thread Appy (JIRA)
Appy created HBASE-20652:


 Summary: Remove internal uses of some deprecated MasterObserver 
hooks
 Key: HBASE-20652
 URL: https://issues.apache.org/jira/browse/HBASE-20652
 Project: HBase
  Issue Type: Improvement
Reporter: Appy
Assignee: Appy


Remove internal uses of these hooks:
- preModifyNamespace
- postModifyNamespace
- preModifyTable
- postModifyTable
- preModifyTableAction
- postCompletedModifyTableAction



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-16 Thread Appy (JIRA)

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

Appy commented on HBASE-20567:
--

Oh damn, my old ssh keys are in hard disk which is at home, so can't setup 
apache repo to push until night. Do you mind pushing this one for me [~mdrob]? 
Thanks for the review [~stack] and [~mdrob].

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Attachments: HBASE-20567.master.001.patch, 
> HBASE-20567.master.002.patch
>
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-11 Thread Appy (JIRA)

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

Appy updated HBASE-20567:
-
Attachment: HBASE-20567.master.002.patch

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Attachments: HBASE-20567.master.001.patch, 
> HBASE-20567.master.002.patch
>
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-11 Thread Appy (JIRA)

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

Appy updated HBASE-20567:
-
Attachment: (was: HBASE-20567.branch-2.001.patch)

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Attachments: HBASE-20567.master.001.patch
>
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-11 Thread Appy (JIRA)

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

Appy commented on HBASE-20567:
--

Dammit, it was stuck at the password phase of my submit-patch.py script. Should 
be there now :D

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Attachments: HBASE-20567.branch-2.001.patch, 
> HBASE-20567.master.001.patch
>
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-11 Thread Appy (JIRA)

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

Appy updated HBASE-20567:
-
Attachment: HBASE-20567.branch-2.001.patch

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Attachments: HBASE-20567.branch-2.001.patch, 
> HBASE-20567.master.001.patch
>
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-11 Thread Appy (JIRA)

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

Appy commented on HBASE-20567:
--

Makes sense.
Uploaded v2.
Added back old methods for backward compatibility. Now we can backport this 
patch to 2.1 too.
I took the liberty of renaming arguments in old methods to make it clear what 
they are and how they relate to new methods.

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Attachments: HBASE-20567.master.001.patch
>
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-10 Thread Appy (JIRA)

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

Appy commented on HBASE-20567:
--

I don't think we can get this into 2.0.1. Does it make sense to backport it to 
2.1??

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Attachments: HBASE-20567.master.001.patch
>
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-10 Thread Appy (JIRA)

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

Appy updated HBASE-20567:
-
Status: Patch Available  (was: Open)

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Attachments: HBASE-20567.master.001.patch
>
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-10 Thread Appy (JIRA)

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

Appy updated HBASE-20567:
-
Attachment: HBASE-20567.master.001.patch

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Attachments: HBASE-20567.master.001.patch
>
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-10 Thread Appy (JIRA)

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

Appy updated HBASE-20567:
-
Attachment: (was: HBASE-20567.branch-2.001.patch)

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-10 Thread Appy (JIRA)

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

Appy updated HBASE-20567:
-
Attachment: HBASE-20567.branch-2.001.patch

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Attachments: HBASE-20567.branch-2.001.patch
>
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20567) Pass both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-10 Thread Appy (JIRA)

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

Appy updated HBASE-20567:
-
Summary: Pass both old and new descriptors to pre/post hooks of modify 
operations for table and namespace  (was: Give both old and new descriptors to 
pre/post hooks of modify operations for table and namespace)

> Pass both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20567) Give both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-10 Thread Appy (JIRA)

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

Appy updated HBASE-20567:
-
Summary: Give both old and new descriptors to pre/post hooks of modify 
operations for table and namespace  (was: Given both old and new descriptors to 
pre/post hooks of modify operations for table and namespace)

> Give both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Priority: Major
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (HBASE-20567) Give both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-10 Thread Appy (JIRA)

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

Appy reassigned HBASE-20567:


Assignee: Appy

> Give both old and new descriptors to pre/post hooks of modify operations for 
> table and namespace
> 
>
> Key: HBASE-20567
> URL: https://issues.apache.org/jira/browse/HBASE-20567
> Project: HBase
>  Issue Type: Improvement
>Reporter: Appy
>Assignee: Appy
>Priority: Major
>
> In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's 
> no way of getting the old descriptor which was there before modification 
> happened.
> Having both old and new descriptors will make the hooks more useful.
> We felt the need when we wanted to audit certain events but there was no way 
> of deducing them by just seeing 'after-state' of modification.
> To keep the method signatures consistent, i have modified both pre and post 
> hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (HBASE-20567) Given both old and new descriptors to pre/post hooks of modify operations for table and namespace

2018-05-10 Thread Appy (JIRA)
Appy created HBASE-20567:


 Summary: Given both old and new descriptors to pre/post hooks of 
modify operations for table and namespace
 Key: HBASE-20567
 URL: https://issues.apache.org/jira/browse/HBASE-20567
 Project: HBase
  Issue Type: Improvement
Reporter: Appy


In postModify* hooks like {{postModifyX(..., Descriptor newDesc)}}, there's no 
way of getting the old descriptor which was there before modification happened.
Having both old and new descriptors will make the hooks more useful.
We felt the need when we wanted to audit certain events but there was no way of 
deducing them by just seeing 'after-state' of modification.

To keep the method signatures consistent, i have modified both pre and post 
hooks with new arguments which are well named and commented.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17449) Add explicit document on different timeout settings

2018-04-12 Thread Appy (JIRA)

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

Appy commented on HBASE-17449:
--

please mention the jira number too, so people following discussion here can 
easily move to next jira.

> Add explicit document on different timeout settings
> ---
>
> Key: HBASE-17449
> URL: https://issues.apache.org/jira/browse/HBASE-17449
> Project: HBase
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Yu Li
>Assignee: Peter Somogyi
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: 0001-Standalone.patch, HBASE-17449.master.002.patch, 
> WIP-HBASE-17499.master.001.patch
>
>
> Currently we have more than one timeout settings, mainly includes:
> * hbase.rpc.timeout
> * hbase.client.operation.timeout
> * hbase.client.scanner.timeout.period
> And in latest branch-1 or master branch code, we will have two other 
> properties:
> * hbase.rpc.read.timeout
> * hbase.rpc.write.timeout
> However, in current refguid we don't have explicit instruction on the 
> difference of these timeout settings (there're explanations for each 
> property, but no instruction on when to use which)
> In my understanding, for RPC layer timeout, or say each rpc call:
> * Scan (openScanner/next): controlled by hbase.client.scanner.timeout.period
> * Other operations:
>1. For released versions: controlled by hbase.rpc.timeout
>2. For 1.4+ versions: read operation controlled by hbase.rpc.read.timeout, 
> write operation controlled by hbase.rpc.write.timeout, or hbase.rpc.timeout 
> if the previous two are not set.
> And hbase.client.operation.timeout is a higher-level control counting retry 
> in, or say the overall control for one user call.
> After this JIRA, I hope when users ask questions like "What settings I should 
> use if I don't want to wait for more than 1 second for a single 
> put/get/scan.next call", we could give a neat answer.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20330) ProcedureExecutor.start() gets stuck in recover lease on store.

2018-04-11 Thread Appy (JIRA)

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

Appy commented on HBASE-20330:
--

Gave +1 on RB yesterday.

> ProcedureExecutor.start() gets stuck in recover lease on store.
> ---
>
> Key: HBASE-20330
> URL: https://issues.apache.org/jira/browse/HBASE-20330
> Project: HBase
>  Issue Type: Bug
>  Components: proc-v2
>Affects Versions: 2.0.0-beta-2
>Reporter: Umesh Agashe
>Assignee: Umesh Agashe
>Priority: Major
> Fix For: 2.0.0
>
> Attachments: hbase-20330.master.001.patch, 
> hbase-20330.master.002.patch, hbase-20330.master.003.patch, 
> hbase-20330.master.004.patch, hbase-20330.master.005.patch
>
>
> We have instance in our internal testing where master log is getting filled 
> with following messages:
> {code}
> 2018-04-02 17:11:17,566 INFO org.apache.hadoop.hbase.util.FSHDFSUtils: 
> Recover lease on dfs file 
> hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log
> 2018-04-02 17:11:17,567 INFO org.apache.hadoop.hbase.util.FSHDFSUtils: 
> Recovered lease, attempt=0 on 
> file=hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log after 1ms
> 2018-04-02 17:11:17,574 WARN 
> org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore: Unable to 
> read tracker for hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log 
> - Invalid Trailer version. got 111 expected 1
> 2018-04-02 17:11:17,576 ERROR 
> org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore: Log file with 
> id=19 already exists
> org.apache.hadoop.fs.FileAlreadyExistsException: 
> /hbase/MasterProcWALs/pv2-0019.log for client 10.17.202.11 
> already exists
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp.startFile(FSDirWriteFileOp.java:381)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2442)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:2339)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:764)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:451)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991)
> at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:869)
> at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:815)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:422)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1962)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2675)
> {code}
> Debugging it further with [~appy], [~avirmani] and [~xiaochen] we found that 
> when WALProcedureStore#rollWriter() fails and returns false for some reason, 
> it keeps looping continuously.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20243) [Shell] Add shell command to create a new table by cloning the existent table

2018-04-11 Thread Appy (JIRA)

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

Appy commented on HBASE-20243:
--

Beautiful. +100

> [Shell] Add shell command to create a new table by cloning the existent table
> -
>
> Key: HBASE-20243
> URL: https://issues.apache.org/jira/browse/HBASE-20243
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: HBASE-20243.master.001.patch, 
> HBASE-20243.master.002.patch, HBASE-20243.master.003.patch, 
> HBASE-20243.master.004.patch, HBASE-20243.master.005.patch, 
> HBASE-20243.master.006.patch, HBASE-20243.master.007.patch, 
> HBASE-20243.master.008.patch, HBASE-20243.master.008.patch, 
> HBASE-20243.master.009.patch, HBASE-20243.master.010.patch
>
>
> In the production environment, we need to create a new table every day. The 
> schema and the split keys of the table are the same as that of yesterday's 
> table, only the name of the table is different. For example, 
> x_20180321,x_20180322 etc.But now there is no convenient command to 
> do this. So we may need such a command(clone_table) to create a new table by 
> cloning the existent table.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20350) NullPointerException in Scanner during close()

2018-04-10 Thread Appy (JIRA)

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

Appy commented on HBASE-20350:
--

That's probably because poll() can return null value when PQ heap is empty, 
whereas, it won't happen if we iterate like this.
 

> NullPointerException in Scanner during close()
> --
>
> Key: HBASE-20350
> URL: https://issues.apache.org/jira/browse/HBASE-20350
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0-beta-2
>Reporter: Umesh Agashe
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
> Attachments: HBASE-20350.master.001.patch
>
>
> From logs:
> {code}
> 2018-04-03 02:06:00,630 INFO org.apache.hadoop.hbase.regionserver.HRegion: 
> Replaying edits from 
> hdfs://ns1/hbase/data/default/IntegrationTestBigLinkedList_20180403004104/834545a2ae1baa47082a3bc7aab2be2f/recovered.edits/1032167
> 2018-04-03 02:06:00,724 INFO 
> org.apache.hadoop.hbase.regionserver.RSRpcServices: Scanner 
> 2120114333978460945 lease expired on region 
> IntegrationTestBigLinkedList_20180403004104,\xF1\xFE\xCB\x98e1\xF8\xD4,1522742825561.ce0d91585a2d188123173c36d0b693a5.
> 2018-04-03 02:06:00,730 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: * ABORTING region 
> server vd0510.halxg.cloudera.com,22101,1522626204176: Uncaught exception in 
> executorService thread 
> regionserver/vd0510.halxg.cloudera.com/10.17.226.13:22101.leaseChecker *
> java.lang.NullPointerException
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compareRows(CellComparatorImpl.java:202)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:74)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:61)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:207)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:190)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:178)
>   at java.util.PriorityQueue.siftDownUsingComparator(PriorityQueue.java:721)
>   at java.util.PriorityQueue.siftDown(PriorityQueue.java:687)
>   at java.util.PriorityQueue.poll(PriorityQueue.java:595)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:228)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:483)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:464)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:224)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.close(HRegion.java:)
>   at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices$ScannerListener.leaseExpired(RSRpcServices.java:460)
>   at org.apache.hadoop.hbase.regionserver.Leases.run(Leases.java:122)
>   at java.lang.Thread.run(Thread.java:748)
> 2018-04-03 02:06:00,731 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: RegionServer abort: 
> loaded coprocessors are: 
> [org.apache.hadoop.hbase.security.access.AccessController, 
> org.apache.hadoop.hbase.security.token.TokenProvider, 
> org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint, 
> com.cloudera.navigator.audit.hbase.RegionAuditCoProcessor]
> 2018-04-03 02:06:00,737 INFO 
> org.apache.hadoop.hbase.regionserver.HRegionServer: Dump of metrics as JSON 
> on abort: {
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20350) NullPointerException in Scanner during close()

2018-04-06 Thread Appy (JIRA)

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

Appy updated HBASE-20350:
-
Status: Patch Available  (was: Open)

> NullPointerException in Scanner during close()
> --
>
> Key: HBASE-20350
> URL: https://issues.apache.org/jira/browse/HBASE-20350
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0-beta-2
>Reporter: Umesh Agashe
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
> Attachments: HBASE-20350.master.001.patch
>
>
> From logs:
> {code}
> 2018-04-03 02:06:00,630 INFO org.apache.hadoop.hbase.regionserver.HRegion: 
> Replaying edits from 
> hdfs://ns1/hbase/data/default/IntegrationTestBigLinkedList_20180403004104/834545a2ae1baa47082a3bc7aab2be2f/recovered.edits/1032167
> 2018-04-03 02:06:00,724 INFO 
> org.apache.hadoop.hbase.regionserver.RSRpcServices: Scanner 
> 2120114333978460945 lease expired on region 
> IntegrationTestBigLinkedList_20180403004104,\xF1\xFE\xCB\x98e1\xF8\xD4,1522742825561.ce0d91585a2d188123173c36d0b693a5.
> 2018-04-03 02:06:00,730 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: * ABORTING region 
> server vd0510.halxg.cloudera.com,22101,1522626204176: Uncaught exception in 
> executorService thread 
> regionserver/vd0510.halxg.cloudera.com/10.17.226.13:22101.leaseChecker *
> java.lang.NullPointerException
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compareRows(CellComparatorImpl.java:202)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:74)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:61)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:207)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:190)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:178)
>   at java.util.PriorityQueue.siftDownUsingComparator(PriorityQueue.java:721)
>   at java.util.PriorityQueue.siftDown(PriorityQueue.java:687)
>   at java.util.PriorityQueue.poll(PriorityQueue.java:595)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:228)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:483)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:464)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:224)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.close(HRegion.java:)
>   at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices$ScannerListener.leaseExpired(RSRpcServices.java:460)
>   at org.apache.hadoop.hbase.regionserver.Leases.run(Leases.java:122)
>   at java.lang.Thread.run(Thread.java:748)
> 2018-04-03 02:06:00,731 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: RegionServer abort: 
> loaded coprocessors are: 
> [org.apache.hadoop.hbase.security.access.AccessController, 
> org.apache.hadoop.hbase.security.token.TokenProvider, 
> org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint, 
> com.cloudera.navigator.audit.hbase.RegionAuditCoProcessor]
> 2018-04-03 02:06:00,737 INFO 
> org.apache.hadoop.hbase.regionserver.HRegionServer: Dump of metrics as JSON 
> on abort: {
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20350) NullPointerException in Scanner during close()

2018-04-06 Thread Appy (JIRA)

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

Appy updated HBASE-20350:
-
Attachment: HBASE-20350.master.001.patch

> NullPointerException in Scanner during close()
> --
>
> Key: HBASE-20350
> URL: https://issues.apache.org/jira/browse/HBASE-20350
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0-beta-2
>Reporter: Umesh Agashe
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
> Attachments: HBASE-20350.master.001.patch
>
>
> From logs:
> {code}
> 2018-04-03 02:06:00,630 INFO org.apache.hadoop.hbase.regionserver.HRegion: 
> Replaying edits from 
> hdfs://ns1/hbase/data/default/IntegrationTestBigLinkedList_20180403004104/834545a2ae1baa47082a3bc7aab2be2f/recovered.edits/1032167
> 2018-04-03 02:06:00,724 INFO 
> org.apache.hadoop.hbase.regionserver.RSRpcServices: Scanner 
> 2120114333978460945 lease expired on region 
> IntegrationTestBigLinkedList_20180403004104,\xF1\xFE\xCB\x98e1\xF8\xD4,1522742825561.ce0d91585a2d188123173c36d0b693a5.
> 2018-04-03 02:06:00,730 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: * ABORTING region 
> server vd0510.halxg.cloudera.com,22101,1522626204176: Uncaught exception in 
> executorService thread 
> regionserver/vd0510.halxg.cloudera.com/10.17.226.13:22101.leaseChecker *
> java.lang.NullPointerException
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compareRows(CellComparatorImpl.java:202)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:74)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:61)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:207)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:190)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:178)
>   at java.util.PriorityQueue.siftDownUsingComparator(PriorityQueue.java:721)
>   at java.util.PriorityQueue.siftDown(PriorityQueue.java:687)
>   at java.util.PriorityQueue.poll(PriorityQueue.java:595)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:228)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:483)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:464)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:224)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.close(HRegion.java:)
>   at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices$ScannerListener.leaseExpired(RSRpcServices.java:460)
>   at org.apache.hadoop.hbase.regionserver.Leases.run(Leases.java:122)
>   at java.lang.Thread.run(Thread.java:748)
> 2018-04-03 02:06:00,731 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: RegionServer abort: 
> loaded coprocessors are: 
> [org.apache.hadoop.hbase.security.access.AccessController, 
> org.apache.hadoop.hbase.security.token.TokenProvider, 
> org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint, 
> com.cloudera.navigator.audit.hbase.RegionAuditCoProcessor]
> 2018-04-03 02:06:00,737 INFO 
> org.apache.hadoop.hbase.regionserver.HRegionServer: Dump of metrics as JSON 
> on abort: {
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20350) NullPointerException in Scanner during close()

2018-04-06 Thread Appy (JIRA)

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

Appy commented on HBASE-20350:
--

bq. Can we check the return value from scanner.peek() before calling 
scanner.close() ?
That's useless work done by process when all that's needed is getting rid of 
the scanner.

Iterate and close seems right way, let me put up patch.


> NullPointerException in Scanner during close()
> --
>
> Key: HBASE-20350
> URL: https://issues.apache.org/jira/browse/HBASE-20350
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0-beta-2
>Reporter: Umesh Agashe
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
>
> From logs:
> {code}
> 2018-04-03 02:06:00,630 INFO org.apache.hadoop.hbase.regionserver.HRegion: 
> Replaying edits from 
> hdfs://ns1/hbase/data/default/IntegrationTestBigLinkedList_20180403004104/834545a2ae1baa47082a3bc7aab2be2f/recovered.edits/1032167
> 2018-04-03 02:06:00,724 INFO 
> org.apache.hadoop.hbase.regionserver.RSRpcServices: Scanner 
> 2120114333978460945 lease expired on region 
> IntegrationTestBigLinkedList_20180403004104,\xF1\xFE\xCB\x98e1\xF8\xD4,1522742825561.ce0d91585a2d188123173c36d0b693a5.
> 2018-04-03 02:06:00,730 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: * ABORTING region 
> server vd0510.halxg.cloudera.com,22101,1522626204176: Uncaught exception in 
> executorService thread 
> regionserver/vd0510.halxg.cloudera.com/10.17.226.13:22101.leaseChecker *
> java.lang.NullPointerException
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compareRows(CellComparatorImpl.java:202)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:74)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:61)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:207)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:190)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:178)
>   at java.util.PriorityQueue.siftDownUsingComparator(PriorityQueue.java:721)
>   at java.util.PriorityQueue.siftDown(PriorityQueue.java:687)
>   at java.util.PriorityQueue.poll(PriorityQueue.java:595)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:228)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:483)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:464)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:224)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.close(HRegion.java:)
>   at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices$ScannerListener.leaseExpired(RSRpcServices.java:460)
>   at org.apache.hadoop.hbase.regionserver.Leases.run(Leases.java:122)
>   at java.lang.Thread.run(Thread.java:748)
> 2018-04-03 02:06:00,731 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: RegionServer abort: 
> loaded coprocessors are: 
> [org.apache.hadoop.hbase.security.access.AccessController, 
> org.apache.hadoop.hbase.security.token.TokenProvider, 
> org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint, 
> com.cloudera.navigator.audit.hbase.RegionAuditCoProcessor]
> 2018-04-03 02:06:00,737 INFO 
> org.apache.hadoop.hbase.regionserver.HRegionServer: Dump of metrics as JSON 
> on abort: {
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17449) Add explicit document on different timeout settings

2018-04-06 Thread Appy (JIRA)

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

Appy commented on HBASE-17449:
--

Update, i have tests to prove that it works. Still working on fixing few errors.

> Add explicit document on different timeout settings
> ---
>
> Key: HBASE-17449
> URL: https://issues.apache.org/jira/browse/HBASE-17449
> Project: HBase
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Yu Li
>Assignee: Peter Somogyi
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: 0001-Standalone.patch, HBASE-17449.master.002.patch, 
> WIP-HBASE-17499.master.001.patch
>
>
> Currently we have more than one timeout settings, mainly includes:
> * hbase.rpc.timeout
> * hbase.client.operation.timeout
> * hbase.client.scanner.timeout.period
> And in latest branch-1 or master branch code, we will have two other 
> properties:
> * hbase.rpc.read.timeout
> * hbase.rpc.write.timeout
> However, in current refguid we don't have explicit instruction on the 
> difference of these timeout settings (there're explanations for each 
> property, but no instruction on when to use which)
> In my understanding, for RPC layer timeout, or say each rpc call:
> * Scan (openScanner/next): controlled by hbase.client.scanner.timeout.period
> * Other operations:
>1. For released versions: controlled by hbase.rpc.timeout
>2. For 1.4+ versions: read operation controlled by hbase.rpc.read.timeout, 
> write operation controlled by hbase.rpc.write.timeout, or hbase.rpc.timeout 
> if the previous two are not set.
> And hbase.client.operation.timeout is a higher-level control counting retry 
> in, or say the overall control for one user call.
> After this JIRA, I hope when users ask questions like "What settings I should 
> use if I don't want to wait for more than 1 second for a single 
> put/get/scan.next call", we could give a neat answer.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20350) NullPointerException in Scanner during close()

2018-04-06 Thread Appy (JIRA)

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

Appy updated HBASE-20350:
-
Summary: NullPointerException in Scanner during close()  (was: RegionServer 
is aborted due to NPE when scanner lease expired on a region)

> NullPointerException in Scanner during close()
> --
>
> Key: HBASE-20350
> URL: https://issues.apache.org/jira/browse/HBASE-20350
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0-beta-2
>Reporter: Umesh Agashe
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
>
> From logs:
> {code}
> 2018-04-03 02:06:00,630 INFO org.apache.hadoop.hbase.regionserver.HRegion: 
> Replaying edits from 
> hdfs://ns1/hbase/data/default/IntegrationTestBigLinkedList_20180403004104/834545a2ae1baa47082a3bc7aab2be2f/recovered.edits/1032167
> 2018-04-03 02:06:00,724 INFO 
> org.apache.hadoop.hbase.regionserver.RSRpcServices: Scanner 
> 2120114333978460945 lease expired on region 
> IntegrationTestBigLinkedList_20180403004104,\xF1\xFE\xCB\x98e1\xF8\xD4,1522742825561.ce0d91585a2d188123173c36d0b693a5.
> 2018-04-03 02:06:00,730 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: * ABORTING region 
> server vd0510.halxg.cloudera.com,22101,1522626204176: Uncaught exception in 
> executorService thread 
> regionserver/vd0510.halxg.cloudera.com/10.17.226.13:22101.leaseChecker *
> java.lang.NullPointerException
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compareRows(CellComparatorImpl.java:202)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:74)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:61)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:207)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:190)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:178)
>   at java.util.PriorityQueue.siftDownUsingComparator(PriorityQueue.java:721)
>   at java.util.PriorityQueue.siftDown(PriorityQueue.java:687)
>   at java.util.PriorityQueue.poll(PriorityQueue.java:595)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:228)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:483)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:464)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:224)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.close(HRegion.java:)
>   at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices$ScannerListener.leaseExpired(RSRpcServices.java:460)
>   at org.apache.hadoop.hbase.regionserver.Leases.run(Leases.java:122)
>   at java.lang.Thread.run(Thread.java:748)
> 2018-04-03 02:06:00,731 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: RegionServer abort: 
> loaded coprocessors are: 
> [org.apache.hadoop.hbase.security.access.AccessController, 
> org.apache.hadoop.hbase.security.token.TokenProvider, 
> org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint, 
> com.cloudera.navigator.audit.hbase.RegionAuditCoProcessor]
> 2018-04-03 02:06:00,737 INFO 
> org.apache.hadoop.hbase.regionserver.HRegionServer: Dump of metrics as JSON 
> on abort: {
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20330) ProcedureExecutor.start() gets stuck in recover lease on store.

2018-04-06 Thread Appy (JIRA)

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

Appy commented on HBASE-20330:
--

RB down for me.
[~uagashe] try the suggestion, you'll see what i am saying.
It's just a simple code refactor to make it easy to understand different code 
flows.

> ProcedureExecutor.start() gets stuck in recover lease on store.
> ---
>
> Key: HBASE-20330
> URL: https://issues.apache.org/jira/browse/HBASE-20330
> Project: HBase
>  Issue Type: Bug
>  Components: proc-v2
>Affects Versions: 2.0.0-beta-2
>Reporter: Umesh Agashe
>Assignee: Umesh Agashe
>Priority: Major
> Fix For: 2.0.0
>
> Attachments: hbase-20330.master.001.patch, 
> hbase-20330.master.002.patch, hbase-20330.master.003.patch, 
> hbase-20330.master.004.patch
>
>
> We have instance in our internal testing where master log is getting filled 
> with following messages:
> {code}
> 2018-04-02 17:11:17,566 INFO org.apache.hadoop.hbase.util.FSHDFSUtils: 
> Recover lease on dfs file 
> hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log
> 2018-04-02 17:11:17,567 INFO org.apache.hadoop.hbase.util.FSHDFSUtils: 
> Recovered lease, attempt=0 on 
> file=hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log after 1ms
> 2018-04-02 17:11:17,574 WARN 
> org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore: Unable to 
> read tracker for hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log 
> - Invalid Trailer version. got 111 expected 1
> 2018-04-02 17:11:17,576 ERROR 
> org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore: Log file with 
> id=19 already exists
> org.apache.hadoop.fs.FileAlreadyExistsException: 
> /hbase/MasterProcWALs/pv2-0019.log for client 10.17.202.11 
> already exists
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp.startFile(FSDirWriteFileOp.java:381)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2442)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:2339)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:764)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:451)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991)
> at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:869)
> at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:815)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:422)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1962)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2675)
> {code}
> Debugging it further with [~appy], [~avirmani] and [~xiaochen] we found that 
> when WALProcedureStore#rollWriter() fails and returns false for some reason, 
> it keeps looping continuously.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20350) RegionServer is aborted due to NPE when scanner lease expired on a region

2018-04-06 Thread Appy (JIRA)

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

Appy commented on HBASE-20350:
--

This bug is breakdown of our very basic invariant - scanner.next() doesn't 
return null.
Basic pattern in scanners is, after each scanner.next(), do a scanner.peek() to 
make sure that next call to next() won't be null.

In this bug, when PQ.poll() is called, it calls peek() on scanners and gets 
null from some scanner, which is bad.
The fact that the poll was done during close() which in turn was started by 
lease expiry doesn't necessarily make the lease expiry culprit. I think it 
*could* have very well happened if the scanner was in exact same state but 
close was called by say, the client.

This will be a very difficult to reproduce without knowing exact scanner 
details, and hence difficult to debug.
The difficulty adds up given not many changes were made to this part recently 
(the once i saw seemed unrelated, like casting, etc)

So i'd say, don't make it a blocker.

But yes, a simple iteration over scanners in KeyValueHeap, instead of poll()s, 
when closing seems a good change to make.

> RegionServer is aborted due to NPE when scanner lease expired on a region
> -
>
> Key: HBASE-20350
> URL: https://issues.apache.org/jira/browse/HBASE-20350
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.0.0-beta-2
>Reporter: Umesh Agashe
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
>
> From logs:
> {code}
> 2018-04-03 02:06:00,630 INFO org.apache.hadoop.hbase.regionserver.HRegion: 
> Replaying edits from 
> hdfs://ns1/hbase/data/default/IntegrationTestBigLinkedList_20180403004104/834545a2ae1baa47082a3bc7aab2be2f/recovered.edits/1032167
> 2018-04-03 02:06:00,724 INFO 
> org.apache.hadoop.hbase.regionserver.RSRpcServices: Scanner 
> 2120114333978460945 lease expired on region 
> IntegrationTestBigLinkedList_20180403004104,\xF1\xFE\xCB\x98e1\xF8\xD4,1522742825561.ce0d91585a2d188123173c36d0b693a5.
> 2018-04-03 02:06:00,730 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: * ABORTING region 
> server vd0510.halxg.cloudera.com,22101,1522626204176: Uncaught exception in 
> executorService thread 
> regionserver/vd0510.halxg.cloudera.com/10.17.226.13:22101.leaseChecker *
> java.lang.NullPointerException
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compareRows(CellComparatorImpl.java:202)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:74)
>   at 
> org.apache.hadoop.hbase.CellComparatorImpl.compare(CellComparatorImpl.java:61)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:207)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:190)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap$KVScannerComparator.compare(KeyValueHeap.java:178)
>   at java.util.PriorityQueue.siftDownUsingComparator(PriorityQueue.java:721)
>   at java.util.PriorityQueue.siftDown(PriorityQueue.java:687)
>   at java.util.PriorityQueue.poll(PriorityQueue.java:595)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:228)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:483)
>   at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:464)
>   at 
> org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:224)
>   at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.close(HRegion.java:)
>   at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices$ScannerListener.leaseExpired(RSRpcServices.java:460)
>   at org.apache.hadoop.hbase.regionserver.Leases.run(Leases.java:122)
>   at java.lang.Thread.run(Thread.java:748)
> 2018-04-03 02:06:00,731 ERROR 
> org.apache.hadoop.hbase.regionserver.HRegionServer: RegionServer abort: 
> loaded coprocessors are: 
> [org.apache.hadoop.hbase.security.access.AccessController, 
> org.apache.hadoop.hbase.security.token.TokenProvider, 
> org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint, 
> com.cloudera.navigator.audit.hbase.RegionAuditCoProcessor]
> 2018-04-03 02:06:00,737 INFO 
> org.apache.hadoop.hbase.regionserver.HRegionServer: Dump of metrics as JSON 
> on abort: {
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20286) Improving shell command compaction_state

2018-04-06 Thread Appy (JIRA)

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

Appy updated HBASE-20286:
-
Fix Version/s: 1.5.0
   2.1.0

> Improving shell command compaction_state
> 
>
> Key: HBASE-20286
> URL: https://issues.apache.org/jira/browse/HBASE-20286
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Csaba Skrabak
>Priority: Minor
> Fix For: 2.1.0, 1.5.0
>
> Attachments: HBASE-20286-v2.patch, HBASE-20286.patch
>
>
> Command does not output anything, let's add a formatter.row call.
> We should include the possible outputs in the help text.
> *Further improvement possibility.* This command can be used for checking if 
> the compaction is done but very impractical if one wants to wait _until_ it 
> is done. Wish there would be a flag in the shell that enforces synchronous 
> compactions, that is, every time you issue a compact or major_compact in the 
> shell while this flag is set, you won't get back the prompt until it finishes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20286) Improving shell command compaction_state

2018-04-06 Thread Appy (JIRA)

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

Appy updated HBASE-20286:
-
Resolution: Fixed
Status: Resolved  (was: Patch Available)

> Improving shell command compaction_state
> 
>
> Key: HBASE-20286
> URL: https://issues.apache.org/jira/browse/HBASE-20286
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Csaba Skrabak
>Priority: Minor
> Fix For: 2.1.0, 1.5.0
>
> Attachments: HBASE-20286-v2.patch, HBASE-20286.patch
>
>
> Command does not output anything, let's add a formatter.row call.
> We should include the possible outputs in the help text.
> *Further improvement possibility.* This command can be used for checking if 
> the compaction is done but very impractical if one wants to wait _until_ it 
> is done. Wish there would be a flag in the shell that enforces synchronous 
> compactions, that is, every time you issue a compact or major_compact in the 
> shell while this flag is set, you won't get back the prompt until it finishes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (HBASE-20286) Improving shell command compaction_state

2018-04-06 Thread Appy (JIRA)

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

Appy reassigned HBASE-20286:


Assignee: Csaba Skrabak

> Improving shell command compaction_state
> 
>
> Key: HBASE-20286
> URL: https://issues.apache.org/jira/browse/HBASE-20286
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Csaba Skrabak
>Assignee: Csaba Skrabak
>Priority: Minor
> Fix For: 2.1.0, 1.5.0
>
> Attachments: HBASE-20286-v2.patch, HBASE-20286.patch
>
>
> Command does not output anything, let's add a formatter.row call.
> We should include the possible outputs in the help text.
> *Further improvement possibility.* This command can be used for checking if 
> the compaction is done but very impractical if one wants to wait _until_ it 
> is done. Wish there would be a flag in the shell that enforces synchronous 
> compactions, that is, every time you issue a compact or major_compact in the 
> shell while this flag is set, you won't get back the prompt until it finishes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20286) Improving shell command compaction_state

2018-04-06 Thread Appy (JIRA)

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

Appy commented on HBASE-20286:
--

Precisely... :) Thanks [~cskrabak].
+1
Pushing to repo.


> Improving shell command compaction_state
> 
>
> Key: HBASE-20286
> URL: https://issues.apache.org/jira/browse/HBASE-20286
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Csaba Skrabak
>Priority: Minor
> Attachments: HBASE-20286-v2.patch, HBASE-20286.patch
>
>
> Command does not output anything, let's add a formatter.row call.
> We should include the possible outputs in the help text.
> *Further improvement possibility.* This command can be used for checking if 
> the compaction is done but very impractical if one wants to wait _until_ it 
> is done. Wish there would be a flag in the shell that enforces synchronous 
> compactions, that is, every time you issue a compact or major_compact in the 
> shell while this flag is set, you won't get back the prompt until it finishes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20149) Purge dev javadoc from bin tarball (or make a separate tarball of javadoc)

2018-04-06 Thread Appy (JIRA)

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

Appy commented on HBASE-20149:
--

What's the possibility - technically, policy-wise if any, user expectation, etc 
- of separating out all of site stuff from the release?

> Purge dev javadoc from bin tarball (or make a separate tarball of javadoc)
> --
>
> Key: HBASE-20149
> URL: https://issues.apache.org/jira/browse/HBASE-20149
> Project: HBase
>  Issue Type: Sub-task
>  Components: build, community, documentation
>Reporter: stack
>Assignee: Artem Ervits
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: HBASE-20149.branch-2.0.001.patch
>
>
> The bin tarball is too fat (Chia-Ping and Josh noticed it on the beta-2 
> vote). A note to the dev list subsequently resulted in suggestion that we 
> just purge dev javadoc (or even all javadoc) from bin tarball (Andrew). Sean 
> was good w/ it and suggested perhaps we could do a javadoc only tgz. Let me 
> look into this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-19488) Move to using Apache commons CollectionUtils

2018-04-05 Thread Appy (JIRA)

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

Appy updated HBASE-19488:
-
Resolution: Fixed
Status: Resolved  (was: Patch Available)

> Move to using Apache commons CollectionUtils
> 
>
> Key: HBASE-19488
> URL: https://issues.apache.org/jira/browse/HBASE-19488
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase
>Affects Versions: 3.0.0
>Reporter: BELUGA BEHR
>Assignee: BELUGA BEHR
>Priority: Trivial
> Fix For: 2.1.0
>
> Attachments: HBASE-19488.1.patch, HBASE-19488.2.patch, 
> HBASE-19488.3.patch, HBASE-19488.4.patch, HBASE-19488.5.patch
>
>
> A bunch of unused code in CollectionUtils or code that can be found in Apache 
> Commons libraries.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20286) Improving shell command compaction_state

2018-04-04 Thread Appy (JIRA)

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

Appy commented on HBASE-20286:
--

That issue is unrelated, it's about how to handle values returned by commands 
in interactive mode, and not about whether commands should return values or 
note in the first place.
{quote}I believe users don't really rely on this hidden command, the idea of a 
compaction_state command came from a testing task.
{quote}
Can't know for sure, so let's put it back? Almost everything start with some 
idea and outgrows its initial scope. It's plausible that someone can be using 
it in a script as some sort of wait condition.

> Improving shell command compaction_state
> 
>
> Key: HBASE-20286
> URL: https://issues.apache.org/jira/browse/HBASE-20286
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Csaba Skrabak
>Priority: Minor
> Attachments: HBASE-20286.patch
>
>
> Command does not output anything, let's add a formatter.row call.
> We should include the possible outputs in the help text.
> *Further improvement possibility.* This command can be used for checking if 
> the compaction is done but very impractical if one wants to wait _until_ it 
> is done. Wish there would be a flag in the shell that enforces synchronous 
> compactions, that is, every time you issue a compact or major_compact in the 
> shell while this flag is set, you won't get back the prompt until it finishes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-19488) Move to using Apache commons CollectionUtils

2018-04-04 Thread Appy (JIRA)

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

Appy updated HBASE-19488:
-
Fix Version/s: 2.1.0

> Move to using Apache commons CollectionUtils
> 
>
> Key: HBASE-19488
> URL: https://issues.apache.org/jira/browse/HBASE-19488
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase
>Affects Versions: 3.0.0
>Reporter: BELUGA BEHR
>Assignee: BELUGA BEHR
>Priority: Trivial
> Fix For: 2.1.0
>
> Attachments: HBASE-19488.1.patch, HBASE-19488.2.patch, 
> HBASE-19488.3.patch, HBASE-19488.4.patch, HBASE-19488.5.patch
>
>
> A bunch of unused code in CollectionUtils or code that can be found in Apache 
> Commons libraries.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-19488) Move to using Apache commons CollectionUtils

2018-04-04 Thread Appy (JIRA)

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

Appy updated HBASE-19488:
-
Summary: Move to using Apache commons CollectionUtils  (was: Remove Unused 
Code from CollectionUtils)

> Move to using Apache commons CollectionUtils
> 
>
> Key: HBASE-19488
> URL: https://issues.apache.org/jira/browse/HBASE-19488
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase
>Affects Versions: 3.0.0
>Reporter: BELUGA BEHR
>Assignee: BELUGA BEHR
>Priority: Trivial
> Attachments: HBASE-19488.1.patch, HBASE-19488.2.patch, 
> HBASE-19488.3.patch, HBASE-19488.4.patch, HBASE-19488.5.patch
>
>
> A bunch of unused code in CollectionUtils or code that can be found in Apache 
> Commons libraries.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20243) [Shell] Add shell command to create a new table by cloning the existent table

2018-04-04 Thread Appy (JIRA)

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

Appy commented on HBASE-20243:
--

QA still not happy. 

Would have been fine committing it if qa was green, but since there's gonna be 
another revision, here are couple minor suggestions on the table which'll lead 
to more maintainable code. It's upto you to take/leave them
 * In our design, shell tests are not run when we submit a patch to just 
hbase-server module. So if someone changes error message, your last two tests 
will start failing. Probably checking for just the exception type is enough.
 * *Prefer multiple small tests over one-for-all test*. It's easy to maintain 
since unittest code is more chunked -> easier to understand -> easier to fix 
when tests fail. For eg, if your current test fails in "test for existent 
destination table", someone will have to read through everything else before 
itand that would be wasted effort since it's not needed and the test for 
'existent destination table' could have very well been a simple <10 lines 
separate test.
 * Prefer to use constant declared variables if it's value matters in multiple 
places. For eg. NUM_SPLITS=2, then init column families with it and use the 
same thing in asserts. Makes it easy to understand tests. Another examples is, 
consider random test with two figures - 10 and 50. 10 initializes something and 
we are asserting 50. It's not obvious if we are expecting test to assert 10+40 
or 10*5.
 * Avoid 
[coupling|https://en.wikipedia.org/wiki/Coupling_(computer_programming)] tests. 
If one breaks for weird reason, others might too. (ref: new_table = 
"test_clone_table_schema_table")

 

> [Shell] Add shell command to create a new table by cloning the existent table
> -
>
> Key: HBASE-20243
> URL: https://issues.apache.org/jira/browse/HBASE-20243
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: HBASE-20243.master.001.patch, 
> HBASE-20243.master.002.patch, HBASE-20243.master.003.patch, 
> HBASE-20243.master.004.patch, HBASE-20243.master.005.patch, 
> HBASE-20243.master.006.patch, HBASE-20243.master.007.patch
>
>
> In the production environment, we need to create a new table every day. The 
> schema and the split keys of the table are the same as that of yesterday's 
> table, only the name of the table is different. For example, 
> x_20180321,x_20180322 etc.But now there is no convenient command to 
> do this. So we may need such a command(clone_table) to create a new table by 
> cloning the existent table.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17730) [DOC] Migration to 2.0 for coprocessors

2018-04-04 Thread Appy (JIRA)

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

Appy commented on HBASE-17730:
--

Pushed header addition to design doc and changes to upgrade section.

Thanks for review guys.

> [DOC] Migration to 2.0 for coprocessors 
> 
>
> Key: HBASE-17730
> URL: https://issues.apache.org/jira/browse/HBASE-17730
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, migration
>Reporter: Appy
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
> Attachments: HBASE-17730.master.001.patch
>
>
> Jiras breaking coprocessor compatibility should be marked with component ' 
> Coprocessor', and label 'incompatible'.
> Close to releasing 2.0, we should go through all such jiras and write down 
> steps for migrating coprocessor easily.
> The idea is, it might be very hard to fix coprocessor breakages by reverse 
> engineering errors,  but will be easier we suggest easiest way to fix 
> breakages resulting from each individual incompatible change.
> For eg. HBASE-17312 is incompatible change. It'll result in 100s of errors 
> because BaseXXXObserver classes are gone and will probably result in a lot of 
> confusion, but if we explicitly mention the fix which is just one line change 
> - replace "Foo extends BaseXXXObserver" with "Foo implements XXXObserver" - 
> it makes it very easy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (HBASE-17730) [DOC] Migration to 2.0 for coprocessors

2018-04-04 Thread Appy (JIRA)

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

Appy resolved HBASE-17730.
--
Resolution: Fixed

> [DOC] Migration to 2.0 for coprocessors 
> 
>
> Key: HBASE-17730
> URL: https://issues.apache.org/jira/browse/HBASE-17730
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, migration
>Reporter: Appy
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
> Attachments: HBASE-17730.master.001.patch
>
>
> Jiras breaking coprocessor compatibility should be marked with component ' 
> Coprocessor', and label 'incompatible'.
> Close to releasing 2.0, we should go through all such jiras and write down 
> steps for migrating coprocessor easily.
> The idea is, it might be very hard to fix coprocessor breakages by reverse 
> engineering errors,  but will be easier we suggest easiest way to fix 
> breakages resulting from each individual incompatible change.
> For eg. HBASE-17312 is incompatible change. It'll result in 100s of errors 
> because BaseXXXObserver classes are gone and will probably result in a lot of 
> confusion, but if we explicitly mention the fix which is just one line change 
> - replace "Foo extends BaseXXXObserver" with "Foo implements XXXObserver" - 
> it makes it very easy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-17730) [DOC] Migration to 2.0 for coprocessors

2018-04-04 Thread Appy (JIRA)

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

Appy edited comment on HBASE-17730 at 4/4/18 8:04 PM:
--

Oh! Thanks [~psomogyi] for pointing it out. Correcting it.

And committing the docs change


was (Author: appy):
Oh! Thanks [~psomogyi] for pointing it out. Correcting it.

 

> [DOC] Migration to 2.0 for coprocessors 
> 
>
> Key: HBASE-17730
> URL: https://issues.apache.org/jira/browse/HBASE-17730
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, migration
>Reporter: Appy
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
> Attachments: HBASE-17730.master.001.patch
>
>
> Jiras breaking coprocessor compatibility should be marked with component ' 
> Coprocessor', and label 'incompatible'.
> Close to releasing 2.0, we should go through all such jiras and write down 
> steps for migrating coprocessor easily.
> The idea is, it might be very hard to fix coprocessor breakages by reverse 
> engineering errors,  but will be easier we suggest easiest way to fix 
> breakages resulting from each individual incompatible change.
> For eg. HBASE-17312 is incompatible change. It'll result in 100s of errors 
> because BaseXXXObserver classes are gone and will probably result in a lot of 
> confusion, but if we explicitly mention the fix which is just one line change 
> - replace "Foo extends BaseXXXObserver" with "Foo implements XXXObserver" - 
> it makes it very easy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17730) [DOC] Migration to 2.0 for coprocessors

2018-04-04 Thread Appy (JIRA)

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

Appy commented on HBASE-17730:
--

Oh! Thanks [~psomogyi] for pointing it out. Correcting it.

 

> [DOC] Migration to 2.0 for coprocessors 
> 
>
> Key: HBASE-17730
> URL: https://issues.apache.org/jira/browse/HBASE-17730
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, migration
>Reporter: Appy
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
> Attachments: HBASE-17730.master.001.patch
>
>
> Jiras breaking coprocessor compatibility should be marked with component ' 
> Coprocessor', and label 'incompatible'.
> Close to releasing 2.0, we should go through all such jiras and write down 
> steps for migrating coprocessor easily.
> The idea is, it might be very hard to fix coprocessor breakages by reverse 
> engineering errors,  but will be easier we suggest easiest way to fix 
> breakages resulting from each individual incompatible change.
> For eg. HBASE-17312 is incompatible change. It'll result in 100s of errors 
> because BaseXXXObserver classes are gone and will probably result in a lot of 
> confusion, but if we explicitly mention the fix which is just one line change 
> - replace "Foo extends BaseXXXObserver" with "Foo implements XXXObserver" - 
> it makes it very easy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20243) [Shell] Add shell command to create a new table by cloning the existent table

2018-04-03 Thread Appy (JIRA)

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

Appy commented on HBASE-20243:
--

Patch looks good, few comments.
 * don't we need shell test too?
 * use a variable NUM_SPLITS=2 and use that in variable initializations and 
asserts
 * Add tests for cases when a) source table doesn't exist, b) destination table 
exists. Basically, we should have tests for both success and failure scenarios.
 * Does it compile? I don't see FAMILY_0 and 1 in declarations in 
TestAsyncTableAdminApi.java
 * Any way we can refactor out the common code in test?

> [Shell] Add shell command to create a new table by cloning the existent table
> -
>
> Key: HBASE-20243
> URL: https://issues.apache.org/jira/browse/HBASE-20243
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: HBASE-20243.master.001.patch, 
> HBASE-20243.master.002.patch, HBASE-20243.master.003.patch, 
> HBASE-20243.master.004.patch, HBASE-20243.master.005.patch
>
>
> In the production environment, we need to create a new table every day. The 
> schema and the split keys of the table are the same as that of yesterday's 
> table, only the name of the table is different. For example, 
> x_20180321,x_20180322 etc.But now there is no convenient command to 
> do this. So we may need such a command(clone_table) to create a new table by 
> cloning the existent table.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17730) [DOC] Migration to 2.0 for coprocessors

2018-04-03 Thread Appy (JIRA)

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

Appy commented on HBASE-17730:
--

Uploaded patch v1 which adds section "3.1.2. Upgrading Coprocessors to 2.0" to 
our book.

Ping [~busbey], [~mdrob] for review.

> [DOC] Migration to 2.0 for coprocessors 
> 
>
> Key: HBASE-17730
> URL: https://issues.apache.org/jira/browse/HBASE-17730
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, migration
>Reporter: Appy
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
> Attachments: HBASE-17730.master.001.patch
>
>
> Jiras breaking coprocessor compatibility should be marked with component ' 
> Coprocessor', and label 'incompatible'.
> Close to releasing 2.0, we should go through all such jiras and write down 
> steps for migrating coprocessor easily.
> The idea is, it might be very hard to fix coprocessor breakages by reverse 
> engineering errors,  but will be easier we suggest easiest way to fix 
> breakages resulting from each individual incompatible change.
> For eg. HBASE-17312 is incompatible change. It'll result in 100s of errors 
> because BaseXXXObserver classes are gone and will probably result in a lot of 
> confusion, but if we explicitly mention the fix which is just one line change 
> - replace "Foo extends BaseXXXObserver" with "Foo implements XXXObserver" - 
> it makes it very easy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-17730) [DOC] Migration to 2.0 for coprocessors

2018-04-03 Thread Appy (JIRA)

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

Appy updated HBASE-17730:
-
Attachment: HBASE-17730.master.001.patch

> [DOC] Migration to 2.0 for coprocessors 
> 
>
> Key: HBASE-17730
> URL: https://issues.apache.org/jira/browse/HBASE-17730
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, migration
>Reporter: Appy
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
> Attachments: HBASE-17730.master.001.patch
>
>
> Jiras breaking coprocessor compatibility should be marked with component ' 
> Coprocessor', and label 'incompatible'.
> Close to releasing 2.0, we should go through all such jiras and write down 
> steps for migrating coprocessor easily.
> The idea is, it might be very hard to fix coprocessor breakages by reverse 
> engineering errors,  but will be easier we suggest easiest way to fix 
> breakages resulting from each individual incompatible change.
> For eg. HBASE-17312 is incompatible change. It'll result in 100s of errors 
> because BaseXXXObserver classes are gone and will probably result in a lot of 
> confusion, but if we explicitly mention the fix which is just one line change 
> - replace "Foo extends BaseXXXObserver" with "Foo implements XXXObserver" - 
> it makes it very easy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work started] (HBASE-17730) [DOC] Migration to 2.0 for coprocessors

2018-04-03 Thread Appy (JIRA)

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

Work on HBASE-17730 started by Appy.

> [DOC] Migration to 2.0 for coprocessors 
> 
>
> Key: HBASE-17730
> URL: https://issues.apache.org/jira/browse/HBASE-17730
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, migration
>Reporter: Appy
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
> Attachments: HBASE-17730.master.001.patch
>
>
> Jiras breaking coprocessor compatibility should be marked with component ' 
> Coprocessor', and label 'incompatible'.
> Close to releasing 2.0, we should go through all such jiras and write down 
> steps for migrating coprocessor easily.
> The idea is, it might be very hard to fix coprocessor breakages by reverse 
> engineering errors,  but will be easier we suggest easiest way to fix 
> breakages resulting from each individual incompatible change.
> For eg. HBASE-17312 is incompatible change. It'll result in 100s of errors 
> because BaseXXXObserver classes are gone and will probably result in a lot of 
> confusion, but if we explicitly mention the fix which is just one line change 
> - replace "Foo extends BaseXXXObserver" with "Foo implements XXXObserver" - 
> it makes it very easy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17730) [DOC] Migration to 2.0 for coprocessors

2018-04-03 Thread Appy (JIRA)

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

Appy commented on HBASE-17730:
--

Uploaded ascii doc of [Coprocessor design 
improvements|https://docs.google.com/document/d/1mPkM1CRRvBMZL4dBQzrus8obyvNnHhR5it2yyhiFXTg/edit#heading=h.cu9hamx6jk24]
 to dev-support/design-docs 
[here|https://github.com/apache/hbase/blob/master/dev-support/design-docs/Coprocessor_Design_Improvements-Use_composition_instead_of_inheritance-HBASE-17732.adoc].

> [DOC] Migration to 2.0 for coprocessors 
> 
>
> Key: HBASE-17730
> URL: https://issues.apache.org/jira/browse/HBASE-17730
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, migration
>Reporter: Appy
>Assignee: Appy
>Priority: Blocker
> Fix For: 2.0.0
>
>
> Jiras breaking coprocessor compatibility should be marked with component ' 
> Coprocessor', and label 'incompatible'.
> Close to releasing 2.0, we should go through all such jiras and write down 
> steps for migrating coprocessor easily.
> The idea is, it might be very hard to fix coprocessor breakages by reverse 
> engineering errors,  but will be easier we suggest easiest way to fix 
> breakages resulting from each individual incompatible change.
> For eg. HBASE-17312 is incompatible change. It'll result in 100s of errors 
> because BaseXXXObserver classes are gone and will probably result in a lot of 
> confusion, but if we explicitly mention the fix which is just one line change 
> - replace "Foo extends BaseXXXObserver" with "Foo implements XXXObserver" - 
> it makes it very easy.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20330) ProcedureExecutor.start() gets stuck in recover lease on store.

2018-04-03 Thread Appy (JIRA)

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

Appy commented on HBASE-20330:
--

we can probably fix this easily by refreshing the list of log files in start of 
each loopneed to be sure.

> ProcedureExecutor.start() gets stuck in recover lease on store.
> ---
>
> Key: HBASE-20330
> URL: https://issues.apache.org/jira/browse/HBASE-20330
> Project: HBase
>  Issue Type: Bug
>  Components: proc-v2
>Affects Versions: 2.0.0-beta-2
>Reporter: Umesh Agashe
>Assignee: Umesh Agashe
>Priority: Major
> Fix For: 2.0.0
>
>
> We have instance in our internal testing where master log is getting filled 
> with following messages:
> {code}
> 2018-04-02 17:11:17,566 INFO org.apache.hadoop.hbase.util.FSHDFSUtils: 
> Recover lease on dfs file 
> hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log
> 2018-04-02 17:11:17,567 INFO org.apache.hadoop.hbase.util.FSHDFSUtils: 
> Recovered lease, attempt=0 on 
> file=hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log after 1ms
> 2018-04-02 17:11:17,574 WARN 
> org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore: Unable to 
> read tracker for hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log 
> - Invalid Trailer version. got 111 expected 1
> 2018-04-02 17:11:17,576 ERROR 
> org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore: Log file with 
> id=19 already exists
> org.apache.hadoop.fs.FileAlreadyExistsException: 
> /hbase/MasterProcWALs/pv2-0019.log for client 10.17.202.11 
> already exists
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp.startFile(FSDirWriteFileOp.java:381)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2442)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:2339)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:764)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:451)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991)
> at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:869)
> at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:815)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:422)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1962)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2675)
> {code}
> Debugging it further with [~appy] and [~avirmani], we found that when 
> WALProcedureStore#rollWriter() fails and returns false for some reason, it 
> keeps looping continuously.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20330) ProcedureExecutor.start() gets stuck in recover lease on store.

2018-04-03 Thread Appy (JIRA)

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

Appy commented on HBASE-20330:
--

Hard to reproduce problem.
 Our hypothesis was, if a master during startup tries to create new proc-wal, 
and fails while writing header (for 19.log in this case) 
[here|https://github.com/apache/hbase/blob/d9e64aa6b83fb6ed5230b0fde86fdf8d8732e1a4/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java#L1041],
 then it'll get stuck in infinite loop.
 Exact seq of steps.
 # rollWriter fails to write header (for 19.log), returns false.
 # we 'continue' the loop 
[here|https://github.com/apache/hbase/blob/d9e64aa6b83fb6ed5230b0fde86fdf8d8732e1a4/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java#L377]
 # isRunning() will always be true, list of oldLogs is not refreshed (it's 
still till 18.log)
 # renew leases on all existing log files till 18, try to create 19
 # since it was already created last time, rollWriter returns false and we 
'continue' from step 2 again.

> ProcedureExecutor.start() gets stuck in recover lease on store.
> ---
>
> Key: HBASE-20330
> URL: https://issues.apache.org/jira/browse/HBASE-20330
> Project: HBase
>  Issue Type: Bug
>  Components: proc-v2
>Affects Versions: 2.0.0-beta-2
>Reporter: Umesh Agashe
>Assignee: Umesh Agashe
>Priority: Major
> Fix For: 2.0.0
>
>
> We have instance in our internal testing where master log is getting filled 
> with following messages:
> {code}
> 2018-04-02 17:11:17,566 INFO org.apache.hadoop.hbase.util.FSHDFSUtils: 
> Recover lease on dfs file 
> hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log
> 2018-04-02 17:11:17,567 INFO org.apache.hadoop.hbase.util.FSHDFSUtils: 
> Recovered lease, attempt=0 on 
> file=hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log after 1ms
> 2018-04-02 17:11:17,574 WARN 
> org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore: Unable to 
> read tracker for hdfs://ns1/hbase/MasterProcWALs/pv2-0018.log 
> - Invalid Trailer version. got 111 expected 1
> 2018-04-02 17:11:17,576 ERROR 
> org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore: Log file with 
> id=19 already exists
> org.apache.hadoop.fs.FileAlreadyExistsException: 
> /hbase/MasterProcWALs/pv2-0019.log for client 10.17.202.11 
> already exists
> at 
> org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp.startFile(FSDirWriteFileOp.java:381)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2442)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:2339)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:764)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:451)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991)
> at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:869)
> at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:815)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:422)
> at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1962)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2675)
> {code}
> Debugging it further with [~appy] and [~avirmani], we found that when 
> WALProcedureStore#rollWriter() fails and returns false for some reason, it 
> keeps looping continuously.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19488) Remove Unused Code from CollectionUtils

2018-04-02 Thread Appy (JIRA)

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

Appy commented on HBASE-19488:
--

Sorry for late reply, was on long vacation.

bq.  I don't want to have to fix checkstyle for every file I touched to make 
this happen. I didn't cause them in this patch and they should be fixed in 
another patch with that focus.
bq. -1  checkstyle  1m 15s  hbase-server: The patch generated 1 new + 362 
unchanged - 1 fixed = 363 total (was 363)
It's not expected either...smile. 
When you see "-1 checkstyle", only look for 'new' errors (caused by patch) and 
ignore 'unchanged'.

Committing to master and branch-2



> Remove Unused Code from CollectionUtils
> ---
>
> Key: HBASE-19488
> URL: https://issues.apache.org/jira/browse/HBASE-19488
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase
>Affects Versions: 3.0.0
>Reporter: BELUGA BEHR
>Assignee: BELUGA BEHR
>Priority: Trivial
> Attachments: HBASE-19488.1.patch, HBASE-19488.2.patch, 
> HBASE-19488.3.patch
>
>
> A bunch of unused code in CollectionUtils or code that can be found in Apache 
> Commons libraries.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20276) [shell] confirm shell REPL change and document

2018-04-02 Thread Appy (JIRA)

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

Appy commented on HBASE-20276:
--

Sorry guys for the mess i started. :(

Another alternate is - Remove the --return-values flag and make that 
functionality default (which is what we had earlier). And explicitly call it 
out as bug in 1.4.0, 1.4.1 releases.
That will undo the damage in 2.0 and we won't have to carry the baggage in 
future.

> [shell] confirm shell REPL change and document
> --
>
> Key: HBASE-20276
> URL: https://issues.apache.org/jira/browse/HBASE-20276
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, shell
>Affects Versions: 1.4.0, 2.0.0
>Reporter: Sean Busbey
>Priority: Blocker
> Fix For: 1.4.4, 2.0.0
>
>
> Feedback from [~mdrob] on HBASE-19158:
> {quote}
> Shell:
> HBASE-19770. There was another issue opened where this was identified as a 
> problem so maybe the shape will change further, but I can't find it now.
> {quote}
> New commentary from [~busbey]:
> This was a follow on to HBASE-15965. That change effectively makes it so none 
> of our ruby wrappers can be used to build expressions in an interactive REPL. 
> This is a pretty severe change (most of my tips on HBASE-15611 will break, I 
> think).
> I think we should
> a) Have a DISCUSS thread, spanning dev@ and user@
> b) based on the outcome of that thread, either default to the new behavior or 
> the old behavior
> c) if we keep the HBASE-15965 behavior as  the default, flag it as 
> incompatible, call it out in the hbase 2.0 upgrade section, and update docs 
> (two examples: the output in the shell_exercises sections would be wrong, and 
> the _table_variables section won't work)
> d) In either case document the new flag in the ref guide



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (HBASE-20304) Flip default "return-values" in shell from false to true

2018-04-02 Thread Appy (JIRA)

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

Appy reassigned HBASE-20304:


Assignee: (was: Josh Elser)

> Flip default "return-values" in shell from false to true
> 
>
> Key: HBASE-20304
> URL: https://issues.apache.org/jira/browse/HBASE-20304
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Reporter: Josh Elser
>Priority: Blocker
> Attachments: HBASE-20304.001.branch-2.0.patch
>
>
> HBASE-15965 Was trying to be helpful in reducing spam in console output 
> printed back to the user.
> However, [~psomogyi] and [~balazs.meszaros] made a good find that some shell 
> commands (e.g. {{get_table}}) just don't work at all when the default 
> {{return-values=false}}. This would be quite obtuse to try to explain.
> [~appy] and I had mulled over whether we should flip the default from false 
> to true. The above example makes me sure that we should for 2.0.0.
> fyi [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (HBASE-20304) Flip default "return-values" in shell from false to true

2018-04-02 Thread Appy (JIRA)

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

Appy reassigned HBASE-20304:


Assignee: Josh Elser

> Flip default "return-values" in shell from false to true
> 
>
> Key: HBASE-20304
> URL: https://issues.apache.org/jira/browse/HBASE-20304
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Reporter: Josh Elser
>Assignee: Josh Elser
>Priority: Blocker
> Attachments: HBASE-20304.001.branch-2.0.patch
>
>
> HBASE-15965 Was trying to be helpful in reducing spam in console output 
> printed back to the user.
> However, [~psomogyi] and [~balazs.meszaros] made a good find that some shell 
> commands (e.g. {{get_table}}) just don't work at all when the default 
> {{return-values=false}}. This would be quite obtuse to try to explain.
> [~appy] and I had mulled over whether we should flip the default from false 
> to true. The above example makes me sure that we should for 2.0.0.
> fyi [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20304) Flip default "return-values" in shell from false to true

2018-04-02 Thread Appy (JIRA)

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

Appy commented on HBASE-20304:
--

Good one.
Just saw this, was on week leave.
Sorry for mess i started.

> Flip default "return-values" in shell from false to true
> 
>
> Key: HBASE-20304
> URL: https://issues.apache.org/jira/browse/HBASE-20304
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Reporter: Josh Elser
>Priority: Blocker
> Attachments: HBASE-20304.001.branch-2.0.patch
>
>
> HBASE-15965 Was trying to be helpful in reducing spam in console output 
> printed back to the user.
> However, [~psomogyi] and [~balazs.meszaros] made a good find that some shell 
> commands (e.g. {{get_table}}) just don't work at all when the default 
> {{return-values=false}}. This would be quite obtuse to try to explain.
> [~appy] and I had mulled over whether we should flip the default from false 
> to true. The above example makes me sure that we should for 2.0.0.
> fyi [~stack]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20286) Improving shell command compaction_state

2018-03-30 Thread Appy (JIRA)

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

Appy updated HBASE-20286:
-
Component/s: shell

> Improving shell command compaction_state
> 
>
> Key: HBASE-20286
> URL: https://issues.apache.org/jira/browse/HBASE-20286
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Csaba Skrabak
>Priority: Minor
> Attachments: HBASE-20286.patch
>
>
> Command does not output anything, let's add a formatter.row call.
> We should include the possible outputs in the help text.
> *Further improvement possibility.* This command can be used for checking if 
> the compaction is done but very impractical if one wants to wait _until_ it 
> is done. Wish there would be a flag in the shell that enforces synchronous 
> compactions, that is, every time you issue a compact or major_compact in the 
> shell while this flag is set, you won't get back the prompt until it finishes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20286) Improving shell command compaction_state

2018-03-30 Thread Appy (JIRA)

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

Appy updated HBASE-20286:
-
Issue Type: Improvement  (was: Bug)

> Improving shell command compaction_state
> 
>
> Key: HBASE-20286
> URL: https://issues.apache.org/jira/browse/HBASE-20286
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Csaba Skrabak
>Priority: Minor
> Attachments: HBASE-20286.patch
>
>
> Command does not output anything, let's add a formatter.row call.
> We should include the possible outputs in the help text.
> *Further improvement possibility.* This command can be used for checking if 
> the compaction is done but very impractical if one wants to wait _until_ it 
> is done. Wish there would be a flag in the shell that enforces synchronous 
> compactions, that is, every time you issue a compact or major_compact in the 
> shell while this flag is set, you won't get back the prompt until it finishes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20286) Improving shell command compaction_state

2018-03-30 Thread Appy (JIRA)

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

Appy commented on HBASE-20286:
--

This will change the return value of command function. Not sure if users rely 
on it, but we can easily retain old behavior too.

> Improving shell command compaction_state
> 
>
> Key: HBASE-20286
> URL: https://issues.apache.org/jira/browse/HBASE-20286
> Project: HBase
>  Issue Type: Bug
>Reporter: Csaba Skrabak
>Priority: Major
> Attachments: HBASE-20286.patch
>
>
> Command does not output anything, let's add a formatter.row call.
> We should include the possible outputs in the help text.
> *Further improvement possibility.* This command can be used for checking if 
> the compaction is done but very impractical if one wants to wait _until_ it 
> is done. Wish there would be a flag in the shell that enforces synchronous 
> compactions, that is, every time you issue a compact or major_compact in the 
> shell while this flag is set, you won't get back the prompt until it finishes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20286) Improving shell command compaction_state

2018-03-30 Thread Appy (JIRA)

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

Appy updated HBASE-20286:
-
Priority: Minor  (was: Major)

> Improving shell command compaction_state
> 
>
> Key: HBASE-20286
> URL: https://issues.apache.org/jira/browse/HBASE-20286
> Project: HBase
>  Issue Type: Bug
>  Components: shell
>Reporter: Csaba Skrabak
>Priority: Minor
> Attachments: HBASE-20286.patch
>
>
> Command does not output anything, let's add a formatter.row call.
> We should include the possible outputs in the help text.
> *Further improvement possibility.* This command can be used for checking if 
> the compaction is done but very impractical if one wants to wait _until_ it 
> is done. Wish there would be a flag in the shell that enforces synchronous 
> compactions, that is, every time you issue a compact or major_compact in the 
> shell while this flag is set, you won't get back the prompt until it finishes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-20243) [Shell] Add shell command to create a new table by cloning the existent table

2018-03-23 Thread Appy (JIRA)

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

Appy edited comment on HBASE-20243 at 3/23/18 9:56 AM:
---

bq. I think it would be more convenient if we had a command to clone the table 
directly.
i think so too.
Edit: Because in one-off or evolving cases, unlike set pattern as you guys 
have, the only other way i can think of is snapshot + clone + truncate which is 
too many steps. (Or is there a another better way?)

But the command name sure is confusing, given what 'clone' has meant 
historically in hbase world; cloning a snapshot means both schema + data gets 
copied.
Can we please rename it to cloneTableSchema?


was (Author: appy):
bq. I think it would be more convenient if we had a command to clone the table 
directly.
i think so too.

But the command name sure is confusing, given what 'clone' has meant 
historically in hbase world; cloning a snapshot means both schema + data gets 
copied.
Can we please rename it to cloneTableSchema?

> [Shell] Add shell command to create a new table by cloning the existent table
> -
>
> Key: HBASE-20243
> URL: https://issues.apache.org/jira/browse/HBASE-20243
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: HBASE-20243.master.001.patch
>
>
> In the production environment, we need to create a new table every day. The 
> schema and the split keys of the table are the same as that of yesterday's 
> table, only the name of the table is different. For example, 
> x_20180321,x_20180322 etc.But now there is no convenient command to 
> do this. So we may need such a command(clone_table) to create a new table by 
> cloning the existent table.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20243) [Shell] Add shell command to create a new table by cloning the existent table

2018-03-23 Thread Appy (JIRA)

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

Appy updated HBASE-20243:
-
Priority: Minor  (was: Major)

> [Shell] Add shell command to create a new table by cloning the existent table
> -
>
> Key: HBASE-20243
> URL: https://issues.apache.org/jira/browse/HBASE-20243
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: HBASE-20243.master.001.patch
>
>
> In the production environment, we need to create a new table every day. The 
> schema and the split keys of the table are the same as that of yesterday's 
> table, only the name of the table is different. For example, 
> x_20180321,x_20180322 etc.But now there is no convenient command to 
> do this. So we may need such a command(clone_table) to create a new table by 
> cloning the existent table.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20243) [Shell] Add shell command to create a new table by cloning the existent table

2018-03-23 Thread Appy (JIRA)

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

Appy updated HBASE-20243:
-
Fix Version/s: 2.1.0

> [Shell] Add shell command to create a new table by cloning the existent table
> -
>
> Key: HBASE-20243
> URL: https://issues.apache.org/jira/browse/HBASE-20243
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Minor
> Fix For: 2.1.0
>
> Attachments: HBASE-20243.master.001.patch
>
>
> In the production environment, we need to create a new table every day. The 
> schema and the split keys of the table are the same as that of yesterday's 
> table, only the name of the table is different. For example, 
> x_20180321,x_20180322 etc.But now there is no convenient command to 
> do this. So we may need such a command(clone_table) to create a new table by 
> cloning the existent table.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20243) [Shell] Add shell command to create a new table by cloning the existent table

2018-03-23 Thread Appy (JIRA)

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

Appy commented on HBASE-20243:
--

bq. I think it would be more convenient if we had a command to clone the table 
directly.
i think so too.

But the command name sure is confusing, given what 'clone' has meant 
historically in hbase world; cloning a snapshot means both schema + data gets 
copied.
Can we please rename it to cloneTableSchema?

> [Shell] Add shell command to create a new table by cloning the existent table
> -
>
> Key: HBASE-20243
> URL: https://issues.apache.org/jira/browse/HBASE-20243
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Guangxu Cheng
>Assignee: Guangxu Cheng
>Priority: Major
> Attachments: HBASE-20243.master.001.patch
>
>
> In the production environment, we need to create a new table every day. The 
> schema and the split keys of the table are the same as that of yesterday's 
> table, only the name of the table is different. For example, 
> x_20180321,x_20180322 etc.But now there is no convenient command to 
> do this. So we may need such a command(clone_table) to create a new table by 
> cloning the existent table.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20249) Investigate behavior of hbase.client.operation.timeout

2018-03-22 Thread Appy (JIRA)

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

Appy updated HBASE-20249:
-
Priority: Critical  (was: Major)

> Investigate behavior of hbase.client.operation.timeout
> --
>
> Key: HBASE-20249
> URL: https://issues.apache.org/jira/browse/HBASE-20249
> Project: HBase
>  Issue Type: Bug
>Reporter: Appy
>Priority: Critical
> Fix For: 2.0.0
>
>
> hbase.client.operation.timeout should be hard limit on client operations, and 
> independent of number of retires.
> Previous discussions here: 
> https://issues.apache.org/jira/browse/HBASE-17449?focusedCommentId=16390085=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16390085



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20249) Investigate behavior of hbase.client.operation.timeout

2018-03-22 Thread Appy (JIRA)

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

Appy updated HBASE-20249:
-
Description: 
hbase.client.operation.timeout should be hard limit on client operations, and 
independent of number of retires.

Previous discussions here: 
https://issues.apache.org/jira/browse/HBASE-17449?focusedCommentId=16390085=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16390085

  was:hbase.client.operation.timeout should be hard limit on client operations, 
and independent of number of retires.


> Investigate behavior of hbase.client.operation.timeout
> --
>
> Key: HBASE-20249
> URL: https://issues.apache.org/jira/browse/HBASE-20249
> Project: HBase
>  Issue Type: Bug
>Reporter: Appy
>Priority: Major
>
> hbase.client.operation.timeout should be hard limit on client operations, and 
> independent of number of retires.
> Previous discussions here: 
> https://issues.apache.org/jira/browse/HBASE-17449?focusedCommentId=16390085=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16390085



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-17449) Add explicit document on different timeout settings

2018-03-22 Thread Appy (JIRA)

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

Appy edited comment on HBASE-17449 at 3/22/18 7:22 AM:
---

So I did some testing to verify functionality. It seemed to be working as 
intended. Let me put up the patch with tests. In meantime, the patch in this 
improvement jira - tests and doc - looks fine to get in. Let me commit it and 
file a dedicated one for investigation/adding tests for behavior of 
hbase.client.operation.timeout.

Edit: Created HBASE-20249


was (Author: appy):
So I did some testing to verify functionality. It seemed to be working as 
intended. Let me put up the patch with tests. In meantime, the patch in this 
improvement jira - tests and doc - looks fine to get in. Let me commit it and 
file a dedicated one for investigation/adding tests for behavior of 
hbase.client.operation.timeout.

> Add explicit document on different timeout settings
> ---
>
> Key: HBASE-17449
> URL: https://issues.apache.org/jira/browse/HBASE-17449
> Project: HBase
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Yu Li
>Assignee: Peter Somogyi
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: 0001-Standalone.patch, HBASE-17449.master.002.patch, 
> WIP-HBASE-17499.master.001.patch
>
>
> Currently we have more than one timeout settings, mainly includes:
> * hbase.rpc.timeout
> * hbase.client.operation.timeout
> * hbase.client.scanner.timeout.period
> And in latest branch-1 or master branch code, we will have two other 
> properties:
> * hbase.rpc.read.timeout
> * hbase.rpc.write.timeout
> However, in current refguid we don't have explicit instruction on the 
> difference of these timeout settings (there're explanations for each 
> property, but no instruction on when to use which)
> In my understanding, for RPC layer timeout, or say each rpc call:
> * Scan (openScanner/next): controlled by hbase.client.scanner.timeout.period
> * Other operations:
>1. For released versions: controlled by hbase.rpc.timeout
>2. For 1.4+ versions: read operation controlled by hbase.rpc.read.timeout, 
> write operation controlled by hbase.rpc.write.timeout, or hbase.rpc.timeout 
> if the previous two are not set.
> And hbase.client.operation.timeout is a higher-level control counting retry 
> in, or say the overall control for one user call.
> After this JIRA, I hope when users ask questions like "What settings I should 
> use if I don't want to wait for more than 1 second for a single 
> put/get/scan.next call", we could give a neat answer.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20249) Investigate behavior of hbase.client.operation.timeout

2018-03-22 Thread Appy (JIRA)

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

Appy updated HBASE-20249:
-
Fix Version/s: 2.0.0

> Investigate behavior of hbase.client.operation.timeout
> --
>
> Key: HBASE-20249
> URL: https://issues.apache.org/jira/browse/HBASE-20249
> Project: HBase
>  Issue Type: Bug
>Reporter: Appy
>Priority: Major
> Fix For: 2.0.0
>
>
> hbase.client.operation.timeout should be hard limit on client operations, and 
> independent of number of retires.
> Previous discussions here: 
> https://issues.apache.org/jira/browse/HBASE-17449?focusedCommentId=16390085=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16390085



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (HBASE-20249) Investigate behavior of hbase.client.operation.timeout

2018-03-22 Thread Appy (JIRA)
Appy created HBASE-20249:


 Summary: Investigate behavior of hbase.client.operation.timeout
 Key: HBASE-20249
 URL: https://issues.apache.org/jira/browse/HBASE-20249
 Project: HBase
  Issue Type: Bug
Reporter: Appy


hbase.client.operation.timeout should be hard limit on client operations, and 
independent of number of retires.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (HBASE-17449) Add explicit document on different timeout settings

2018-03-22 Thread Appy (JIRA)

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

Appy reassigned HBASE-17449:


Assignee: Peter Somogyi  (was: Yu Li)

> Add explicit document on different timeout settings
> ---
>
> Key: HBASE-17449
> URL: https://issues.apache.org/jira/browse/HBASE-17449
> Project: HBase
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Yu Li
>Assignee: Peter Somogyi
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: 0001-Standalone.patch, HBASE-17449.master.002.patch, 
> WIP-HBASE-17499.master.001.patch
>
>
> Currently we have more than one timeout settings, mainly includes:
> * hbase.rpc.timeout
> * hbase.client.operation.timeout
> * hbase.client.scanner.timeout.period
> And in latest branch-1 or master branch code, we will have two other 
> properties:
> * hbase.rpc.read.timeout
> * hbase.rpc.write.timeout
> However, in current refguid we don't have explicit instruction on the 
> difference of these timeout settings (there're explanations for each 
> property, but no instruction on when to use which)
> In my understanding, for RPC layer timeout, or say each rpc call:
> * Scan (openScanner/next): controlled by hbase.client.scanner.timeout.period
> * Other operations:
>1. For released versions: controlled by hbase.rpc.timeout
>2. For 1.4+ versions: read operation controlled by hbase.rpc.read.timeout, 
> write operation controlled by hbase.rpc.write.timeout, or hbase.rpc.timeout 
> if the previous two are not set.
> And hbase.client.operation.timeout is a higher-level control counting retry 
> in, or say the overall control for one user call.
> After this JIRA, I hope when users ask questions like "What settings I should 
> use if I don't want to wait for more than 1 second for a single 
> put/get/scan.next call", we could give a neat answer.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (HBASE-17449) Add explicit document on different timeout settings

2018-03-22 Thread Appy (JIRA)

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

Appy resolved HBASE-17449.
--
Resolution: Fixed

> Add explicit document on different timeout settings
> ---
>
> Key: HBASE-17449
> URL: https://issues.apache.org/jira/browse/HBASE-17449
> Project: HBase
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Yu Li
>Assignee: Peter Somogyi
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: 0001-Standalone.patch, HBASE-17449.master.002.patch, 
> WIP-HBASE-17499.master.001.patch
>
>
> Currently we have more than one timeout settings, mainly includes:
> * hbase.rpc.timeout
> * hbase.client.operation.timeout
> * hbase.client.scanner.timeout.period
> And in latest branch-1 or master branch code, we will have two other 
> properties:
> * hbase.rpc.read.timeout
> * hbase.rpc.write.timeout
> However, in current refguid we don't have explicit instruction on the 
> difference of these timeout settings (there're explanations for each 
> property, but no instruction on when to use which)
> In my understanding, for RPC layer timeout, or say each rpc call:
> * Scan (openScanner/next): controlled by hbase.client.scanner.timeout.period
> * Other operations:
>1. For released versions: controlled by hbase.rpc.timeout
>2. For 1.4+ versions: read operation controlled by hbase.rpc.read.timeout, 
> write operation controlled by hbase.rpc.write.timeout, or hbase.rpc.timeout 
> if the previous two are not set.
> And hbase.client.operation.timeout is a higher-level control counting retry 
> in, or say the overall control for one user call.
> After this JIRA, I hope when users ask questions like "What settings I should 
> use if I don't want to wait for more than 1 second for a single 
> put/get/scan.next call", we could give a neat answer.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17449) Add explicit document on different timeout settings

2018-03-22 Thread Appy (JIRA)

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

Appy commented on HBASE-17449:
--

So I did some testing to verify functionality. It seemed to be working as 
intended. Let me put up the patch with tests. In meantime, the patch in this 
improvement jira - tests and doc - looks fine to get in. Let me commit it and 
file a dedicated one for investigation/adding tests for behavior of 
hbase.client.operation.timeout.

> Add explicit document on different timeout settings
> ---
>
> Key: HBASE-17449
> URL: https://issues.apache.org/jira/browse/HBASE-17449
> Project: HBase
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Yu Li
>Assignee: Yu Li
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: 0001-Standalone.patch, HBASE-17449.master.002.patch, 
> WIP-HBASE-17499.master.001.patch
>
>
> Currently we have more than one timeout settings, mainly includes:
> * hbase.rpc.timeout
> * hbase.client.operation.timeout
> * hbase.client.scanner.timeout.period
> And in latest branch-1 or master branch code, we will have two other 
> properties:
> * hbase.rpc.read.timeout
> * hbase.rpc.write.timeout
> However, in current refguid we don't have explicit instruction on the 
> difference of these timeout settings (there're explanations for each 
> property, but no instruction on when to use which)
> In my understanding, for RPC layer timeout, or say each rpc call:
> * Scan (openScanner/next): controlled by hbase.client.scanner.timeout.period
> * Other operations:
>1. For released versions: controlled by hbase.rpc.timeout
>2. For 1.4+ versions: read operation controlled by hbase.rpc.read.timeout, 
> write operation controlled by hbase.rpc.write.timeout, or hbase.rpc.timeout 
> if the previous two are not set.
> And hbase.client.operation.timeout is a higher-level control counting retry 
> in, or say the overall control for one user call.
> After this JIRA, I hope when users ask questions like "What settings I should 
> use if I don't want to wait for more than 1 second for a single 
> put/get/scan.next call", we could give a neat answer.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17449) Add explicit document on different timeout settings

2018-03-20 Thread Appy (JIRA)

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

Appy commented on HBASE-17449:
--

yes.

Tried understanding retrying caller.
We have a tracker to keep track of overall operation time - 
https://github.com/apache/hbase/blob/2a3f4a0a4eb7bb67985050b0e007576c468f217e/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerImpl.java#L99

And this check should be enforcing it - 
https://github.com/apache/hbase/blob/2a3f4a0a4eb7bb67985050b0e007576c468f217e/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerImpl.java#L156

Let me dig more.

> Add explicit document on different timeout settings
> ---
>
> Key: HBASE-17449
> URL: https://issues.apache.org/jira/browse/HBASE-17449
> Project: HBase
>  Issue Type: Improvement
>  Components: documentation
>Reporter: Yu Li
>Assignee: Yu Li
>Priority: Critical
> Fix For: 2.0.0
>
> Attachments: 0001-Standalone.patch, HBASE-17449.master.002.patch, 
> WIP-HBASE-17499.master.001.patch
>
>
> Currently we have more than one timeout settings, mainly includes:
> * hbase.rpc.timeout
> * hbase.client.operation.timeout
> * hbase.client.scanner.timeout.period
> And in latest branch-1 or master branch code, we will have two other 
> properties:
> * hbase.rpc.read.timeout
> * hbase.rpc.write.timeout
> However, in current refguid we don't have explicit instruction on the 
> difference of these timeout settings (there're explanations for each 
> property, but no instruction on when to use which)
> In my understanding, for RPC layer timeout, or say each rpc call:
> * Scan (openScanner/next): controlled by hbase.client.scanner.timeout.period
> * Other operations:
>1. For released versions: controlled by hbase.rpc.timeout
>2. For 1.4+ versions: read operation controlled by hbase.rpc.read.timeout, 
> write operation controlled by hbase.rpc.write.timeout, or hbase.rpc.timeout 
> if the previous two are not set.
> And hbase.client.operation.timeout is a higher-level control counting retry 
> in, or say the overall control for one user call.
> After this JIRA, I hope when users ask questions like "What settings I should 
> use if I don't want to wait for more than 1 second for a single 
> put/get/scan.next call", we could give a neat answer.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20212) Make all Public classes have InterfaceAudience category

2018-03-18 Thread Appy (JIRA)

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

Appy commented on HBASE-20212:
--

Checked the plugin code (https://github.com/revelc/warbucks-maven-plugin), 
sadly it doesn't have any param to specify exclude pattern :(
So i guess, regex lookahead method is the smallest and best way?
Go for it.

> Make all Public classes have InterfaceAudience category
> ---
>
> Key: HBASE-20212
> URL: https://issues.apache.org/jira/browse/HBASE-20212
> Project: HBase
>  Issue Type: Task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 3.0.0, 2.1.0
>
>
> The tasks will be resolved are shown below.
>  # add warbucks-maven-plugin to root pom
>  # make sure all sub modules ref the warbucks-maven-plugin
>  # remove old checker (TestInterfaceAudienceAnnotations)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20151) Bug with SingleColumnValueFilter and FamilyFilter

2018-03-17 Thread Appy (JIRA)

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

Appy commented on HBASE-20151:
--

That sounds coherent to kinds of issues i saw with filter last time. Post a 
patch [~reidchan]? I'll take a look at code soon.

> Bug with SingleColumnValueFilter and FamilyFilter
> -
>
> Key: HBASE-20151
> URL: https://issues.apache.org/jira/browse/HBASE-20151
> Project: HBase
>  Issue Type: Bug
> Environment: MacOS 10.13.3
> HBase 1.3.1
>Reporter: Steven Sadowski
>Assignee: Reid Chan
>Priority: Major
> Fix For: 2.0.0
>
>
> When running the following queries, the result is sometimes return correctly 
> and other times incorrectly based on the qualifier queried.
> Setup:
> {code:java}
> create 'test', 'a', 'b'
> test = get_table 'test'
> test.put '1', 'a:1', nil
> test.put '1', 'a:10', nil
> test.put '1', 'b:2', nil
> {code}
>  
>  This query works fine when the SCVF's qualifier has length 1 (i.e. '1') :
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','1',=,'binary:',true,true) AND 
> FamilyFilter(=,'binary:b') )"})
> ROW   COLUMN+CELL
>  1column=b:2, 
> timestamp=1520455888059, value=
> 1 row(s) in 0.0060 seconds
> {code}
>  
> The query should return the same result when passed a qualifier of length 2 
> (i.e. '10') :
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','10',=,'binary:',true,true) AND 
> FamilyFilter(=,'binary:b') )"})
> ROW   COLUMN+CELL
> 0 row(s) in 0.0110 seconds
> {code}
> However, in this case, it does not return any row (expected result would be 
> to return the same result as the first query).
>  
> Removing the family filter while the qualifier is '10' yields expected 
> results:
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','10',=,'binary:',true,true) )"})
> ROW   COLUMN+CELL
>  1column=a:1, 
> timestamp=1520455887954, value=
>  1column=a:10, 
> timestamp=1520455888024, value=
>  1column=b:2, 
> timestamp=1520455888059, value=
> 1 row(s) in 0.0140 seconds
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20212) Make all Public classes have InterfaceAudience category

2018-03-17 Thread Appy (JIRA)

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

Appy commented on HBASE-20212:
--

yeah, can do few modules at a time to chunk up the work.

> Make all Public classes have InterfaceAudience category
> ---
>
> Key: HBASE-20212
> URL: https://issues.apache.org/jira/browse/HBASE-20212
> Project: HBase
>  Issue Type: Task
>Reporter: Chia-Ping Tsai
>Assignee: Chia-Ping Tsai
>Priority: Critical
> Fix For: 2.0.0, 3.0.0, 2.1.0
>
>
> The tasks will be resolved are shown below.
>  # add warbucks-maven-plugin to root pom
>  # make sure all sub modules ref the warbucks-maven-plugin
>  # remove old checker (TestInterfaceAudienceAnnotations)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-15809) Basic Replication WebUI

2018-03-16 Thread Appy (JIRA)

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

Appy edited comment on HBASE-15809 at 3/16/18 4:50 PM:
---

Checked UIs. They look great and will be very useful for many users.  +1

[~stack] the zip is what i uploaded earlier, still waiting for new patches.


was (Author: appy):
Checked UIs. They look great and will be very useful for many users.  +1


> Basic Replication WebUI
> ---
>
> Key: HBASE-15809
> URL: https://issues.apache.org/jira/browse/HBASE-15809
> Project: HBase
>  Issue Type: New Feature
>  Components: Replication, UI
>Affects Versions: 2.0.0
>Reporter: Matteo Bertozzi
>Assignee: Jingyun Tian
>Priority: Critical
> Fix For: 2.0.0, 1.5.0
>
> Attachments: HBASE-15809-v0.patch, HBASE-15809-v0.png, 
> HBASE-15809-v1.patch, rep_web_ui.zip
>
>
> At the moment the only way to have some insight on replication from the webui 
> is looking at zkdump and metrics.
> the basic information useful to get started debugging are: peer information 
> and the view of WALs offsets for each peer.
> https://reviews.apache.org/r/47275/



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-15809) Basic Replication WebUI

2018-03-16 Thread Appy (JIRA)

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

Appy commented on HBASE-15809:
--

Checked UIs. They look great and will be very useful for many users.  +1


> Basic Replication WebUI
> ---
>
> Key: HBASE-15809
> URL: https://issues.apache.org/jira/browse/HBASE-15809
> Project: HBase
>  Issue Type: New Feature
>  Components: Replication, UI
>Affects Versions: 2.0.0
>Reporter: Matteo Bertozzi
>Assignee: Jingyun Tian
>Priority: Critical
> Fix For: 2.0.0, 1.5.0
>
> Attachments: HBASE-15809-v0.patch, HBASE-15809-v0.png, 
> HBASE-15809-v1.patch, rep_web_ui.zip
>
>
> At the moment the only way to have some insight on replication from the webui 
> is looking at zkdump and metrics.
> the basic information useful to get started debugging are: peer information 
> and the view of WALs offsets for each peer.
> https://reviews.apache.org/r/47275/



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-20188) [TESTING] Performance

2018-03-15 Thread Appy (JIRA)

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

Appy edited comment on HBASE-20188 at 3/15/18 6:24 AM:
---

bq.  You going to have pretty graphs of GC usage, i/os, CPU too?
Can't this time. We don't have any easy way to collect those in our open source 
version (or maybe there's one am not aware of?). And I can't use CM due to 
technical (and license too?) reasons - hbase2.0 + hadoop2.7.


bq. At the moment I am getting abysmal perf because we are blocking writes 
because we are unable to flush in time.
In that case, i'll not waste time in doing full perf testing. I'll reduce the 
scope by reducing number of rows and limiting to single workload.
Can do complete one as mentioned previously when things look good.


was (Author: appy):
bq.  You going to have pretty graphs of GC usage, i/os, CPU too?
Can't this time. We don't have any easy way to collect those in our open source 
version (or maybe there's one am not aware of?). And I can't use CM due to 
technical (and license too?) reasons - hbase2.0 + hadoop2.7.


bq. At the moment I am getting abysmal perf because we are blocking writes 
because we are unable to flush in time.
In that case, i'll not waste time in doing full perf testing. I'll reduce the 
scope by reducing number of rows and limiting to single workload.


> [TESTING] Performance
> -
>
> Key: HBASE-20188
> URL: https://issues.apache.org/jira/browse/HBASE-20188
> Project: HBase
>  Issue Type: Umbrella
>  Components: Performance
>Reporter: stack
>Priority: Critical
> Fix For: 2.0.0
>
>
> How does 2.0.0 compare to old versions? Is it faster, slower? There is rumor 
> that it is much slower, that the problem is the asyncwal writing. Does 
> in-memory compaction slow us down or speed us up? What happens when you 
> enable offheaping?
> Keep notes here in this umbrella issue. Need to be able to say something 
> about perf when 2.0.0 ships.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20188) [TESTING] Performance

2018-03-15 Thread Appy (JIRA)

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

Appy commented on HBASE-20188:
--

bq.  You going to have pretty graphs of GC usage, i/os, CPU too?
Can't this time. We don't have any easy way to collect those in our open source 
version (or maybe there's one am not aware of?). And I can't use CM due to 
technical (and license too?) reasons - hbase2.0 + hadoop2.7.


bq. At the moment I am getting abysmal perf because we are blocking writes 
because we are unable to flush in time.
In that case, i'll not waste time in doing full perf testing. I'll reduce the 
scope by reducing number of rows and limiting to single workload.


> [TESTING] Performance
> -
>
> Key: HBASE-20188
> URL: https://issues.apache.org/jira/browse/HBASE-20188
> Project: HBase
>  Issue Type: Umbrella
>  Components: Performance
>Reporter: stack
>Priority: Critical
> Fix For: 2.0.0
>
>
> How does 2.0.0 compare to old versions? Is it faster, slower? There is rumor 
> that it is much slower, that the problem is the asyncwal writing. Does 
> in-memory compaction slow us down or speed us up? What happens when you 
> enable offheaping?
> Keep notes here in this umbrella issue. Need to be able to say something 
> about perf when 2.0.0 ships.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20185) Fix ACL check for MasterRpcServices#execProcedure

2018-03-15 Thread Appy (JIRA)

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

Appy updated HBASE-20185:
-
Resolution: Fixed
Status: Resolved  (was: Patch Available)

> Fix ACL check for MasterRpcServices#execProcedure
> -
>
> Key: HBASE-20185
> URL: https://issues.apache.org/jira/browse/HBASE-20185
> Project: HBase
>  Issue Type: Bug
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Fix For: 2.0.0
>
> Attachments: HBASE-20185.master.001.patch
>
>
> Mailing thread ref: 
> [http://mail-archives.apache.org/mod_mbox/hbase-dev/201803.mbox/%3CCAAjhxrriGy_UXpC4iHCSyBB18iAbjU3Y2%2BnjQ-66i9kPPCrPRQ%40mail.gmail.com%3E]
> TLDR; HBASE-19400 messed up perms required for flushing a table.
> 
> Looks like flush and snapshot procedures are already doing permissions check 
> as part of preTableFlush/preSnapshot hooks. However, 
> LogRollMasterProcedureManager is missing access checks ([~elserj], can 
> someone look at it?)
>  
> With that, it makes no sense to put an ADMIN perm requirement which was added 
> by me in HBASE-19400. Removing it.
> However, to make things better for future, i have made few design changes 
> which will ensure 1) perm checks don't slip by mistake, 2) a suitable 
> placeholder for checks for flush & snapshot when we remove AccessController 
> for good.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19770) Add '--return-values' option to Shell to print return values of commands in interactive mode

2018-03-15 Thread Appy (JIRA)

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

Appy commented on HBASE-19770:
--

wdys? default return-value to true (And rename option to --no-return-value) or 
remove the option altogether?

> Add '--return-values' option to Shell to print return values of commands in 
> interactive mode
> 
>
> Key: HBASE-19770
> URL: https://issues.apache.org/jira/browse/HBASE-19770
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Romil Choksi
>Assignee: Josh Elser
>Priority: Critical
> Fix For: 1.5.0, 2.0.0-beta-2, 1.4.2
>
> Attachments: HBASE-19770.000.branch-2.addendum.patch, 
> HBASE-19770.001.branch-2.patch, HBASE-19770.002.branch-2.patch, 
> HBASE-19770.003.branch-2.patch, HBASE-19770.004.branch-2.patch, 
> HBASE-19770.ADDENDUM.branch-2.patch
>
>
> Another good find by our Romil.
> {code}
> hbase(main):001:0> list
> TABLE
> a
> 1 row(s)
> Took 0.8385 seconds
> hbase(main):002:0> tables=list
> TABLE
> a
> 1 row(s)
> Took 0.0267 seconds
> hbase(main):003:0> puts tables
> hbase(main):004:0> p tables
> nil
> {code}
> The {{list}} command should be returning {{\['a'\]}} but is not.
> The command class itself appears to be doing the right thing -- maybe the 
> retval is getting lost somewhere else?
> FYI [~stack].



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-19770) Add '--return-values' option to Shell to print return values of commands in interactive mode

2018-03-14 Thread Appy (JIRA)

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

Appy commented on HBASE-19770:
--

bq. I think flipping the default to true is something we could consider if this 
"experiment" is deemed not as helpful as intended.
sounds right.
Pardon for starting down this road.

> Add '--return-values' option to Shell to print return values of commands in 
> interactive mode
> 
>
> Key: HBASE-19770
> URL: https://issues.apache.org/jira/browse/HBASE-19770
> Project: HBase
>  Issue Type: Improvement
>  Components: shell
>Reporter: Romil Choksi
>Assignee: Josh Elser
>Priority: Critical
> Fix For: 1.5.0, 2.0.0-beta-2, 1.4.2
>
> Attachments: HBASE-19770.000.branch-2.addendum.patch, 
> HBASE-19770.001.branch-2.patch, HBASE-19770.002.branch-2.patch, 
> HBASE-19770.003.branch-2.patch, HBASE-19770.004.branch-2.patch, 
> HBASE-19770.ADDENDUM.branch-2.patch
>
>
> Another good find by our Romil.
> {code}
> hbase(main):001:0> list
> TABLE
> a
> 1 row(s)
> Took 0.8385 seconds
> hbase(main):002:0> tables=list
> TABLE
> a
> 1 row(s)
> Took 0.0267 seconds
> hbase(main):003:0> puts tables
> hbase(main):004:0> p tables
> nil
> {code}
> The {{list}} command should be returning {{\['a'\]}} but is not.
> The command class itself appears to be doing the right thing -- maybe the 
> retval is getting lost somewhere else?
> FYI [~stack].



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20185) Fix ACL check for MasterRpcServices#execProcedure

2018-03-14 Thread Appy (JIRA)

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

Appy commented on HBASE-20185:
--

Thanks for reviews [~elserj] and [~stack]. 
Pushed to master, branch-2, branch-2.0

> Fix ACL check for MasterRpcServices#execProcedure
> -
>
> Key: HBASE-20185
> URL: https://issues.apache.org/jira/browse/HBASE-20185
> Project: HBase
>  Issue Type: Bug
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Fix For: 2.0.0
>
> Attachments: HBASE-20185.master.001.patch
>
>
> Mailing thread ref: 
> [http://mail-archives.apache.org/mod_mbox/hbase-dev/201803.mbox/%3CCAAjhxrriGy_UXpC4iHCSyBB18iAbjU3Y2%2BnjQ-66i9kPPCrPRQ%40mail.gmail.com%3E]
> TLDR; HBASE-19400 messed up perms required for flushing a table.
> 
> Looks like flush and snapshot procedures are already doing permissions check 
> as part of preTableFlush/preSnapshot hooks. However, 
> LogRollMasterProcedureManager is missing access checks ([~elserj], can 
> someone look at it?)
>  
> With that, it makes no sense to put an ADMIN perm requirement which was added 
> by me in HBASE-19400. Removing it.
> However, to make things better for future, i have made few design changes 
> which will ensure 1) perm checks don't slip by mistake, 2) a suitable 
> placeholder for checks for flush & snapshot when we remove AccessController 
> for good.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20185) Fix ACL check for MasterRpcServices#execProcedure

2018-03-14 Thread Appy (JIRA)

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

Appy commented on HBASE-20185:
--

bq. Leave a TODO comment around the "pre" CP hooks to mirror 
Makes sense. done.

 bq. Some unrelated whitespace/formatting changes make this appear bigger than 
it is
IDEs. :( I thought of removing them, but them thought that it wasn't not too 
much and isolated to just one file.

bq. Is the object visibility change on AccessChecker in RSRpcServices actually 
necessary?
accessChecker declared in RsRpcServices but now also used in 
MasterRpcServices#execProcedure.

There is already a test for that in TestAccessController- 
https://github.com/apache/hbase/blob/master/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java#L809,
 - however, those tests are hacked to not run the operations but the AC hooks 
directly. for eg. instead of triggering flush, it just runs 
ACCESS_CONTROLLER.preTableFlush(). It's not possible/good to change just a few 
tests there given that will break the overall design and make things harder to 
maintain.

The new test should go in TestAdminOnlyOperations (and the test class name 
should probably be changed to TestRpcAccessChecks).
Let me commit what we have for now.

> Fix ACL check for MasterRpcServices#execProcedure
> -
>
> Key: HBASE-20185
> URL: https://issues.apache.org/jira/browse/HBASE-20185
> Project: HBase
>  Issue Type: Bug
>Reporter: Appy
>Assignee: Appy
>Priority: Major
> Fix For: 2.0.0
>
> Attachments: HBASE-20185.master.001.patch
>
>
> Mailing thread ref: 
> [http://mail-archives.apache.org/mod_mbox/hbase-dev/201803.mbox/%3CCAAjhxrriGy_UXpC4iHCSyBB18iAbjU3Y2%2BnjQ-66i9kPPCrPRQ%40mail.gmail.com%3E]
> TLDR; HBASE-19400 messed up perms required for flushing a table.
> 
> Looks like flush and snapshot procedures are already doing permissions check 
> as part of preTableFlush/preSnapshot hooks. However, 
> LogRollMasterProcedureManager is missing access checks ([~elserj], can 
> someone look at it?)
>  
> With that, it makes no sense to put an ADMIN perm requirement which was added 
> by me in HBASE-19400. Removing it.
> However, to make things better for future, i have made few design changes 
> which will ensure 1) perm checks don't slip by mistake, 2) a suitable 
> placeholder for checks for flush & snapshot when we remove AccessController 
> for good.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20188) [TESTING] Performance

2018-03-13 Thread Appy (JIRA)

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

Appy commented on HBASE-20188:
--

I was planning to do the same - test with YCSB.

How does following plan sounds? 1Master + 6 RS + 2 client.

Begin with hbase1.4, load 1B rows (yscb load phase) , flush, compact, take 
snapshot.

run workload : write only (custom), C, E, F ([list of 
workloads|https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads])

Update to 2.0, run same workloads and compare.

Do one off 1B load on 2.0 to compare with initial load on 1.4.

 

What remains:
 * perf for increments
 * these will be done with basic configs (maybe I'll just increase heap size), 
so it won't test fancy stuff - off heap, etc.
 * what else?

  

> [TESTING] Performance
> -
>
> Key: HBASE-20188
> URL: https://issues.apache.org/jira/browse/HBASE-20188
> Project: HBase
>  Issue Type: Umbrella
>  Components: Performance
>Reporter: stack
>Priority: Critical
> Fix For: 2.0.0
>
>
> How does 2.0.0 compare to old versions? Is it faster, slower? There is rumor 
> that it is much slower, that the problem is the asyncwal writing. Does 
> in-memory compaction slow us down or speed us up? What happens when you 
> enable offheaping?
> Keep notes here in this umbrella issue. Need to be able to say something 
> about perf when 2.0.0 ships.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-17919) HBase 2.x over hadoop 3.x umbrella

2018-03-13 Thread Appy (JIRA)

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

Appy commented on HBASE-17919:
--

sounds right. Let's discuss further on HBASE-20188.

> HBase 2.x over hadoop 3.x  umbrella
> ---
>
> Key: HBASE-17919
> URL: https://issues.apache.org/jira/browse/HBASE-17919
> Project: HBase
>  Issue Type: Umbrella
>  Components: hadoop3
>Affects Versions: 2.0.0
>Reporter: Jonathan Hsieh
>Priority: Critical
> Fix For: 2.0.0
>
>
> We should try to get hbase 2.x branch working against the recently release 
> hadoop 3.0.0 alphas.  These days 3.0.0-alpha2 is the latest.
> HBASE-16733 and HBASE-17593 got the compile level checks in but we should 
> progress to getting unit tests to pass and a build against hadoop3 up.
> This umbrella issue will capture issues around this project.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20181) Logging and minor logic improvements in BackupLogCleaner

2018-03-13 Thread Appy (JIRA)

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

Appy updated HBASE-20181:
-
Fix Version/s: 3.0.0

> Logging and minor logic improvements in BackupLogCleaner
> 
>
> Key: HBASE-20181
> URL: https://issues.apache.org/jira/browse/HBASE-20181
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase
>Affects Versions: 2.0.0
>Reporter: BELUGA BEHR
>Assignee: BELUGA BEHR
>Priority: Trivial
> Fix For: 3.0.0
>
> Attachments: HBASE-20181.1.patch
>
>
> # Simplify code
>  # Use re-usable libraries
>  # Use SLF4J parameter logging format
>  # Clean up some log messages



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (HBASE-20181) Logging and minor logic improvements in BackupLogCleaner

2018-03-13 Thread Appy (JIRA)

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

Appy resolved HBASE-20181.
--
Resolution: Fixed

> Logging and minor logic improvements in BackupLogCleaner
> 
>
> Key: HBASE-20181
> URL: https://issues.apache.org/jira/browse/HBASE-20181
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase
>Affects Versions: 2.0.0
>Reporter: BELUGA BEHR
>Assignee: BELUGA BEHR
>Priority: Trivial
> Fix For: 3.0.0
>
> Attachments: HBASE-20181.1.patch
>
>
> # Simplify code
>  # Use re-usable libraries
>  # Use SLF4J parameter logging format
>  # Clean up some log messages



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20181) Logging and minor logic improvements in BackupLogCleaner

2018-03-13 Thread Appy (JIRA)

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

Appy commented on HBASE-20181:
--

[~yuzhih...@gmail.com] reason i committed it was, his style is doing one file 
at a time.

[~belugabehr] Ted's feedback here, and i support it is, at some point you need 
to grow - in size, skill, etc. One simple way here is, do piece-wise work, 
saving it in small git commits (squash them as needed, ++ git-fu skills) and 
scale up until you are comfortable to modify whole modules at a time :)

> Logging and minor logic improvements in BackupLogCleaner
> 
>
> Key: HBASE-20181
> URL: https://issues.apache.org/jira/browse/HBASE-20181
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase
>Affects Versions: 2.0.0
>Reporter: BELUGA BEHR
>Assignee: BELUGA BEHR
>Priority: Trivial
> Attachments: HBASE-20181.1.patch
>
>
> # Simplify code
>  # Use re-usable libraries
>  # Use SLF4J parameter logging format
>  # Clean up some log messages



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (HBASE-20181) Logging and minor logic improvements in BackupLogCleaner

2018-03-13 Thread Appy (JIRA)

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

Appy updated HBASE-20181:
-
Summary: Logging and minor logic improvements in BackupLogCleaner  (was: 
Code Review for BackupLogCleaner)

> Logging and minor logic improvements in BackupLogCleaner
> 
>
> Key: HBASE-20181
> URL: https://issues.apache.org/jira/browse/HBASE-20181
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase
>Affects Versions: 2.0.0
>Reporter: BELUGA BEHR
>Assignee: BELUGA BEHR
>Priority: Trivial
> Attachments: HBASE-20181.1.patch
>
>
> # Simplify code
>  # Use re-usable libraries
>  # Use SLF4J parameter logging format
>  # Clean up some log messages



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (HBASE-20181) Code Review for BackupLogCleaner

2018-03-13 Thread Appy (JIRA)

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

Appy edited comment on HBASE-20181 at 3/14/18 4:27 AM:
---

+1 Thanks [~belugabehr] for nice fixes...keep them coming!

Let me commit what's there right now


was (Author: appy):
+1 Thanks [~belugabehr] for nice fixes...keep them coming!

Let me commit what's there right now

 

 

> Code Review for BackupLogCleaner
> 
>
> Key: HBASE-20181
> URL: https://issues.apache.org/jira/browse/HBASE-20181
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase
>Affects Versions: 2.0.0
>Reporter: BELUGA BEHR
>Assignee: BELUGA BEHR
>Priority: Trivial
> Attachments: HBASE-20181.1.patch
>
>
> # Simplify code
>  # Use re-usable libraries
>  # Use SLF4J parameter logging format
>  # Clean up some log messages



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20181) Code Review for BackupLogCleaner

2018-03-13 Thread Appy (JIRA)

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

Appy commented on HBASE-20181:
--

+1 Thanks [~belugabehr] for nice fixes...keep them coming!

Let me commit what's there right now

 

 

> Code Review for BackupLogCleaner
> 
>
> Key: HBASE-20181
> URL: https://issues.apache.org/jira/browse/HBASE-20181
> Project: HBase
>  Issue Type: Improvement
>  Components: hbase
>Affects Versions: 2.0.0
>Reporter: BELUGA BEHR
>Assignee: BELUGA BEHR
>Priority: Trivial
> Attachments: HBASE-20181.1.patch
>
>
> # Simplify code
>  # Use re-usable libraries
>  # Use SLF4J parameter logging format
>  # Clean up some log messages



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20151) Bug with SingleColumnValueFilter and FamilyFilter

2018-03-13 Thread Appy (JIRA)

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

Appy commented on HBASE-20151:
--

Thanks sir!

> Bug with SingleColumnValueFilter and FamilyFilter
> -
>
> Key: HBASE-20151
> URL: https://issues.apache.org/jira/browse/HBASE-20151
> Project: HBase
>  Issue Type: Bug
> Environment: MacOS 10.13.3
> HBase 1.3.1
>Reporter: Steven Sadowski
>Assignee: Reid Chan
>Priority: Major
> Fix For: 2.0.0
>
>
> When running the following queries, the result is sometimes return correctly 
> and other times incorrectly based on the qualifier queried.
> Setup:
> {code:java}
> create 'test', 'a', 'b'
> test = get_table 'test'
> test.put '1', 'a:1', nil
> test.put '1', 'a:10', nil
> test.put '1', 'b:2', nil
> {code}
>  
>  This query works fine when the SCVF's qualifier has length 1 (i.e. '1') :
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','1',=,'binary:',true,true) AND 
> FamilyFilter(=,'binary:b') )"})
> ROW   COLUMN+CELL
>  1column=b:2, 
> timestamp=1520455888059, value=
> 1 row(s) in 0.0060 seconds
> {code}
>  
> The query should return the same result when passed a qualifier of length 2 
> (i.e. '10') :
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','10',=,'binary:',true,true) AND 
> FamilyFilter(=,'binary:b') )"})
> ROW   COLUMN+CELL
> 0 row(s) in 0.0110 seconds
> {code}
> However, in this case, it does not return any row (expected result would be 
> to return the same result as the first query).
>  
> Removing the family filter while the qualifier is '10' yields expected 
> results:
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','10',=,'binary:',true,true) )"})
> ROW   COLUMN+CELL
>  1column=a:1, 
> timestamp=1520455887954, value=
>  1column=a:10, 
> timestamp=1520455888024, value=
>  1column=b:2, 
> timestamp=1520455888059, value=
> 1 row(s) in 0.0140 seconds
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20151) Bug with SingleColumnValueFilter and FamilyFilter

2018-03-13 Thread Appy (JIRA)

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

Appy commented on HBASE-20151:
--

Trying to understand the nature of bug morehere's more data.

Interestingly, it only happens when the last two args for SVCF are specified.

Default value for filterIfMissing (first arg) is false and for 
latestVersionOnly (second arg) is true.
{noformat}
hbase(main):006:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','1',=,'binary:',true,true) AND 
FamilyFilter(=,'binary:b') )"})
ROW COLUMN+CELL
1 column=b:2, timestamp=1520951043631, value=
1 row(s)
Took 0.0508 seconds hbase(main):007:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','10',=,'binary:',true,true) AND 
FamilyFilter(=,'binary:b') )"})
ROW COLUMN+CELL
0 row(s)
Took 0.0047 seconds hbase(main):008:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','1',=,'binary:') AND FamilyFilter(=,'binary:b') )"})
ROW COLUMN+CELL
1 column=b:2, timestamp=1520951043631, value=
1 row(s)
Took 0.0073 seconds hbase(main):009:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','10',=,'binary:') AND FamilyFilter(=,'binary:b') 
)"})
ROW COLUMN+CELL
1 column=b:2, timestamp=1520951043631, value=
1 row(s)
Took 0.0057 seconds hbase(main):010:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','10',=,'binary:', false, true) AND 
FamilyFilter(=,'binary:b') )"})
ROW COLUMN+CELL
1 column=b:2, timestamp=1520951043631, value=
1 row(s)
Took 0.0098 seconds hbase(main):011:0> test.scan({ FILTER => "( 
SingleColumnValueFilter('a','1',=,'binary:', false, true) AND 
FamilyFilter(=,'binary:b') )"})
ROW COLUMN+CELL
1 column=b:2, timestamp=1520951043631, value=
1 row(s)
Took 0.0068 seconds{noformat}
I won't have time to debug this further, if anyone else want to continue here 
(incrementally, or all the way through)...next steps would be debugging using 
breakpoints  (unless you have great familiarity with filter code).

 

> Bug with SingleColumnValueFilter and FamilyFilter
> -
>
> Key: HBASE-20151
> URL: https://issues.apache.org/jira/browse/HBASE-20151
> Project: HBase
>  Issue Type: Bug
> Environment: MacOS 10.13.3
> HBase 1.3.1
>Reporter: Steven Sadowski
>Priority: Major
> Fix For: 2.0.0
>
>
> When running the following queries, the result is sometimes return correctly 
> and other times incorrectly based on the qualifier queried.
> Setup:
> {code:java}
> create 'test', 'a', 'b'
> test = get_table 'test'
> test.put '1', 'a:1', nil
> test.put '1', 'a:10', nil
> test.put '1', 'b:2', nil
> {code}
>  
>  This query works fine when the SCVF's qualifier has length 1 (i.e. '1') :
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','1',=,'binary:',true,true) AND 
> FamilyFilter(=,'binary:b') )"})
> ROW   COLUMN+CELL
>  1column=b:2, 
> timestamp=1520455888059, value=
> 1 row(s) in 0.0060 seconds
> {code}
>  
> The query should return the same result when passed a qualifier of length 2 
> (i.e. '10') :
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','10',=,'binary:',true,true) AND 
> FamilyFilter(=,'binary:b') )"})
> ROW   COLUMN+CELL
> 0 row(s) in 0.0110 seconds
> {code}
> However, in this case, it does not return any row (expected result would be 
> to return the same result as the first query).
>  
> Removing the family filter while the qualifier is '10' yields expected 
> results:
> {code:java}
> test.scan({ FILTER => "( 
> SingleColumnValueFilter('a','10',=,'binary:',true,true) )"})
> ROW   COLUMN+CELL
>  1column=a:1, 
> timestamp=1520455887954, value=
>  1column=a:10, 
> timestamp=1520455888024, value=
>  1column=b:2, 
> timestamp=1520455888059, value=
> 1 row(s) in 0.0140 seconds
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


  1   2   3   4   5   6   7   8   9   10   >