[jira] [Updated] (HBASE-22760) Stop/Resume Snapshot Auto-Cleanup activity with shell command

2019-09-05 Thread Viraj Jasani (Jira)


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

Viraj Jasani updated HBASE-22760:
-
Attachment: HBASE-22760.branch-1.001.patch

> Stop/Resume Snapshot Auto-Cleanup activity with shell command
> -
>
> Key: HBASE-22760
> URL: https://issues.apache.org/jira/browse/HBASE-22760
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin, shell, snapshots
>Affects Versions: 3.0.0, 1.5.0, 2.3.0
>Reporter: Viraj Jasani
>Assignee: Viraj Jasani
>Priority: Major
> Fix For: 3.0.0, 1.5.0, 2.3.0
>
> Attachments: HBASE-22760.branch-1.000.patch, 
> HBASE-22760.branch-1.001.patch, HBASE-22760.branch-2.000.patch, 
> HBASE-22760.master.003.patch, HBASE-22760.master.004.patch, 
> HBASE-22760.master.005.patch, HBASE-22760.master.008.patch, 
> HBASE-22760.master.009.patch
>
>
> For any scheduled snapshot backup activity, we would like to disable 
> auto-cleaner for snapshot based on TTL. However, as per HBASE-22648 we have a 
> config to disable snapshot auto-cleaner: 
> hbase.master.cleaner.snapshot.disable, which would take effect only upon 
> HMaster restart just similar to any other hbase-site configs.
> For any running cluster, we should be able to stop/resume auto-cleanup 
> activity for snapshot based on shell command. Something similar to below 
> command should be able to stop/start cleanup chore:
> hbase(main):001:0> snapshot_auto_cleanup_switch false    (disable 
> auto-cleaner)
> hbase(main):001:0> snapshot_auto_cleanup_switch true     (enable auto-cleaner)



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase-operator-tools] jfrabaute commented on issue #23: Fix invalid function call (from usage to showErrorMessage)

2019-09-05 Thread GitBox
jfrabaute commented on issue #23: Fix invalid function call (from usage to 
showErrorMessage)
URL: 
https://github.com/apache/hbase-operator-tools/pull/23#issuecomment-528709477
 
 
   Thanks for the quick merge!
   
   (Yes, I checked the error log of the jenkins build and it was complaining 
about the code without the PR applied. Weird.)


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase-operator-tools] busbey merged pull request #23: Fix invalid function call (from usage to showErrorMessage)

2019-09-05 Thread GitBox
busbey merged pull request #23: Fix invalid function call (from usage to 
showErrorMessage)
URL: https://github.com/apache/hbase-operator-tools/pull/23
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase-operator-tools] asf-ci commented on issue #23: Fix invalid function call (from usage to showErrorMessage)

2019-09-05 Thread GitBox
asf-ci commented on issue #23: Fix invalid function call (from usage to 
showErrorMessage)
URL: 
https://github.com/apache/hbase-operator-tools/pull/23#issuecomment-528706542
 
 
   
   Refer to this link for build results (access rights to CI server needed): 
   https://builds.apache.org/job/PreCommit-HBASE-OPERATOR-TOOLS-Build/86/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-22888) Use separate classe to deal with streaming read and pread

2019-09-05 Thread Anoop Sam John (Jira)


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

Anoop Sam John commented on HBASE-22888:


A nice find.  So now if there is a stream reader is created, it will create new 
HFileReader which in turn do loading of the FFT, Meta blocks, load on startup 
blocks etc.  Also if prefect cache is needed, it will again do the prefetch 
read into cache !.
On closing the stream reader, it would have cancelled the cache prefetch if it 
was still in progress
Checking the E2E reader creation flow, I can see it will again call the CP 
hooks around the StoreFileReader creation! May be even that is not needed 
really?
I like the way we have 2 HFileReader impls now. You can clearly do the extra 
steps for Stream reader (ie. While creation, create a new FSReaderImpl and on 
close, close that alone.
{code}
dataBlockIndexReader.copyFields(reader.getDataBlockIndexReader());
metaBlockIndexReader.copyFields(reader.getMetaBlockIndexReader());
{code}
Do we really need to do this copy? The stream reader's block index reader can 
directly refer to the pread HFileReader's block index reader? More over can we 
do this clone stuff within the HFileReader itself? If HFileReader  having an 
API like cloneForNewStreamRead() (Pardon the name) , we can do all the cone 
stuff etc within itself.  Same way would have been best for StoreFileReader 
also so that we can avoid the CP hooks calls (?)
Again this is a nice catch 

> Use separate classe to deal with streaming read and pread
> -
>
> Key: HBASE-22888
> URL: https://issues.apache.org/jira/browse/HBASE-22888
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 2.0.0
>Reporter: chenxu
>Assignee: chenxu
>Priority: Major
>
> When switching pread to stream read, new HFileReaderImpl will be create, but 
> the two different readers do not share informations with each other. maybe we 
> can divide HFileReaderImpl into two different class, such as HFilePreadReader 
> and HFileStreamReader. When constructing HFileStreamReader, it will copy some 
> stuffs (fileInfo, index, etc) from an already existing Reader, and no need to 
> do prefetch operations.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase-operator-tools] jfrabaute opened a new pull request #23: Fix invalid function call (from usage to showErrorMessage)

2019-09-05 Thread GitBox
jfrabaute opened a new pull request #23: Fix invalid function call (from usage 
to showErrorMessage)
URL: https://github.com/apache/hbase-operator-tools/pull/23
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-22930) Set unique name to longCompactions/shortCompactions threads

2019-09-05 Thread Anoop Sam John (Jira)


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

Anoop Sam John commented on HBASE-22930:


Sorry for being later in replying to u [~pankaj2461].. Yes my comment was on 
the usage of the local Atomic variable usage.  The pull request #585 looks good.
You want fix this in branch-1 also? There seems we are not even using google 
common ThreadFactoryBuilder so own Atomic variable usage might be needed. Its 
ok to fix this in branch-2 + also.

> Set unique name to longCompactions/shortCompactions threads
> ---
>
> Key: HBASE-22930
> URL: https://issues.apache.org/jira/browse/HBASE-22930
> Project: HBase
>  Issue Type: Improvement
>Reporter: Pankaj Kumar
>Assignee: Pankaj Kumar
>Priority: Minor
> Fix For: 3.0.0, 2.3.0, 2.1.7, 2.2.2
>
>
> Sometime observed multiple compaction threads have the same name which is 
> misleading while analysing the log.
> Currently we just append the current timestamp which can be same for multiple 
> threads,
> [https://github.com/apache/hbase/blob/ec68bf30ba91ea7484d3b56b0809ff5434f9406e/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplit.java#L144]



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] Apache-HBase commented on issue #585: HBASE-22930 Set unique name to longCompactions/shortCompactions/split threads

2019-09-05 Thread GitBox
Apache-HBase commented on issue #585: HBASE-22930 Set unique name to 
longCompactions/shortCompactions/split threads
URL: https://github.com/apache/hbase/pull/585#issuecomment-528690354
 
 
   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | :blue_heart: |  reexec  |   0m 39s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | :green_heart: |  hbaseanti  |   0m  0s |  Patch does not have any 
anti-patterns.  |
   | :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   | :yellow_heart: |  test4tests  |   0m  0s |  The patch doesn't appear to 
include any new or modified tests. Please justify why no new tests are needed 
for this patch. Also please list what manual steps were performed to verify 
this patch.  |
   ||| _ master Compile Tests _ |
   | :green_heart: |  mvninstall  |   5m 49s |  master passed  |
   | :green_heart: |  compile  |   0m 59s |  master passed  |
   | :green_heart: |  checkstyle  |   1m 18s |  master passed  |
   | :green_heart: |  shadedjars  |   4m 41s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  javadoc  |   0m 38s |  master passed  |
   | :blue_heart: |  spotbugs  |   3m 59s |  Used deprecated FindBugs config; 
considering switching to SpotBugs.  |
   | :green_heart: |  findbugs  |   3m 58s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | :green_heart: |  mvninstall  |   4m 52s |  the patch passed  |
   | :green_heart: |  compile  |   1m  2s |  the patch passed  |
   | :green_heart: |  javac  |   1m  2s |  the patch passed  |
   | :green_heart: |  checkstyle  |   1m 17s |  the patch passed  |
   | :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | :green_heart: |  shadedjars  |   4m 30s |  patch has no errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  hadoopcheck  |  15m 30s |  Patch does not cause any 
errors with Hadoop 2.8.5 2.9.2 or 3.1.2.  |
   | :green_heart: |  javadoc  |   0m 35s |  the patch passed  |
   | :green_heart: |  findbugs  |   4m  8s |  the patch passed  |
   ||| _ Other Tests _ |
   | :green_heart: |  unit  | 160m 18s |  hbase-server in the patch passed.  |
   | :green_heart: |  asflicense  |   0m 35s |  The patch does not generate ASF 
License warnings.  |
   |  |   | 217m  5s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-585/2/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/585 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile |
   | uname | Linux 7c4969a43fd0 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 
11:12:41 UTC 2019 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-585/out/precommit/personality/provided.sh
 |
   | git revision | master / fbd5b5e327 |
   | Default Java | 1.8.0_181 |
   |  Test Results | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-585/2/testReport/
 |
   | Max. process+thread count | 4835 (vs. ulimit of 1) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-585/2/console |
   | versions | git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11 |
   | Powered by | Apache Yetus 0.11.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-22859) [HBCK2] Fix the orphan regions on filesystem

2019-09-05 Thread HBase QA (Jira)


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

HBase QA commented on HBASE-22859:
--

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  1m 
12s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:orange}-0{color} | {color:orange} test4tests {color} | {color:orange}  
0m  0s{color} | {color:orange} The patch doesn't appear to include any new or 
modified tests. Please justify why no new tests are needed for this patch. Also 
please list what manual steps were performed to verify this patch. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
32s{color} | {color:blue} Maven dependency ordering for branch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  5m 
56s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  3m  
7s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  2m 
36s{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} refguide {color} | {color:blue}  6m 
17s{color} | {color:blue} branch has no errors when building the reference 
guide. See footer for rendered docs, which you should manually inspect. {color} 
|
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
51s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
0s{color} | {color:blue} Skipped patched modules with no Java source: . {color} 
|
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  3m 
54s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  3m 
12s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue}  0m 
14s{color} | {color:blue} Maven dependency ordering for patch {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  5m 
14s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  3m  
7s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  3m  
7s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red}  2m 
33s{color} | {color:red} root: The patch generated 1 new + 0 unchanged - 0 
fixed = 1 total (was 0) {color} |
| {color:red}-1{color} | {color:red} whitespace {color} | {color:red}  0m  
0s{color} | {color:red} The patch has 1 line(s) that end in whitespace. Use git 
apply --whitespace=fix <>. Refer https://git-scm.com/docs/git-apply 
{color} |
| {color:blue}0{color} | {color:blue} refguide {color} | {color:blue}  6m  
8s{color} | {color:blue} patch has no errors when building the reference guide. 
See footer for rendered docs, which you should manually inspect. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
51s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
16m 46s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.8.5 2.9.2 or 3.1.2. {color} |
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  0m  
0s{color} | {color:blue} Skipped patched modules with no Java source: . {color} 
|
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  3m 
57s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  3m 
29s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red}244m  9s{color} 
| {color:red} root in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
47s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | 

[jira] [Comment Edited] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell edited comment on HBASE-22978 at 9/6/19 1:19 AM:


You can invoke the shell with a command and pipe the output to a file, like 
{{./bin/hbase shell 'command' > output.txt 2>&1}} . Or the output can be piped 
to something else. Nothing special need be done there. 

I like the idea of persisting the complete slow log with best effort, though. 
Reminds me of the [MySQL slow log dump 
tool|https://dev.mysql.com/doc/refman/8.0/en/mysqldumpslow.html]. Initially I 
was thinking this could be part of general performance surveillance, where 
sampling is good enough, but maybe there could be a tough to debug case that's 
rare so would also be hard to catch in the ring buffers. For that we'd 
configure a slow log directory in site configuration, presumably in HDFS, into 
which regionservers would each append to a file, rolling at some configured 
bound. A tool that decodes and prints to stdout, like HFilePrettyPrinter and 
such, can mostly share common code with what we put in the regionserver to do 
the same out to RPC for the shell. 


was (Author: apurtell):
You can invoke the shell with a command and pipe the output to a file, like 
{{./bin/hbase shell 'command' > output.txt 2>&1}} . Or the output can be piped 
to something else. Nothing special need be done there. 

I like the idea of persisting the complete slow log with best effort, though. 
Reminds me of the [MySQL slow 
log|https://dev.mysql.com/doc/refman/8.0/en/slow-query-log.html]. Initially I 
was thinking this could be part of general performance surveillance, where 
sampling is good enough, but maybe there could be a tough to debug case that's 
rare so would also be hard to catch in the ring buffers. For that we'd 
configure a slow log directory in site configuration, presumably in HDFS, into 
which regionservers would each append to a file, rolling at some configured 
bound. A tool that decodes and prints to stdout, like HFilePrettyPrinter and 
such, can mostly share common code with what we put in the regionserver to do 
the same out to RPC for the shell. 

> Online slow response log
> 
>
> Key: HBASE-22978
> URL: https://issues.apache.org/jira/browse/HBASE-22978
> Project: HBase
>  Issue Type: New Feature
>  Components: Admin, Operability, regionserver, shell
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Minor
>
> Today when an individual RPC exceeds a configurable time bound we log a 
> complaint by way of the logging subsystem. These log lines look like:
> {noformat}
> 2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
> (responseTooSlow):
> {"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
> "starttimems":1567203007549,
> "responsesize":6819737,
> "method":"Scan",
> "param":"region { type: REGION_NAME value: 
> \"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
> "processingtimems":28646,
> "client":"10.253.196.215:41116",
> "queuetimems":22453,
> "class":"HRegionServer"}
> {noformat}
> Unfortunately we often truncate the request parameters, like in the above 
> example. We do this because the human readable representation is verbose, the 
> rate of too slow warnings may be high, and the combination of these things 
> can overwhelm the log capture system. The truncation is unfortunate because 
> it eliminates much of the utility of the warnings. For example, the region 
> name, the start and end keys, and the filter hierarchy are all important 
> clues for debugging performance problems caused by moderate to low 
> selectivity queries or queries made at a high rate.
> We can maintain an in-memory ring buffer of requests that were judged to be 
> too slow in addition to the responseTooSlow logging. The in-memory 
> representation can be complete and compressed. A new admin API and shell 
> command can provide access to the ring buffer for online performance 
> debugging. A modest sizing of the ring buffer will prevent excessive memory 
> utilization for a minor performance debugging feature by limiting the total 
> number of retained records. There is some chance a high rate of requests will 
> cause information on other interesting requests to be overwritten before it 
> can be read. This is the nature of a ring buffer and an acceptable trade off.
> The write request types do not require us to retain all information submitted 
> in the request. We don't need to retain all key-values in the mutation, which 
> may be too large to comfortably retain. We only need a unique set of row 
> keys, or even a min/max range, and total 

[jira] [Commented] (HBASE-22760) Stop/Resume Snapshot Auto-Cleanup activity with shell command

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell commented on HBASE-22760:


[~vjasani] I can't commit this yet. TestShell fails on branch-1
{noformat}
  1) Error:
test_snapshot_auto_cleanup_should_work(Hbase::AdminMethodsTest):
NoMethodError: undefined method `command' for 
#
./src/test/ruby/hbase/admin_test.rb:163:in 
`test_snapshot_auto_cleanup_should_work'
org/jruby/RubyProc.java:270:in `call'
org/jruby/RubyKernel.java:2105:in `send'
org/jruby/RubyArray.java:1620:in `each'
org/jruby/RubyArray.java:1620:in `each'

422 tests, 593 assertions, 0 failures, 1 errors
{noformat}


> Stop/Resume Snapshot Auto-Cleanup activity with shell command
> -
>
> Key: HBASE-22760
> URL: https://issues.apache.org/jira/browse/HBASE-22760
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin, shell, snapshots
>Affects Versions: 3.0.0, 1.5.0, 2.3.0
>Reporter: Viraj Jasani
>Assignee: Viraj Jasani
>Priority: Major
> Fix For: 3.0.0, 1.5.0, 2.3.0
>
> Attachments: HBASE-22760.branch-1.000.patch, 
> HBASE-22760.branch-2.000.patch, HBASE-22760.master.003.patch, 
> HBASE-22760.master.004.patch, HBASE-22760.master.005.patch, 
> HBASE-22760.master.008.patch, HBASE-22760.master.009.patch
>
>
> For any scheduled snapshot backup activity, we would like to disable 
> auto-cleaner for snapshot based on TTL. However, as per HBASE-22648 we have a 
> config to disable snapshot auto-cleaner: 
> hbase.master.cleaner.snapshot.disable, which would take effect only upon 
> HMaster restart just similar to any other hbase-site configs.
> For any running cluster, we should be able to stop/resume auto-cleanup 
> activity for snapshot based on shell command. Something similar to below 
> command should be able to stop/start cleanup chore:
> hbase(main):001:0> snapshot_auto_cleanup_switch false    (disable 
> auto-cleaner)
> hbase(main):001:0> snapshot_auto_cleanup_switch true     (enable auto-cleaner)



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22978) Online slow response log

2019-09-05 Thread Sean Busbey (Jira)


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

Sean Busbey commented on HBASE-22978:
-

bq. You can invoke the shell with a command and pipe the output to a file, like 
{{./bin/hbase shell 'command' > output.txt 2>&1}} . Or the output can be piped 
to something else. Nothing special need be done there.

Sure, but each RS writing to HDFS and then using tools to pull all or some 
binary blobs down to a local machine (or inspecting them on HDFS itself) is 
going to be less error prone then making things run through a jruby shell.

Agree that a general purpose "dump everything over here at best effort" is 
going to be better for the kind of problems I'm thinking about though.

> Online slow response log
> 
>
> Key: HBASE-22978
> URL: https://issues.apache.org/jira/browse/HBASE-22978
> Project: HBase
>  Issue Type: New Feature
>  Components: Admin, Operability, regionserver, shell
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Minor
>
> Today when an individual RPC exceeds a configurable time bound we log a 
> complaint by way of the logging subsystem. These log lines look like:
> {noformat}
> 2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
> (responseTooSlow):
> {"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
> "starttimems":1567203007549,
> "responsesize":6819737,
> "method":"Scan",
> "param":"region { type: REGION_NAME value: 
> \"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
> "processingtimems":28646,
> "client":"10.253.196.215:41116",
> "queuetimems":22453,
> "class":"HRegionServer"}
> {noformat}
> Unfortunately we often truncate the request parameters, like in the above 
> example. We do this because the human readable representation is verbose, the 
> rate of too slow warnings may be high, and the combination of these things 
> can overwhelm the log capture system. The truncation is unfortunate because 
> it eliminates much of the utility of the warnings. For example, the region 
> name, the start and end keys, and the filter hierarchy are all important 
> clues for debugging performance problems caused by moderate to low 
> selectivity queries or queries made at a high rate.
> We can maintain an in-memory ring buffer of requests that were judged to be 
> too slow in addition to the responseTooSlow logging. The in-memory 
> representation can be complete and compressed. A new admin API and shell 
> command can provide access to the ring buffer for online performance 
> debugging. A modest sizing of the ring buffer will prevent excessive memory 
> utilization for a minor performance debugging feature by limiting the total 
> number of retained records. There is some chance a high rate of requests will 
> cause information on other interesting requests to be overwritten before it 
> can be read. This is the nature of a ring buffer and an acceptable trade off.
> The write request types do not require us to retain all information submitted 
> in the request. We don't need to retain all key-values in the mutation, which 
> may be too large to comfortably retain. We only need a unique set of row 
> keys, or even a min/max range, and total counts.
> The consumers of this information will be debugging tools. We can afford to 
> apply fast compression to ring buffer entries (if codec support is 
> available), something like snappy or zstandard, and decompress on the fly 
> when servicing the retrieval API request. This will minimize the impact of 
> retaining more information about slow requests than we do today.
> This proposal is for retention of request information only, the same 
> information provided by responseTooSlow warnings. Total size of response 
> serialization, possibly also total cell or row counts, should be sufficient 
> to characterize the response.
> Optionally persist new entries added to the ring buffer into one or more 
> files in HDFS in a write-behind manner. If the HDFS writer blocks or falls 
> behind and we are unable to persist an entry before it is overwritten, that 
> is fine. Response too slow logging is best effort. If we can detect this make 
> a note of it in the log file. Provide a tool for parsing, dumping, filtering, 
> and pretty printing the slow logs written to HDFS. The tool and the shell can 
> share and reuse some utility classes and methods for accomplishing that. 
> —
> New shell commands:
> {{get_slow_responses [  ... ,  ] [ , \{  
> } ]}}
> Retrieve, decode, and pretty print the contents of the too slow response ring 
> buffer maintained by the given list of servers; or all servers in the cluster 
> if no list is provided. 

[jira] [Updated] (HBASE-22760) Stop/Resume Snapshot Auto-Cleanup activity with shell command

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell updated HBASE-22760:
---
Fix Version/s: (was: 2.2.2)
   (was: 2.1.7)
   (was: 1.4.11)

> Stop/Resume Snapshot Auto-Cleanup activity with shell command
> -
>
> Key: HBASE-22760
> URL: https://issues.apache.org/jira/browse/HBASE-22760
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin, shell, snapshots
>Affects Versions: 3.0.0, 1.5.0, 2.3.0
>Reporter: Viraj Jasani
>Assignee: Viraj Jasani
>Priority: Major
> Fix For: 3.0.0, 1.5.0, 2.3.0
>
> Attachments: HBASE-22760.branch-1.000.patch, 
> HBASE-22760.branch-2.000.patch, HBASE-22760.master.003.patch, 
> HBASE-22760.master.004.patch, HBASE-22760.master.005.patch, 
> HBASE-22760.master.008.patch, HBASE-22760.master.009.patch
>
>
> For any scheduled snapshot backup activity, we would like to disable 
> auto-cleaner for snapshot based on TTL. However, as per HBASE-22648 we have a 
> config to disable snapshot auto-cleaner: 
> hbase.master.cleaner.snapshot.disable, which would take effect only upon 
> HMaster restart just similar to any other hbase-site configs.
> For any running cluster, we should be able to stop/resume auto-cleanup 
> activity for snapshot based on shell command. Something similar to below 
> command should be able to stop/start cleanup chore:
> hbase(main):001:0> snapshot_auto_cleanup_switch false    (disable 
> auto-cleaner)
> hbase(main):001:0> snapshot_auto_cleanup_switch true     (enable auto-cleaner)



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell commented on HBASE-22978:


You can invoke the shell with a command and pipe the output to a file, like 
{{./bin/hbase shell 'command' > output.txt 2>&1}} . Or the output can be piped 
to something else. Nothing special need be done there. 

I like the idea of persisting the complete slow log with best effort, though. 
Reminds me of the [MySQL slow 
log|https://dev.mysql.com/doc/refman/8.0/en/slow-query-log.html]. Initially I 
was thinking this could be part of general performance surveillance, where 
sampling is good enough, but maybe there could be a tough to debug case that's 
rare so would also be hard to catch in the ring buffers. For that we'd 
configure a slow log directory in site configuration, presumably in HDFS, into 
which regionservers would each append to a file, rolling at some configured 
bound. A tool that decodes and prints to stdout, like HFilePrettyPrinter and 
such, can mostly share common code with what we put in the regionserver to do 
the same out to RPC for the shell. 

> Online slow response log
> 
>
> Key: HBASE-22978
> URL: https://issues.apache.org/jira/browse/HBASE-22978
> Project: HBase
>  Issue Type: New Feature
>  Components: Admin, Operability, regionserver, shell
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Minor
>
> Today when an individual RPC exceeds a configurable time bound we log a 
> complaint by way of the logging subsystem. These log lines look like:
> {noformat}
> 2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
> (responseTooSlow):
> {"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
> "starttimems":1567203007549,
> "responsesize":6819737,
> "method":"Scan",
> "param":"region { type: REGION_NAME value: 
> \"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
> "processingtimems":28646,
> "client":"10.253.196.215:41116",
> "queuetimems":22453,
> "class":"HRegionServer"}
> {noformat}
> Unfortunately we often truncate the request parameters, like in the above 
> example. We do this because the human readable representation is verbose, the 
> rate of too slow warnings may be high, and the combination of these things 
> can overwhelm the log capture system. The truncation is unfortunate because 
> it eliminates much of the utility of the warnings. For example, the region 
> name, the start and end keys, and the filter hierarchy are all important 
> clues for debugging performance problems caused by moderate to low 
> selectivity queries or queries made at a high rate.
> We can maintain an in-memory ring buffer of requests that were judged to be 
> too slow in addition to the responseTooSlow logging. The in-memory 
> representation can be complete and compressed. A new admin API and shell 
> command can provide access to the ring buffer for online performance 
> debugging. A modest sizing of the ring buffer will prevent excessive memory 
> utilization for a minor performance debugging feature by limiting the total 
> number of retained records. There is some chance a high rate of requests will 
> cause information on other interesting requests to be overwritten before it 
> can be read. This is the nature of a ring buffer and an acceptable trade off.
> The write request types do not require us to retain all information submitted 
> in the request. We don't need to retain all key-values in the mutation, which 
> may be too large to comfortably retain. We only need a unique set of row 
> keys, or even a min/max range, and total counts.
> The consumers of this information will be debugging tools. We can afford to 
> apply fast compression to ring buffer entries (if codec support is 
> available), something like snappy or zstandard, and decompress on the fly 
> when servicing the retrieval API request. This will minimize the impact of 
> retaining more information about slow requests than we do today.
> This proposal is for retention of request information only, the same 
> information provided by responseTooSlow warnings. Total size of response 
> serialization, possibly also total cell or row counts, should be sufficient 
> to characterize the response.
> Optionally persist new entries added to the ring buffer into one or more 
> files in HDFS in a write-behind manner. If the HDFS writer blocks or falls 
> behind and we are unable to persist an entry before it is overwritten, that 
> is fine. Response too slow logging is best effort. If we can detect this make 
> a note of it in the log file. Provide a tool for parsing, dumping, filtering, 
> and pretty printing the slow logs 

[jira] [Commented] (HBASE-22034) Backport HBASE-21401 and HBASE-22032 to branch-1

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22034:


FAILURE: Integrated in Jenkins build PreCommit-PHOENIX-Build #2945 (See 
[https://builds.apache.org/job/PreCommit-PHOENIX-Build/2945/])
PHOENIX-5455 IndexedKeyValue creation fails after HBASE-22034 (gjacoby: rev 
50a6aeb47a1d5a4f97ad48bb298292becfe5776e)
* (edit) 
phoenix-core/src/main/java/org/apache/phoenix/hbase/index/wal/IndexedKeyValue.java
* (edit) phoenix-core/src/main/java/org/apache/phoenix/hbase/index/Indexer.java
* (edit) 
phoenix-core/src/main/java/org/apache/phoenix/hbase/index/wal/KeyValueCodec.java
* (edit) 
phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/IndexedKeyValueTest.java
* (edit) 
phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecTest.java


> Backport HBASE-21401 and HBASE-22032 to branch-1
> 
>
> Key: HBASE-22034
> URL: https://issues.apache.org/jira/browse/HBASE-22034
> Project: HBase
>  Issue Type: Improvement
>Reporter: Geoffrey Jacoby
>Assignee: Andrew Purtell
>Priority: Major
> Fix For: 1.5.0
>
> Attachments: HBASE-22034-branch-1.patch, HBASE-22034-branch-1.patch
>
>
> Branch-2 and master have good validation checks when constructing KeyValues. 
> We should also have them on branch-1. 



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22978) Online slow response log

2019-09-05 Thread Sean Busbey (Jira)


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

Sean Busbey updated HBASE-22978:

Component/s: Operability

> Online slow response log
> 
>
> Key: HBASE-22978
> URL: https://issues.apache.org/jira/browse/HBASE-22978
> Project: HBase
>  Issue Type: New Feature
>  Components: Admin, Operability, regionserver, shell
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Minor
>
> Today when an individual RPC exceeds a configurable time bound we log a 
> complaint by way of the logging subsystem. These log lines look like:
> {noformat}
> 2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
> (responseTooSlow):
> {"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
> "starttimems":1567203007549,
> "responsesize":6819737,
> "method":"Scan",
> "param":"region { type: REGION_NAME value: 
> \"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
> "processingtimems":28646,
> "client":"10.253.196.215:41116",
> "queuetimems":22453,
> "class":"HRegionServer"}
> {noformat}
> Unfortunately we often truncate the request parameters, like in the above 
> example. We do this because the human readable representation is verbose, the 
> rate of too slow warnings may be high, and the combination of these things 
> can overwhelm the log capture system. The truncation is unfortunate because 
> it eliminates much of the utility of the warnings. For example, the region 
> name, the start and end keys, and the filter hierarchy are all important 
> clues for debugging performance problems caused by moderate to low 
> selectivity queries or queries made at a high rate.
> We can maintain an in-memory ring buffer of requests that were judged to be 
> too slow in addition to the responseTooSlow logging. The in-memory 
> representation can be complete and compressed. A new admin API and shell 
> command can provide access to the ring buffer for online performance 
> debugging. A modest sizing of the ring buffer will prevent excessive memory 
> utilization for a minor performance debugging feature by limiting the total 
> number of retained records. There is some chance a high rate of requests will 
> cause information on other interesting requests to be overwritten before it 
> can be read. This is the nature of a ring buffer and an acceptable trade off.
> The write request types do not require us to retain all information submitted 
> in the request. We don't need to retain all key-values in the mutation, which 
> may be too large to comfortably retain. We only need a unique set of row 
> keys, or even a min/max range, and total counts.
> The consumers of this information will be debugging tools. We can afford to 
> apply fast compression to ring buffer entries (if codec support is 
> available), something like snappy or zstandard, and decompress on the fly 
> when servicing the retrieval API request. This will minimize the impact of 
> retaining more information about slow requests than we do today.
> This proposal is for retention of request information only, the same 
> information provided by responseTooSlow warnings. Total size of response 
> serialization, possibly also total cell or row counts, should be sufficient 
> to characterize the response.
> Optionally persist new entries added to the ring buffer into one or more 
> files in HDFS in a write-behind manner. If the HDFS writer blocks or falls 
> behind and we are unable to persist an entry before it is overwritten, that 
> is fine. Response too slow logging is best effort. If we can detect this make 
> a note of it in the log file. Provide a tool for parsing, dumping, filtering, 
> and pretty printing the slow logs written to HDFS. The tool and the shell can 
> share and reuse some utility classes and methods for accomplishing that. 
> —
> New shell commands:
> {{get_slow_responses [  ... ,  ] [ , \{  
> } ]}}
> Retrieve, decode, and pretty print the contents of the too slow response ring 
> buffer maintained by the given list of servers; or all servers in the cluster 
> if no list is provided. Optionally provide a map of parameters for filtering 
> as additional argument. The TABLE filter, which expects a string containing a 
> table name, will include only entries pertaining to that table. The REGION 
> filter, which expects a string containing an encoded region name, will 
> include only entries pertaining to that region. The CLIENT_IP filter, which 
> expects a string containing an IP address, will include only entries 
> pertaining to that client. The USER filter, which expects a string containing 
> a user name, will include only entries pertaining to that user. Filters are 
> additive, 

[jira] [Commented] (HBASE-22978) Online slow response log

2019-09-05 Thread Sean Busbey (Jira)


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

Sean Busbey commented on HBASE-22978:
-

bq. I'll update the description to include write-behind of the ring buffer to a 
directory in HDFS, but it shouldn't block, so if we stall during writing some 
ring buffer entries may have been lost. If we can detect that we can log that 
it happened in the file.

oh that's really nice. I just meant like "send the ones that match to this HDFS 
directory instead of to my hbase shell here" on the assumption that I will 
eventually run into a case where the buffer is eventually big enough that I 
will want to look at the results with $EDITOR or other shell tools instead of 
our shell and I'd rather not have to write a java tool to do it then.

> Online slow response log
> 
>
> Key: HBASE-22978
> URL: https://issues.apache.org/jira/browse/HBASE-22978
> Project: HBase
>  Issue Type: New Feature
>  Components: Admin, regionserver, shell
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Minor
>
> Today when an individual RPC exceeds a configurable time bound we log a 
> complaint by way of the logging subsystem. These log lines look like:
> {noformat}
> 2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
> (responseTooSlow):
> {"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
> "starttimems":1567203007549,
> "responsesize":6819737,
> "method":"Scan",
> "param":"region { type: REGION_NAME value: 
> \"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
> "processingtimems":28646,
> "client":"10.253.196.215:41116",
> "queuetimems":22453,
> "class":"HRegionServer"}
> {noformat}
> Unfortunately we often truncate the request parameters, like in the above 
> example. We do this because the human readable representation is verbose, the 
> rate of too slow warnings may be high, and the combination of these things 
> can overwhelm the log capture system. The truncation is unfortunate because 
> it eliminates much of the utility of the warnings. For example, the region 
> name, the start and end keys, and the filter hierarchy are all important 
> clues for debugging performance problems caused by moderate to low 
> selectivity queries or queries made at a high rate.
> We can maintain an in-memory ring buffer of requests that were judged to be 
> too slow in addition to the responseTooSlow logging. The in-memory 
> representation can be complete and compressed. A new admin API and shell 
> command can provide access to the ring buffer for online performance 
> debugging. A modest sizing of the ring buffer will prevent excessive memory 
> utilization for a minor performance debugging feature by limiting the total 
> number of retained records. There is some chance a high rate of requests will 
> cause information on other interesting requests to be overwritten before it 
> can be read. This is the nature of a ring buffer and an acceptable trade off.
> The write request types do not require us to retain all information submitted 
> in the request. We don't need to retain all key-values in the mutation, which 
> may be too large to comfortably retain. We only need a unique set of row 
> keys, or even a min/max range, and total counts.
> The consumers of this information will be debugging tools. We can afford to 
> apply fast compression to ring buffer entries (if codec support is 
> available), something like snappy or zstandard, and decompress on the fly 
> when servicing the retrieval API request. This will minimize the impact of 
> retaining more information about slow requests than we do today.
> This proposal is for retention of request information only, the same 
> information provided by responseTooSlow warnings. Total size of response 
> serialization, possibly also total cell or row counts, should be sufficient 
> to characterize the response.
> Optionally persist new entries added to the ring buffer into one or more 
> files in HDFS in a write-behind manner. If the HDFS writer blocks or falls 
> behind and we are unable to persist an entry before it is overwritten, that 
> is fine. Response too slow logging is best effort. If we can detect this make 
> a note of it in the log file. Provide a tool for parsing, dumping, filtering, 
> and pretty printing the slow logs written to HDFS. The tool and the shell can 
> share and reuse some utility classes and methods for accomplishing that. 
> —
> New shell commands:
> {{get_slow_responses [  ... ,  ] [ , \{  
> } ]}}
> Retrieve, decode, and pretty print the contents of the too slow response ring 
> buffer maintained by the given list of servers; or all servers in the 

[jira] [Commented] (HBASE-22937) The RawBytesComparator in branch-1 have wrong comparison order

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22937:


Results for branch branch-1.3
[build #957 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/957/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/957//General_Nightly_Build_Report/]


(x) {color:red}-1 jdk7 checks{color}
-- For more information [see jdk7 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/957//JDK7_Nightly_Build_Report/]


(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/957//JDK8_Nightly_Build_Report_(Hadoop2)/]




(/) {color:green}+1 source release artifact{color}
-- See build output for details.


> The RawBytesComparator in branch-1 have wrong comparison order
> --
>
> Key: HBASE-22937
> URL: https://issues.apache.org/jira/browse/HBASE-22937
> Project: HBase
>  Issue Type: Bug
>Reporter: Zheng Hu
>Assignee: Zheng Hu
>Priority: Major
> Fix For: 1.5.0, 1.3.6, 1.4.11
>
>
> When digging the HBASE-22862, we found a bug in 
> RawBytesComparator#compareOnlyKeyPortion  (although it's unrelated to the 
> corruption in HBASE-22862). 
> {code}
> @Override
> @VisibleForTesting
> public int compareOnlyKeyPortion(Cell left, Cell right) {
> // ...
>   return (0xff & left.getTypeByte()) - (0xff & right.getTypeByte());
> }
> {code}
> Here should be (0xff & right.getTypeByte()) - (0xff & left.getTypeByte())  I 
> think.
> I can see the BloomFilter or HFile v2 are still using the comparator in 
> branch-1 (but not in branch-2). Maybe we can just remove the class (if some 
> HFile encoded with this comparator, then mapping to the correct KVComparator 
> just like 2.x), or fix the bug in current RawBytesComparator.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22937) The RawBytesComparator in branch-1 have wrong comparison order

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22937:


SUCCESS: Integrated in Jenkins build HBase-1.3-IT #635 (See 
[https://builds.apache.org/job/HBase-1.3-IT/635/])
Amend HBASE-22937 The RawBytesComparator in branch-1 have wrong (apurtell: rev 
4abfc11a722884629f7c6d1c526b1df873cb2785)
* (edit) hbase-common/src/test/java/org/apache/hadoop/hbase/TestKeyValue.java


> The RawBytesComparator in branch-1 have wrong comparison order
> --
>
> Key: HBASE-22937
> URL: https://issues.apache.org/jira/browse/HBASE-22937
> Project: HBase
>  Issue Type: Bug
>Reporter: Zheng Hu
>Assignee: Zheng Hu
>Priority: Major
> Fix For: 1.5.0, 1.3.6, 1.4.11
>
>
> When digging the HBASE-22862, we found a bug in 
> RawBytesComparator#compareOnlyKeyPortion  (although it's unrelated to the 
> corruption in HBASE-22862). 
> {code}
> @Override
> @VisibleForTesting
> public int compareOnlyKeyPortion(Cell left, Cell right) {
> // ...
>   return (0xff & left.getTypeByte()) - (0xff & right.getTypeByte());
> }
> {code}
> Here should be (0xff & right.getTypeByte()) - (0xff & left.getTypeByte())  I 
> think.
> I can see the BloomFilter or HFile v2 are still using the comparator in 
> branch-1 (but not in branch-2). Maybe we can just remove the class (if some 
> HFile encoded with this comparator, then mapping to the correct KVComparator 
> just like 2.x), or fix the bug in current RawBytesComparator.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22701) Better handle invalid local directory for DynamicClassLoader

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22701:


Results for branch branch-2.2
[build #579 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/579/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/579//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/579//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/579//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> Better handle invalid local directory for DynamicClassLoader
> 
>
> Key: HBASE-22701
> URL: https://issues.apache.org/jira/browse/HBASE-22701
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Reporter: Josh Elser
>Assignee: Josh Elser
>Priority: Major
> Fix For: 2.3.0, 2.1.7, 2.2.2
>
> Attachments: HBASE-22701.001.patch, HBASE-22701.002.patch, 
> HBASE-22701.003.patch
>
>
> If you give HBase an {{hbase.local.dir}} (usually, "{{hbase.tmp.dir}}/local") 
> which is not writable to it, you will get some weird errors on the scan path. 
> I just saw this (again?) with Phoenix.
> Specifically, the first attempt to reference DynamicClassLoader (via 
> ProtobufUtil), will result in an ExceptionInInitializationError because the 
> unchecked exception coming out of DynamicClassLoader's constructor interrupts 
> the loading of {{DynamicClassLoader.class}}.
> {noformat}
> 2019-07-14 06:25:34,284 ERROR 
> [RpcServer.Metadata.Fifo.handler=12,queue=0,port=16020] 
> coprocessor.MetaDataEndpointImpl: dropTable failed
> org.apache.hadoop.hbase.DoNotRetryIOException: 
> java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.translateException(RpcRetryingCallerImpl.java:221)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:194)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:387)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:361)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:107)
> at 
> org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:80)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toFilter(ProtobufUtil.java:1598)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toScan(ProtobufUtil.java:1152)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.newRegionScanner(RSRpcServices.java:2967)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:3301)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:332)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:242)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:58)
> at 
> org.apache.hadoop.hbase.client.RegionServerCallable.call(RegionServerCallable.java:127)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:192)
> ... 7 more
> Caused by: java.lang.RuntimeException: Failed to create local dir 
> /hadoopfs/fs1/hbase/local/jars, DynamicClassLoader failed to init
> at 
> org.apache.hadoop.hbase.util.DynamicClassLoader.initTempDir(DynamicClassLoader.java:110)
> at 
> org.apache.hadoop.hbase.util.DynamicClassLoader.(DynamicClassLoader.java:98)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil$ClassLoaderHolder.lambda$static$0(ProtobufUtil.java:261)
> at java.security.AccessController.doPrivileged(Native Method)
>   

[jira] [Commented] (HBASE-22937) The RawBytesComparator in branch-1 have wrong comparison order

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22937:


Results for branch branch-1.4
[build #999 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/999/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/999//General_Nightly_Build_Report/]


(x) {color:red}-1 jdk7 checks{color}
-- For more information [see jdk7 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/999//JDK7_Nightly_Build_Report/]


(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/999//JDK8_Nightly_Build_Report_(Hadoop2)/]




(/) {color:green}+1 source release artifact{color}
-- See build output for details.


> The RawBytesComparator in branch-1 have wrong comparison order
> --
>
> Key: HBASE-22937
> URL: https://issues.apache.org/jira/browse/HBASE-22937
> Project: HBase
>  Issue Type: Bug
>Reporter: Zheng Hu
>Assignee: Zheng Hu
>Priority: Major
> Fix For: 1.5.0, 1.3.6, 1.4.11
>
>
> When digging the HBASE-22862, we found a bug in 
> RawBytesComparator#compareOnlyKeyPortion  (although it's unrelated to the 
> corruption in HBASE-22862). 
> {code}
> @Override
> @VisibleForTesting
> public int compareOnlyKeyPortion(Cell left, Cell right) {
> // ...
>   return (0xff & left.getTypeByte()) - (0xff & right.getTypeByte());
> }
> {code}
> Here should be (0xff & right.getTypeByte()) - (0xff & left.getTypeByte())  I 
> think.
> I can see the BloomFilter or HFile v2 are still using the comparator in 
> branch-1 (but not in branch-2). Maybe we can just remove the class (if some 
> HFile encoded with this comparator, then mapping to the correct KVComparator 
> just like 2.x), or fix the bug in current RawBytesComparator.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22701) Better handle invalid local directory for DynamicClassLoader

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22701:


Results for branch branch-2.1
[build #1565 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1565/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1565//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1565//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1565//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> Better handle invalid local directory for DynamicClassLoader
> 
>
> Key: HBASE-22701
> URL: https://issues.apache.org/jira/browse/HBASE-22701
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Reporter: Josh Elser
>Assignee: Josh Elser
>Priority: Major
> Fix For: 2.3.0, 2.1.7, 2.2.2
>
> Attachments: HBASE-22701.001.patch, HBASE-22701.002.patch, 
> HBASE-22701.003.patch
>
>
> If you give HBase an {{hbase.local.dir}} (usually, "{{hbase.tmp.dir}}/local") 
> which is not writable to it, you will get some weird errors on the scan path. 
> I just saw this (again?) with Phoenix.
> Specifically, the first attempt to reference DynamicClassLoader (via 
> ProtobufUtil), will result in an ExceptionInInitializationError because the 
> unchecked exception coming out of DynamicClassLoader's constructor interrupts 
> the loading of {{DynamicClassLoader.class}}.
> {noformat}
> 2019-07-14 06:25:34,284 ERROR 
> [RpcServer.Metadata.Fifo.handler=12,queue=0,port=16020] 
> coprocessor.MetaDataEndpointImpl: dropTable failed
> org.apache.hadoop.hbase.DoNotRetryIOException: 
> java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.translateException(RpcRetryingCallerImpl.java:221)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:194)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:387)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:361)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:107)
> at 
> org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:80)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toFilter(ProtobufUtil.java:1598)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toScan(ProtobufUtil.java:1152)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.newRegionScanner(RSRpcServices.java:2967)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:3301)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:332)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:242)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:58)
> at 
> org.apache.hadoop.hbase.client.RegionServerCallable.call(RegionServerCallable.java:127)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:192)
> ... 7 more
> Caused by: java.lang.RuntimeException: Failed to create local dir 
> /hadoopfs/fs1/hbase/local/jars, DynamicClassLoader failed to init
> at 
> org.apache.hadoop.hbase.util.DynamicClassLoader.initTempDir(DynamicClassLoader.java:110)
> at 
> org.apache.hadoop.hbase.util.DynamicClassLoader.(DynamicClassLoader.java:98)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil$ClassLoaderHolder.lambda$static$0(ProtobufUtil.java:261)
> at java.security.AccessController.doPrivileged(Native Method)
>  

[GitHub] [hbase] saintstack commented on issue #585: HBASE-22930 Set unique name to longCompactions/shortCompactions/split threads

2019-09-05 Thread GitBox
saintstack commented on issue #585: HBASE-22930 Set unique name to 
longCompactions/shortCompactions/split threads
URL: https://github.com/apache/hbase/pull/585#issuecomment-528646559
 
 
   Running new build. Bunch of test failures. See if related (doubt it).


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-22701) Better handle invalid local directory for DynamicClassLoader

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22701:


Results for branch master
[build #1405 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/master/1405/]: (x) 
*{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1405//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1405//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1405//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> Better handle invalid local directory for DynamicClassLoader
> 
>
> Key: HBASE-22701
> URL: https://issues.apache.org/jira/browse/HBASE-22701
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Reporter: Josh Elser
>Assignee: Josh Elser
>Priority: Major
> Fix For: 2.3.0, 2.1.7, 2.2.2
>
> Attachments: HBASE-22701.001.patch, HBASE-22701.002.patch, 
> HBASE-22701.003.patch
>
>
> If you give HBase an {{hbase.local.dir}} (usually, "{{hbase.tmp.dir}}/local") 
> which is not writable to it, you will get some weird errors on the scan path. 
> I just saw this (again?) with Phoenix.
> Specifically, the first attempt to reference DynamicClassLoader (via 
> ProtobufUtil), will result in an ExceptionInInitializationError because the 
> unchecked exception coming out of DynamicClassLoader's constructor interrupts 
> the loading of {{DynamicClassLoader.class}}.
> {noformat}
> 2019-07-14 06:25:34,284 ERROR 
> [RpcServer.Metadata.Fifo.handler=12,queue=0,port=16020] 
> coprocessor.MetaDataEndpointImpl: dropTable failed
> org.apache.hadoop.hbase.DoNotRetryIOException: 
> java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.translateException(RpcRetryingCallerImpl.java:221)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:194)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:387)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:361)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:107)
> at 
> org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:80)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toFilter(ProtobufUtil.java:1598)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toScan(ProtobufUtil.java:1152)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.newRegionScanner(RSRpcServices.java:2967)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:3301)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:332)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:242)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:58)
> at 
> org.apache.hadoop.hbase.client.RegionServerCallable.call(RegionServerCallable.java:127)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:192)
> ... 7 more
> Caused by: java.lang.RuntimeException: Failed to create local dir 
> /hadoopfs/fs1/hbase/local/jars, DynamicClassLoader failed to init
> at 
> org.apache.hadoop.hbase.util.DynamicClassLoader.initTempDir(DynamicClassLoader.java:110)
> at 
> org.apache.hadoop.hbase.util.DynamicClassLoader.(DynamicClassLoader.java:98)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil$ClassLoaderHolder.lambda$static$0(ProtobufUtil.java:261)
> at java.security.AccessController.doPrivileged(Native Method)
> at 
> 

[GitHub] [hbase-operator-tools] busbey commented on issue #16: HBASE-22825 [HBCK2] Add a client-side to hbase-operator-tools that ca…

2019-09-05 Thread GitBox
busbey commented on issue #16: HBASE-22825 [HBCK2] Add a client-side to 
hbase-operator-tools that ca…
URL: 
https://github.com/apache/hbase-operator-tools/pull/16#issuecomment-528645702
 
 
   Sounds good. Next time you should be able to push a commit into this PR with 
the amendment you want, fyi.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-22701) Better handle invalid local directory for DynamicClassLoader

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22701:


Results for branch branch-2
[build #2231 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2231/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2231//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2231//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2231//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> Better handle invalid local directory for DynamicClassLoader
> 
>
> Key: HBASE-22701
> URL: https://issues.apache.org/jira/browse/HBASE-22701
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Reporter: Josh Elser
>Assignee: Josh Elser
>Priority: Major
> Fix For: 2.3.0, 2.1.7, 2.2.2
>
> Attachments: HBASE-22701.001.patch, HBASE-22701.002.patch, 
> HBASE-22701.003.patch
>
>
> If you give HBase an {{hbase.local.dir}} (usually, "{{hbase.tmp.dir}}/local") 
> which is not writable to it, you will get some weird errors on the scan path. 
> I just saw this (again?) with Phoenix.
> Specifically, the first attempt to reference DynamicClassLoader (via 
> ProtobufUtil), will result in an ExceptionInInitializationError because the 
> unchecked exception coming out of DynamicClassLoader's constructor interrupts 
> the loading of {{DynamicClassLoader.class}}.
> {noformat}
> 2019-07-14 06:25:34,284 ERROR 
> [RpcServer.Metadata.Fifo.handler=12,queue=0,port=16020] 
> coprocessor.MetaDataEndpointImpl: dropTable failed
> org.apache.hadoop.hbase.DoNotRetryIOException: 
> java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.translateException(RpcRetryingCallerImpl.java:221)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:194)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:387)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:361)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:107)
> at 
> org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:80)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toFilter(ProtobufUtil.java:1598)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toScan(ProtobufUtil.java:1152)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.newRegionScanner(RSRpcServices.java:2967)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:3301)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:332)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:242)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:58)
> at 
> org.apache.hadoop.hbase.client.RegionServerCallable.call(RegionServerCallable.java:127)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:192)
> ... 7 more
> Caused by: java.lang.RuntimeException: Failed to create local dir 
> /hadoopfs/fs1/hbase/local/jars, DynamicClassLoader failed to init
> at 
> org.apache.hadoop.hbase.util.DynamicClassLoader.initTempDir(DynamicClassLoader.java:110)
> at 
> org.apache.hadoop.hbase.util.DynamicClassLoader.(DynamicClassLoader.java:98)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil$ClassLoaderHolder.lambda$static$0(ProtobufUtil.java:261)
> at java.security.AccessController.doPrivileged(Native Method)
> at 

[GitHub] [hbase-operator-tools] saintstack commented on issue #18: HBASE-22567 - HBCK2 addMissingRegionsToMeta

2019-09-05 Thread GitBox
saintstack commented on issue #18: HBASE-22567 - HBCK2 addMissingRegionsToMeta
URL: 
https://github.com/apache/hbase-operator-tools/pull/18#issuecomment-528643918
 
 
   Lets try and get this in @wchevreuil  I want to make a release of the 
hbase-operator-tools. Need this. Once in, I'll some text to the fixit section 
in hbck2 README talking up this facility. Thanks boss.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase-operator-tools] saintstack commented on a change in pull request #18: HBASE-22567 - HBCK2 addMissingRegionsToMeta

2019-09-05 Thread GitBox
saintstack commented on a change in pull request #18: HBASE-22567 - HBCK2 
addMissingRegionsToMeta
URL: 
https://github.com/apache/hbase-operator-tools/pull/18#discussion_r321523746
 
 

 ##
 File path: hbase-hbck2/src/main/java/org/apache/hbase/HBCK2.java
 ##
 @@ -164,6 +178,102 @@ int setRegionState(String region, RegionState.State 
newState)
 return EXIT_FAILURE;
   }
 
+  Map> reportTablesWithMissingRegionsInMeta(String... 
nameSpaceOrTable)
+  throws Exception {
+Map> report;
+try(final MetaFixer metaFixer = new MetaFixer(this.conf)){
+  List names = nameSpaceOrTable != null ? 
Arrays.asList(nameSpaceOrTable) : null;
+  report = metaFixer.reportTablesMissingRegions(names);
+} catch (Exception e) {
+  LOG.error("Error reporting missing regions: ", e);
+  throw e;
+}
+if(LOG.isDebugEnabled()) {
+  LOG.debug(formatMissingRegionsInMetaReport(report));
+}
+return report;
+  }
+
+  List addMissingRegionsInMeta(List regionsPath) throws 
IOException {
+List reAddedRegionsEncodedNames = new ArrayList<>();
+try(final MetaFixer metaFixer = new MetaFixer(this.conf)){
+  for(Path regionPath : regionsPath){
+metaFixer.putRegionInfoFromHdfsInMeta(regionPath);
+reAddedRegionsEncodedNames.add(regionPath.getName());
+  }
+}
+return reAddedRegionsEncodedNames;
+  }
+
+  Pair, List> 
addMissingRegionsInMetaForTables(String...
+  nameSpaceOrTable) {
+ExecutorService executorService = Executors.newFixedThreadPool(
+  (nameSpaceOrTable == null ||
+nameSpaceOrTable.length > Runtime.getRuntime().availableProcessors()) ?
+  Runtime.getRuntime().availableProcessors() :
+  nameSpaceOrTable.length);
+List>> futures = new ArrayList<>( nameSpaceOrTable == 
null ? 1 :
+  nameSpaceOrTable.length);
+final List readdedRegionNames = new ArrayList<>();
+List executionErrors = new ArrayList<>();
+try {
+  //reducing number of retries in case disable fails due to namespace 
table region also missing
+  this.conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 1);
+  try(Connection conn = ConnectionFactory.createConnection(this.conf);
+final Admin admin = conn.getAdmin()) {
+Map> report = 
reportTablesWithMissingRegionsInMeta(nameSpaceOrTable);
+for (TableName tableName : report.keySet()) {
+  if(admin.tableExists(tableName)) {
+futures.add(executorService.submit(new Callable>() {
+  @Override
+  public List call() throws Exception {
+LOG.debug("running thread for {}", 
tableName.getNameWithNamespaceInclAsString());
+try {
+  admin.disableTable(tableName);
 
 Review comment:
   I think so. Could make things worse?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-22796) [HBCK2] Add fix of overlaps to fixMeta hbck Service

2019-09-05 Thread stack (Jira)


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

stack commented on HBASE-22796:
---

Ok. Let me give this a go [~jatsakthi]. I think you on holiday (smile).

> [HBCK2] Add fix of overlaps to fixMeta hbck Service
> ---
>
> Key: HBASE-22796
> URL: https://issues.apache.org/jira/browse/HBASE-22796
> Project: HBase
>  Issue Type: Sub-task
>Reporter: stack
>Assignee: Sakthi
>Priority: Major
>
> fixMeta currently does holes in meta only courtesy of HBASE-22771 which added 
> fixMeta to hbck Service; missing was fix of overlaps too. This JIRA is about 
> adding fix of overlaps to general fixMeta call.  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22701) Better handle invalid local directory for DynamicClassLoader

2019-09-05 Thread Josh Elser (Jira)


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

Josh Elser updated HBASE-22701:
---
Hadoop Flags: Reviewed
  Resolution: Fixed
  Status: Resolved  (was: Patch Available)

Thanks for the reviews, all.

> Better handle invalid local directory for DynamicClassLoader
> 
>
> Key: HBASE-22701
> URL: https://issues.apache.org/jira/browse/HBASE-22701
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Reporter: Josh Elser
>Assignee: Josh Elser
>Priority: Major
> Fix For: 2.3.0, 2.1.7, 2.2.2
>
> Attachments: HBASE-22701.001.patch, HBASE-22701.002.patch, 
> HBASE-22701.003.patch
>
>
> If you give HBase an {{hbase.local.dir}} (usually, "{{hbase.tmp.dir}}/local") 
> which is not writable to it, you will get some weird errors on the scan path. 
> I just saw this (again?) with Phoenix.
> Specifically, the first attempt to reference DynamicClassLoader (via 
> ProtobufUtil), will result in an ExceptionInInitializationError because the 
> unchecked exception coming out of DynamicClassLoader's constructor interrupts 
> the loading of {{DynamicClassLoader.class}}.
> {noformat}
> 2019-07-14 06:25:34,284 ERROR 
> [RpcServer.Metadata.Fifo.handler=12,queue=0,port=16020] 
> coprocessor.MetaDataEndpointImpl: dropTable failed
> org.apache.hadoop.hbase.DoNotRetryIOException: 
> java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.translateException(RpcRetryingCallerImpl.java:221)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:194)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:387)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:361)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:107)
> at 
> org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:80)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toFilter(ProtobufUtil.java:1598)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toScan(ProtobufUtil.java:1152)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.newRegionScanner(RSRpcServices.java:2967)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:3301)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:332)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:242)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:58)
> at 
> org.apache.hadoop.hbase.client.RegionServerCallable.call(RegionServerCallable.java:127)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:192)
> ... 7 more
> Caused by: java.lang.RuntimeException: Failed to create local dir 
> /hadoopfs/fs1/hbase/local/jars, DynamicClassLoader failed to init
> at 
> org.apache.hadoop.hbase.util.DynamicClassLoader.initTempDir(DynamicClassLoader.java:110)
> at 
> org.apache.hadoop.hbase.util.DynamicClassLoader.(DynamicClassLoader.java:98)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil$ClassLoaderHolder.lambda$static$0(ProtobufUtil.java:261)
> at java.security.AccessController.doPrivileged(Native Method)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil$ClassLoaderHolder.(ProtobufUtil.java:260)
> ... 16 more
> {noformat}
> Every subsequent call will result in a NoClassDefFoundError, because we 
> already tried to load DynamicClassLoader.class once and failed.
> {noformat}
> 2019-07-14 06:25:34,380 ERROR 
> [RpcServer.Metadata.Fifo.handler=2,queue=2,port=16020] 
> coprocessor.MetaDataEndpointImpl: dropTable failed
> org.apache.hadoop.hbase.DoNotRetryIOException: 
> java.lang.NoClassDefFoundError: Could not initialize class 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil$ClassLoaderHolder
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.translateException(RpcRetryingCallerImpl.java:221)
> at 
> 

[jira] [Resolved] (HBASE-22825) [HBCK2] Add a client-side to hbase-operator-tools that can exploit fixMeta added in server side

2019-09-05 Thread stack (Jira)


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

stack resolved HBASE-22825.
---
Fix Version/s: hbase-operator-tools-1.0.0
 Hadoop Flags: Reviewed
   Resolution: Fixed

Merged after adjusting hbase version to refer to released 2.1.6. Thanks for 
patch [~jatsakthi] (and [~busbey] for review)

> [HBCK2] Add a client-side to hbase-operator-tools that can exploit fixMeta 
> added in server side
> ---
>
> Key: HBASE-22825
> URL: https://issues.apache.org/jira/browse/HBASE-22825
> Project: HBase
>  Issue Type: Sub-task
>  Components: hbck2
>Reporter: Sakthi
>Assignee: Sakthi
>Priority: Major
> Fix For: hbase-operator-tools-1.0.0
>
>
> fixMeta was added in server side in HBASE-22771. Let's add the client side to 
> the hbase-operator-tools to utilize that.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22937) The RawBytesComparator in branch-1 have wrong comparison order

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22937:


Results for branch branch-1.3
[build #956 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/956/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/956//General_Nightly_Build_Report/]


(x) {color:red}-1 jdk7 checks{color}
-- For more information [see jdk7 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/956//JDK7_Nightly_Build_Report/]


(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/956//JDK8_Nightly_Build_Report_(Hadoop2)/]




(/) {color:green}+1 source release artifact{color}
-- See build output for details.


> The RawBytesComparator in branch-1 have wrong comparison order
> --
>
> Key: HBASE-22937
> URL: https://issues.apache.org/jira/browse/HBASE-22937
> Project: HBase
>  Issue Type: Bug
>Reporter: Zheng Hu
>Assignee: Zheng Hu
>Priority: Major
> Fix For: 1.5.0, 1.3.6, 1.4.11
>
>
> When digging the HBASE-22862, we found a bug in 
> RawBytesComparator#compareOnlyKeyPortion  (although it's unrelated to the 
> corruption in HBASE-22862). 
> {code}
> @Override
> @VisibleForTesting
> public int compareOnlyKeyPortion(Cell left, Cell right) {
> // ...
>   return (0xff & left.getTypeByte()) - (0xff & right.getTypeByte());
> }
> {code}
> Here should be (0xff & right.getTypeByte()) - (0xff & left.getTypeByte())  I 
> think.
> I can see the BloomFilter or HFile v2 are still using the comparator in 
> branch-1 (but not in branch-2). Maybe we can just remove the class (if some 
> HFile encoded with this comparator, then mapping to the correct KVComparator 
> just like 2.x), or fix the bug in current RawBytesComparator.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Comment Edited] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell edited comment on HBASE-22978 at 9/5/19 10:37 PM:
-

Description updated. Admin API simplified. The {{get_slow_responses}} shell 
command is reconsidered as a general query tool. 

Pseudocode of this command would be like:
{noformat}
servers = nil
filters = ...
if filters['REGION'] 
servers = locateRegion( filters['REGION'] )
elsif filters['TABLE']
servers = locateRegions( filters['TABLE'] )
results = @admin.getSlowResponses(servers).map { 
// if a returned slow response entry matches any filter, return the 
value, else nil
}.compact // remove any nils
// pretty print 'results'
{noformat}


was (Author: apurtell):
Description updated. Admin API simplified. The {{get_slow_responses}} shell 
command is reconsidered as a general query tool. 

Pseudocode of this command would be like:
{noformat}
servers = []
filters = ...
if filters['REGION'] 
servers = locateRegion( filters['REGION'] )
elsif filters['TABLE']
servers = locateRegions( filters['TABLE'] )
results = @admin.getSlowResponses(servers.empty? ? nil : servers).map { 
// if a returned slow response entry matches any filter, return the 
value, else nil
}.compact // remove any nils
// pretty print 'results'
{noformat}

> Online slow response log
> 
>
> Key: HBASE-22978
> URL: https://issues.apache.org/jira/browse/HBASE-22978
> Project: HBase
>  Issue Type: New Feature
>  Components: Admin, regionserver, shell
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Minor
>
> Today when an individual RPC exceeds a configurable time bound we log a 
> complaint by way of the logging subsystem. These log lines look like:
> {noformat}
> 2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
> (responseTooSlow):
> {"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
> "starttimems":1567203007549,
> "responsesize":6819737,
> "method":"Scan",
> "param":"region { type: REGION_NAME value: 
> \"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
> "processingtimems":28646,
> "client":"10.253.196.215:41116",
> "queuetimems":22453,
> "class":"HRegionServer"}
> {noformat}
> Unfortunately we often truncate the request parameters, like in the above 
> example. We do this because the human readable representation is verbose, the 
> rate of too slow warnings may be high, and the combination of these things 
> can overwhelm the log capture system. The truncation is unfortunate because 
> it eliminates much of the utility of the warnings. For example, the region 
> name, the start and end keys, and the filter hierarchy are all important 
> clues for debugging performance problems caused by moderate to low 
> selectivity queries or queries made at a high rate.
> We can maintain an in-memory ring buffer of requests that were judged to be 
> too slow in addition to the responseTooSlow logging. The in-memory 
> representation can be complete and compressed. A new admin API and shell 
> command can provide access to the ring buffer for online performance 
> debugging. A modest sizing of the ring buffer will prevent excessive memory 
> utilization for a minor performance debugging feature by limiting the total 
> number of retained records. There is some chance a high rate of requests will 
> cause information on other interesting requests to be overwritten before it 
> can be read. This is the nature of a ring buffer and an acceptable trade off.
> The write request types do not require us to retain all information submitted 
> in the request. We don't need to retain all key-values in the mutation, which 
> may be too large to comfortably retain. We only need a unique set of row 
> keys, or even a min/max range, and total counts.
> The consumers of this information will be debugging tools. We can afford to 
> apply fast compression to ring buffer entries (if codec support is 
> available), something like snappy or zstandard, and decompress on the fly 
> when servicing the retrieval API request. This will minimize the impact of 
> retaining more information about slow requests than we do today.
> This proposal is for retention of request information only, the same 
> information provided by responseTooSlow warnings. Total size of response 
> serialization, possibly also total cell or row counts, should be sufficient 
> to characterize the response.
> Optionally persist new entries added to the ring buffer into one or more 
> files in HDFS in a write-behind manner. If the HDFS writer blocks or falls 
> behind and we are unable to persist an entry 

[GitHub] [hbase-operator-tools] saintstack closed pull request #16: HBASE-22825 [HBCK2] Add a client-side to hbase-operator-tools that ca…

2019-09-05 Thread GitBox
saintstack closed pull request #16: HBASE-22825 [HBCK2] Add a client-side to 
hbase-operator-tools that ca…
URL: https://github.com/apache/hbase-operator-tools/pull/16
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase-operator-tools] saintstack commented on issue #16: HBASE-22825 [HBCK2] Add a client-side to hbase-operator-tools that ca…

2019-09-05 Thread GitBox
saintstack commented on issue #16: HBASE-22825 [HBCK2] Add a client-side to 
hbase-operator-tools that ca…
URL: 
https://github.com/apache/hbase-operator-tools/pull/16#issuecomment-528618119
 
 
   Let me close this one and make a new one w/ @jatsakthi 's patch amended 
referring to released 2.1.6.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-22736) Add text to show how to fix the HBCK checking result

2019-09-05 Thread stack (Jira)


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

stack commented on HBASE-22736:
---

Moved to be subtask of HBCK2 version 2.0.

> Add text to show how to fix the HBCK checking result
> 
>
> Key: HBASE-22736
> URL: https://issues.apache.org/jira/browse/HBASE-22736
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Guanghao Zhang
>Priority: Major
>
> A follow-on issue after HBASE-22709.
> Copied the comment here.
> bq. In follow-on, we can add text on how to fix including commands. Also may 
> want a json version of this page. Lets see.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22736) Add text to show how to fix the HBCK checking result

2019-09-05 Thread stack (Jira)


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

stack updated HBASE-22736:
--
Parent: HBASE-22977
Issue Type: Sub-task  (was: Bug)

> Add text to show how to fix the HBCK checking result
> 
>
> Key: HBASE-22736
> URL: https://issues.apache.org/jira/browse/HBASE-22736
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Guanghao Zhang
>Priority: Major
>
> A follow-on issue after HBASE-22709.
> Copied the comment here.
> bq. In follow-on, we can add text on how to fix including commands. Also may 
> want a json version of this page. Lets see.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell updated HBASE-22978:
---
Description: 
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}
2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
(responseTooSlow):
{"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
"starttimems":1567203007549,
"responsesize":6819737,
"method":"Scan",
"param":"region { type: REGION_NAME value: 
\"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
"processingtimems":28646,
"client":"10.253.196.215:41116",
"queuetimems":22453,
"class":"HRegionServer"}
{noformat}

Unfortunately we often truncate the request parameters, like in the above 
example. We do this because the human readable representation is verbose, the 
rate of too slow warnings may be high, and the combination of these things can 
overwhelm the log capture system. The truncation is unfortunate because it 
eliminates much of the utility of the warnings. For example, the region name, 
the start and end keys, and the filter hierarchy are all important clues for 
debugging performance problems caused by moderate to low selectivity queries or 
queries made at a high rate.

We can maintain an in-memory ring buffer of requests that were judged to be too 
slow in addition to the responseTooSlow logging. The in-memory representation 
can be complete and compressed. A new admin API and shell command can provide 
access to the ring buffer for online performance debugging. A modest sizing of 
the ring buffer will prevent excessive memory utilization for a minor 
performance debugging feature by limiting the total number of retained records. 
There is some chance a high rate of requests will cause information on other 
interesting requests to be overwritten before it can be read. This is the 
nature of a ring buffer and an acceptable trade off.

The write request types do not require us to retain all information submitted 
in the request. We don't need to retain all key-values in the mutation, which 
may be too large to comfortably retain. We only need a unique set of row keys, 
or even a min/max range, and total counts.

The consumers of this information will be debugging tools. We can afford to 
apply fast compression to ring buffer entries (if codec support is available), 
something like snappy or zstandard, and decompress on the fly when servicing 
the retrieval API request. This will minimize the impact of retaining more 
information about slow requests than we do today.

This proposal is for retention of request information only, the same 
information provided by responseTooSlow warnings. Total size of response 
serialization, possibly also total cell or row counts, should be sufficient to 
characterize the response.

Optionally persist new entries added to the ring buffer into one or more files 
in HDFS in a write-behind manner. If the HDFS writer blocks or falls behind and 
we are unable to persist an entry before it is overwritten, that is fine. 
Response too slow logging is best effort. If we can detect this make a note of 
it in the log file. Provide a tool for parsing, dumping, filtering, and pretty 
printing the slow logs written to HDFS. The tool and the shell can share and 
reuse some utility classes and methods for accomplishing that. 

—

New shell commands:

{{get_slow_responses [  ... ,  ] [ , \{  } 
]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer maintained by the given list of servers; or all servers in the cluster 
if no list is provided. Optionally provide a map of parameters for filtering as 
additional argument. The TABLE filter, which expects a string containing a 
table name, will include only entries pertaining to that table. The REGION 
filter, which expects a string containing an encoded region name, will include 
only entries pertaining to that region. The CLIENT_IP filter, which expects a 
string containing an IP address, will include only entries pertaining to that 
client. The USER filter, which expects a string containing a user name, will 
include only entries pertaining to that user. Filters are additive, for example 
if both CLIENT_IP and USER filters are given, entries matching either or both 
conditions will be included. The exception to this is if both TABLE and REGION 
filters are provided, REGION will be preferred and TABLE will be ignored. A 
server name is its host, port, and start code, e.g. 
"host187.example.com,60020,1289493121758".

{{clear_slow_responses [  ... ,  ]}}

Clear the too slow response ring buffer maintained by the given list of 
servers; or all servers on the cluster if no argument is provided. A 

[jira] [Updated] (HBASE-22736) Add text to show how to fix the HBCK checking result

2019-09-05 Thread stack (Jira)


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

stack updated HBASE-22736:
--
Parent: (was: HBASE-21745)
Issue Type: Bug  (was: Sub-task)

> Add text to show how to fix the HBCK checking result
> 
>
> Key: HBASE-22736
> URL: https://issues.apache.org/jira/browse/HBASE-22736
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Priority: Major
>
> A follow-on issue after HBASE-22709.
> Copied the comment here.
> bq. In follow-on, we can add text on how to fix including commands. Also may 
> want a json version of this page. Lets see.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Assigned] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell reassigned HBASE-22978:
--

Assignee: Andrew Purtell

> Online slow response log
> 
>
> Key: HBASE-22978
> URL: https://issues.apache.org/jira/browse/HBASE-22978
> Project: HBase
>  Issue Type: New Feature
>  Components: Admin, regionserver, shell
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Minor
>
> Today when an individual RPC exceeds a configurable time bound we log a 
> complaint by way of the logging subsystem. These log lines look like:
> {noformat}
> 2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
> (responseTooSlow):
> {"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
> "starttimems":1567203007549,
> "responsesize":6819737,
> "method":"Scan",
> "param":"region { type: REGION_NAME value: 
> \"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
> "processingtimems":28646,
> "client":"10.253.196.215:41116",
> "queuetimems":22453,
> "class":"HRegionServer"}
> {noformat}
> Unfortunately we often truncate the request parameters, like in the above 
> example. We do this because the human readable representation is verbose, the 
> rate of too slow warnings may be high, and the combination of these things 
> can overwhelm the log capture system. The truncation is unfortunate because 
> it eliminates much of the utility of the warnings. For example, the region 
> name, the start and end keys, and the filter hierarchy are all important 
> clues for debugging performance problems caused by moderate to low 
> selectivity queries or queries made at a high rate.
> We can maintain an in-memory ring buffer of requests that were judged to be 
> too slow in addition to the responseTooSlow logging. The in-memory 
> representation can be complete and compressed. A new admin API and shell 
> command can provide access to the ring buffer for online performance 
> debugging. A modest sizing of the ring buffer will prevent excessive memory 
> utilization for a minor performance debugging feature by limiting the total 
> number of retained records. There is some chance a high rate of requests will 
> cause information on other interesting requests to be overwritten before it 
> can be read. This is the nature of a ring buffer and an acceptable trade off.
> The write request types do not require us to retain all information submitted 
> in the request. We don't need to retain all key-values in the mutation, which 
> may be too large to comfortably retain. We only need a unique set of row 
> keys, or even a min/max range, and total counts.
> The consumers of this information will be debugging tools. We can afford to 
> apply fast compression to ring buffer entries (if codec support is 
> available), something like snappy or zstandard, and decompress on the fly 
> when servicing the retrieval API request. This will minimize the impact of 
> retaining more information about slow requests than we do today.
> This proposal is for retention of request information only, the same 
> information provided by responseTooSlow warnings. Total size of response 
> serialization, possibly also total cell or row counts, should be sufficient 
> to characterize the response.
> Optionally persist new entries added to the ring buffer into one or more 
> files in HDFS in a write-behind manner. If the HDFS writer blocks or falls 
> behind and we are unable to persist an entry before it is overwritten, that 
> is fine. Response too slow logging is best effort. If we can detect this make 
> a note of it in the log file. 
> —
> New shell commands:
> {{get_slow_responses [  ... ,  ] [ , \{  
> } ]}}
> Retrieve, decode, and pretty print the contents of the too slow response ring 
> buffer maintained by the given list of servers; or all servers in the cluster 
> if no list is provided. Optionally provide a map of parameters for filtering 
> as additional argument. The TABLE filter, which expects a string containing a 
> table name, will include only entries pertaining to that table. The REGION 
> filter, which expects a string containing an encoded region name, will 
> include only entries pertaining to that region. The CLIENT_IP filter, which 
> expects a string containing an IP address, will include only entries 
> pertaining to that client. The USER filter, which expects a string containing 
> a user name, will include only entries pertaining to that user. Filters are 
> additive, for example if both CLIENT_IP and USER filters are given, entries 
> matching either or both conditions will be included. The exception to this is 
> if both TABLE and REGION filters are provided, REGION 

[jira] [Commented] (HBASE-22859) [HBCK2] Fix the orphan regions on filesystem

2019-09-05 Thread stack (Jira)


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

stack commented on HBASE-22859:
---

Also pushed a small edit on hbase-operator-tools under rubric of this issue... 
Its an edit that points to the refguide section added here and undoes a 
recommendation I've found subsequently doesn't work (--internal-classpath) but 
for which the alternative does.

> [HBCK2] Fix the orphan regions on filesystem
> 
>
> Key: HBASE-22859
> URL: https://issues.apache.org/jira/browse/HBASE-22859
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, hbck2
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 3.0.0, 2.3.0, 2.1.7, 2.2.2
>
> Attachments: HBASE-22859.master.001.patch, 
> HBASE-22859.master.002.patch
>
>
> Plan to add this feature to HBCK2 tool firstly.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22701) Better handle invalid local directory for DynamicClassLoader

2019-09-05 Thread Josh Elser (Jira)


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

Josh Elser commented on HBASE-22701:


{noformat}
2019-09-05 18:24:02,100 ERROR [regionserver/localhost:16020] 
util.DynamicClassLoader: Disabling the DynamicClassLoader as it failed to 
initialize its temp directory. Check your configuration and filesystem 
permissions. Custom coprocessor code may not be loaded as a result of this 
failure.
java.lang.RuntimeException: Failed to create local dir /tmp/hbase/local/jars, 
DynamicClassLoader failed to init
at 
org.apache.hadoop.hbase.util.DynamicClassLoader.initTempDir(DynamicClassLoader.java:124)
at 
org.apache.hadoop.hbase.util.DynamicClassLoader.(DynamicClassLoader.java:104)
at 
org.apache.hadoop.hbase.ipc.RemoteWithExtrasException$ClassLoaderHolder.lambda$static$0(RemoteWithExtrasException.java:55)
at java.security.AccessController.doPrivileged(Native Method)
at 
org.apache.hadoop.hbase.ipc.RemoteWithExtrasException$ClassLoaderHolder.(RemoteWithExtrasException.java:54)
at 
org.apache.hadoop.hbase.ipc.RemoteWithExtrasException.unwrapRemoteException(RemoteWithExtrasException.java:78)
at 
org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.makeIOExceptionOfException(ProtobufUtil.java:362)
at 
org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:340)
at 
org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:2685)
at 
org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:981)
at java.lang.Thread.run(Thread.java:748)
{noformat}

This is what you'd see now by default. Much nicer looking.

> Better handle invalid local directory for DynamicClassLoader
> 
>
> Key: HBASE-22701
> URL: https://issues.apache.org/jira/browse/HBASE-22701
> Project: HBase
>  Issue Type: Improvement
>  Components: regionserver
>Reporter: Josh Elser
>Assignee: Josh Elser
>Priority: Major
> Fix For: 2.3.0, 2.1.7, 2.2.2
>
> Attachments: HBASE-22701.001.patch, HBASE-22701.002.patch, 
> HBASE-22701.003.patch
>
>
> If you give HBase an {{hbase.local.dir}} (usually, "{{hbase.tmp.dir}}/local") 
> which is not writable to it, you will get some weird errors on the scan path. 
> I just saw this (again?) with Phoenix.
> Specifically, the first attempt to reference DynamicClassLoader (via 
> ProtobufUtil), will result in an ExceptionInInitializationError because the 
> unchecked exception coming out of DynamicClassLoader's constructor interrupts 
> the loading of {{DynamicClassLoader.class}}.
> {noformat}
> 2019-07-14 06:25:34,284 ERROR 
> [RpcServer.Metadata.Fifo.handler=12,queue=0,port=16020] 
> coprocessor.MetaDataEndpointImpl: dropTable failed
> org.apache.hadoop.hbase.DoNotRetryIOException: 
> java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.translateException(RpcRetryingCallerImpl.java:221)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithoutRetries(RpcRetryingCallerImpl.java:194)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:387)
> at 
> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:361)
> at 
> org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:107)
> at 
> org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:80)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.ExceptionInInitializerError
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toFilter(ProtobufUtil.java:1598)
> at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toScan(ProtobufUtil.java:1152)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.newRegionScanner(RSRpcServices.java:2967)
> at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:3301)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:332)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:242)
> at 
> org.apache.hadoop.hbase.client.ScannerCallable.rpcCall(ScannerCallable.java:58)
> at 
> org.apache.hadoop.hbase.client.RegionServerCallable.call(RegionServerCallable.java:127)
> 

[jira] [Comment Edited] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell edited comment on HBASE-22978 at 9/5/19 10:25 PM:
-

Description updated. Admin API simplified. The {{get_slow_responses}} shell 
command is reconsidered as a general query tool. 

Pseudocode of this command would be like:
{noformat}
servers = []
filters = ...
if filters['REGION'] 
servers = locateRegion( filters['REGION'] )
elsif filters['TABLE']
servers = locateRegions( filters['TABLE'] )
results = @admin.getSlowResponses(servers.empty? ? nil : servers).map { 
// if a returned slow response entry matches any filter, return the 
value, else nil
}.compact // remove any nils
// pretty print 'results'
{noformat}


was (Author: apurtell):
Description updated. Admin API simplified. The {{get_slow_responses}} shell 
command is reconsidered as a general query tool. 

> Online slow response log
> 
>
> Key: HBASE-22978
> URL: https://issues.apache.org/jira/browse/HBASE-22978
> Project: HBase
>  Issue Type: New Feature
>  Components: Admin, regionserver, shell
>Reporter: Andrew Purtell
>Priority: Minor
>
> Today when an individual RPC exceeds a configurable time bound we log a 
> complaint by way of the logging subsystem. These log lines look like:
> {noformat}
> 2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
> (responseTooSlow):
> {"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
> "starttimems":1567203007549,
> "responsesize":6819737,
> "method":"Scan",
> "param":"region { type: REGION_NAME value: 
> \"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
> "processingtimems":28646,
> "client":"10.253.196.215:41116",
> "queuetimems":22453,
> "class":"HRegionServer"}
> {noformat}
> Unfortunately we often truncate the request parameters, like in the above 
> example. We do this because the human readable representation is verbose, the 
> rate of too slow warnings may be high, and the combination of these things 
> can overwhelm the log capture system. The truncation is unfortunate because 
> it eliminates much of the utility of the warnings. For example, the region 
> name, the start and end keys, and the filter hierarchy are all important 
> clues for debugging performance problems caused by moderate to low 
> selectivity queries or queries made at a high rate.
> We can maintain an in-memory ring buffer of requests that were judged to be 
> too slow in addition to the responseTooSlow logging. The in-memory 
> representation can be complete and compressed. A new admin API and shell 
> command can provide access to the ring buffer for online performance 
> debugging. A modest sizing of the ring buffer will prevent excessive memory 
> utilization for a minor performance debugging feature by limiting the total 
> number of retained records. There is some chance a high rate of requests will 
> cause information on other interesting requests to be overwritten before it 
> can be read. This is the nature of a ring buffer and an acceptable trade off.
> The write request types do not require us to retain all information submitted 
> in the request. We don't need to retain all key-values in the mutation, which 
> may be too large to comfortably retain. We only need a unique set of row 
> keys, or even a min/max range, and total counts.
> The consumers of this information will be debugging tools. We can afford to 
> apply fast compression to ring buffer entries (if codec support is 
> available), something like snappy or zstandard, and decompress on the fly 
> when servicing the retrieval API request. This will minimize the impact of 
> retaining more information about slow requests than we do today.
> This proposal is for retention of request information only, the same 
> information provided by responseTooSlow warnings. Total size of response 
> serialization, possibly also total cell or row counts, should be sufficient 
> to characterize the response.
> Optionally persist new entries added to the ring buffer into one or more 
> files in HDFS in a write-behind manner. If the HDFS writer blocks or falls 
> behind and we are unable to persist an entry before it is overwritten, that 
> is fine. Response too slow logging is best effort. If we can detect this make 
> a note of it in the log file. 
> —
> New shell commands:
> {{get_slow_responses [  ... ,  ] [ , \{  
> } ]}}
> Retrieve, decode, and pretty print the contents of the too slow response ring 
> buffer maintained by the given list of servers; or all servers in the cluster 
> if no list is provided. Optionally provide a map of parameters for filtering 
> as 

[jira] [Commented] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell commented on HBASE-22978:


Description updated. Admin API simplified. The {{get_slow_responses}} shell 
command is reconsidered as a general query tool. 

> Online slow response log
> 
>
> Key: HBASE-22978
> URL: https://issues.apache.org/jira/browse/HBASE-22978
> Project: HBase
>  Issue Type: New Feature
>  Components: Admin, regionserver, shell
>Reporter: Andrew Purtell
>Priority: Minor
>
> Today when an individual RPC exceeds a configurable time bound we log a 
> complaint by way of the logging subsystem. These log lines look like:
> {noformat}
> 2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
> (responseTooSlow):
> {"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
> "starttimems":1567203007549,
> "responsesize":6819737,
> "method":"Scan",
> "param":"region { type: REGION_NAME value: 
> \"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
> "processingtimems":28646,
> "client":"10.253.196.215:41116",
> "queuetimems":22453,
> "class":"HRegionServer"}
> {noformat}
> Unfortunately we often truncate the request parameters, like in the above 
> example. We do this because the human readable representation is verbose, the 
> rate of too slow warnings may be high, and the combination of these things 
> can overwhelm the log capture system. The truncation is unfortunate because 
> it eliminates much of the utility of the warnings. For example, the region 
> name, the start and end keys, and the filter hierarchy are all important 
> clues for debugging performance problems caused by moderate to low 
> selectivity queries or queries made at a high rate.
> We can maintain an in-memory ring buffer of requests that were judged to be 
> too slow in addition to the responseTooSlow logging. The in-memory 
> representation can be complete and compressed. A new admin API and shell 
> command can provide access to the ring buffer for online performance 
> debugging. A modest sizing of the ring buffer will prevent excessive memory 
> utilization for a minor performance debugging feature by limiting the total 
> number of retained records. There is some chance a high rate of requests will 
> cause information on other interesting requests to be overwritten before it 
> can be read. This is the nature of a ring buffer and an acceptable trade off.
> The write request types do not require us to retain all information submitted 
> in the request. We don't need to retain all key-values in the mutation, which 
> may be too large to comfortably retain. We only need a unique set of row 
> keys, or even a min/max range, and total counts.
> The consumers of this information will be debugging tools. We can afford to 
> apply fast compression to ring buffer entries (if codec support is 
> available), something like snappy or zstandard, and decompress on the fly 
> when servicing the retrieval API request. This will minimize the impact of 
> retaining more information about slow requests than we do today.
> This proposal is for retention of request information only, the same 
> information provided by responseTooSlow warnings. Total size of response 
> serialization, possibly also total cell or row counts, should be sufficient 
> to characterize the response.
> Optionally persist new entries added to the ring buffer into one or more 
> files in HDFS in a write-behind manner. If the HDFS writer blocks or falls 
> behind and we are unable to persist an entry before it is overwritten, that 
> is fine. Response too slow logging is best effort. If we can detect this make 
> a note of it in the log file. 
> —
> New shell commands:
> {{get_slow_responses [  ... ,  ] [ , \{  
> } ]}}
> Retrieve, decode, and pretty print the contents of the too slow response ring 
> buffer maintained by the given list of servers; or all servers in the cluster 
> if no list is provided. Optionally provide a map of parameters for filtering 
> as additional argument. The TABLE filter, which expects a string containing a 
> table name, will include only entries pertaining to that table. The REGION 
> filter, which expects a string containing an encoded region name, will 
> include only entries pertaining to that region. The CLIENT_IP filter, which 
> expects a string containing an IP address, will include only entries 
> pertaining to that client. The USER filter, which expects a string containing 
> a user name, will include only entries pertaining to that user. Filters are 
> additive, for example if both CLIENT_IP and USER filters are given, entries 
> matching either or both conditions will be 

[jira] [Updated] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell updated HBASE-22978:
---
Description: 
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}
2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
(responseTooSlow):
{"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
"starttimems":1567203007549,
"responsesize":6819737,
"method":"Scan",
"param":"region { type: REGION_NAME value: 
\"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
"processingtimems":28646,
"client":"10.253.196.215:41116",
"queuetimems":22453,
"class":"HRegionServer"}
{noformat}

Unfortunately we often truncate the request parameters, like in the above 
example. We do this because the human readable representation is verbose, the 
rate of too slow warnings may be high, and the combination of these things can 
overwhelm the log capture system. The truncation is unfortunate because it 
eliminates much of the utility of the warnings. For example, the region name, 
the start and end keys, and the filter hierarchy are all important clues for 
debugging performance problems caused by moderate to low selectivity queries or 
queries made at a high rate.

We can maintain an in-memory ring buffer of requests that were judged to be too 
slow in addition to the responseTooSlow logging. The in-memory representation 
can be complete and compressed. A new admin API and shell command can provide 
access to the ring buffer for online performance debugging. A modest sizing of 
the ring buffer will prevent excessive memory utilization for a minor 
performance debugging feature by limiting the total number of retained records. 
There is some chance a high rate of requests will cause information on other 
interesting requests to be overwritten before it can be read. This is the 
nature of a ring buffer and an acceptable trade off.

The write request types do not require us to retain all information submitted 
in the request. We don't need to retain all key-values in the mutation, which 
may be too large to comfortably retain. We only need a unique set of row keys, 
or even a min/max range, and total counts.

The consumers of this information will be debugging tools. We can afford to 
apply fast compression to ring buffer entries (if codec support is available), 
something like snappy or zstandard, and decompress on the fly when servicing 
the retrieval API request. This will minimize the impact of retaining more 
information about slow requests than we do today.

This proposal is for retention of request information only, the same 
information provided by responseTooSlow warnings. Total size of response 
serialization, possibly also total cell or row counts, should be sufficient to 
characterize the response.

Optionally persist new entries added to the ring buffer into one or more files 
in HDFS in a write-behind manner. If the HDFS writer blocks or falls behind and 
we are unable to persist an entry before it is overwritten, that is fine. 
Response too slow logging is best effort. If we can detect this make a note of 
it in the log file. 

—

New shell commands:

{{get_slow_responses [  ... ,  ] [ , \{  } 
]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer maintained by the given list of servers; or all servers in the cluster 
if no list is provided. Optionally provide a map of parameters for filtering as 
additional argument. The TABLE filter, which expects a string containing a 
table name, will include only entries pertaining to that table. The REGION 
filter, which expects a string containing an encoded region name, will include 
only entries pertaining to that region. The CLIENT_IP filter, which expects a 
string containing an IP address, will include only entries pertaining to that 
client. The USER filter, which expects a string containing a user name, will 
include only entries pertaining to that user. Filters are additive, for example 
if both CLIENT_IP and USER filters are given, entries matching either or both 
conditions will be included. The exception to this is if both TABLE and REGION 
filters are provided, REGION will be preferred and TABLE will be ignored. A 
server name is its host, port, and start code, e.g. 
"host187.example.com,60020,1289493121758".

{{clear_slow_responses [  ... ,  ]}}

Clear the too slow response ring buffer maintained by the given list of 
servers; or all servers on the cluster if no argument is provided. A server 
name is its host, port, and start code, e.g. 
"host187.example.com,60020,1289493121758".

—

New Admin APIs:
{code:java}
List Admin#getSlowResponses(@Nullable List servers);
{code}
{code:java}
List 

[jira] [Updated] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell updated HBASE-22978:
---
Description: 
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}
2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
(responseTooSlow):
{"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
"starttimems":1567203007549,
"responsesize":6819737,
"method":"Scan",
"param":"region { type: REGION_NAME value: 
\"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
"processingtimems":28646,
"client":"10.253.196.215:41116",
"queuetimems":22453,
"class":"HRegionServer"}
{noformat}

Unfortunately we often truncate the request parameters, like in the above 
example. We do this because the human readable representation is verbose, the 
rate of too slow warnings may be high, and the combination of these things can 
overwhelm the log capture system. The truncation is unfortunate because it 
eliminates much of the utility of the warnings. For example, the region name, 
the start and end keys, and the filter hierarchy are all important clues for 
debugging performance problems caused by moderate to low selectivity queries or 
queries made at a high rate.

We can maintain an in-memory ring buffer of requests that were judged to be too 
slow in addition to the responseTooSlow logging. The in-memory representation 
can be complete and compressed. A new admin API and shell command can provide 
access to the ring buffer for online performance debugging. A modest sizing of 
the ring buffer will prevent excessive memory utilization for a minor 
performance debugging feature by limiting the total number of retained records. 
There is some chance a high rate of requests will cause information on other 
interesting requests to be overwritten before it can be read. This is the 
nature of a ring buffer and an acceptable trade off.

The write request types do not require us to retain all information submitted 
in the request. We don't need to retain all key-values in the mutation, which 
may be too large to comfortably retain. We only need a unique set of row keys, 
or even a min/max range, and total counts.

The consumers of this information will be debugging tools. We can afford to 
apply fast compression to ring buffer entries (if codec support is available), 
something like snappy or zstandard, and decompress on the fly when servicing 
the retrieval API request. This will minimize the impact of retaining more 
information about slow requests than we do today.

This proposal is for retention of request information only, the same 
information provided by responseTooSlow warnings. Total size of response 
serialization, possibly also total cell or row counts, should be sufficient to 
characterize the response.

Optionally persist new entries added to the ring buffer into one or more files 
in HDFS in a write-behind manner. If the HDFS writer blocks or falls behind and 
we are unable to persist an entry before it is overwritten, that is fine. 
Response too slow logging is best effort. If we can detect this make a note of 
it in the log file. 

—

New shell commands:

{{get_slow_responses [  ... ,  ] [ , \{  } 
]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer maintained by the given list of servers; or all servers in the cluster 
if no list is provided. Optionally provide a map of parameters for filtering as 
additional argument. The TABLE filter, which expects a string containing a 
table name, will include only entries pertaining to that table. The REGION 
filter, which expects a string containing an encoded region name, will include 
only entries pertaining to that region. The CLIENT_IP filter, which expects a 
string containing an IP address, will include only entries pertaining to that 
client. The USER filter, which expects a string containing a user name, will 
include only entries pertaining to that user. If both TABLE and REGION filters 
are provided, REGION will be used. A server name is its host, port, and start 
code, e.g. "host187.example.com,60020,1289493121758".

{{clear_slow_responses [  ... ,  ]}}

Clear the too slow response ring buffer maintained by the given list of 
servers; or all servers on the cluster if no argument is provided. A server 
name is its host, port, and start code, e.g. 
"host187.example.com,60020,1289493121758".

—

New Admin APIs:
{code:java}
List Admin#getSlowResponses(@Nullable List servers);
{code}
{code:java}
List Admin#clearSlowResponses(@Nullable List servers);
{code}

  was:
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines 

[jira] [Updated] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell updated HBASE-22978:
---
Description: 
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}
2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
(responseTooSlow):
{"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
"starttimems":1567203007549,
"responsesize":6819737,
"method":"Scan",
"param":"region { type: REGION_NAME value: 
\"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
"processingtimems":28646,
"client":"10.253.196.215:41116",
"queuetimems":22453,
"class":"HRegionServer"}
{noformat}

Unfortunately we often truncate the request parameters, like in the above 
example. We do this because the human readable representation is verbose, the 
rate of too slow warnings may be high, and the combination of these things can 
overwhelm the log capture system. The truncation is unfortunate because it 
eliminates much of the utility of the warnings. For example, the region name, 
the start and end keys, and the filter hierarchy are all important clues for 
debugging performance problems caused by moderate to low selectivity queries or 
queries made at a high rate.

We can maintain an in-memory ring buffer of requests that were judged to be too 
slow in addition to the responseTooSlow logging. The in-memory representation 
can be complete and compressed. A new admin API and shell command can provide 
access to the ring buffer for online performance debugging. A modest sizing of 
the ring buffer will prevent excessive memory utilization for a minor 
performance debugging feature by limiting the total number of retained records. 
There is some chance a high rate of requests will cause information on other 
interesting requests to be overwritten before it can be read. This is the 
nature of a ring buffer and an acceptable trade off.

The write request types do not require us to retain all information submitted 
in the request. We don't need to retain all key-values in the mutation, which 
may be too large to comfortably retain. We only need a unique set of row keys, 
or even a min/max range, and total counts.

The consumers of this information will be debugging tools. We can afford to 
apply fast compression to ring buffer entries (if codec support is available), 
something like snappy or zstandard, and decompress on the fly when servicing 
the retrieval API request. This will minimize the impact of retaining more 
information about slow requests than we do today.

This proposal is for retention of request information only, the same 
information provided by responseTooSlow warnings. Total size of response 
serialization, possibly also total cell or row counts, should be sufficient to 
characterize the response.

Optionally persist new entries added to the ring buffer into one or more files 
in HDFS in a write-behind manner. If the HDFS writer blocks or falls behind and 
we are unable to persist an entry before it is overwritten, that is fine. 
Response too slow logging is best effort. If we can detect this make a note of 
it in the log file. 

—

New shell commands:

{{get_slow_responses [  ... ,  ] [ , \{  } 
]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer maintained by the given list of servers; or all servers in the cluster 
if no list is provided. Optionally provide a map of parameters for filtering as 
additional argument. The TABLE filter, which expects a string containing a 
table name, will include only entries pertaining to that table. The REGION 
filter, which expects a string containing an encoded region name, will include 
only entries pertaining to that region. The CLIENT_IP filter, which expects a 
string containing an IP address, will include only entries pertaining to that 
client. The USER filter, which expects a string containing a user name, will 
include only entries pertaining to that user. A server name is its host, port, 
and start code, e.g. "host187.example.com,60020,1289493121758".

{{clear_slow_responses [  ... ,  ]}}

Clear the too slow response ring buffer maintained by the given list of 
servers; or all servers on the cluster if no argument is provided. A server 
name is its host, port, and start code, e.g. 
"host187.example.com,60020,1289493121758".

—

New Admin APIs:
{code:java}
List Admin#getSlowResponses(String tableOrRegion, @Nullable 
List servers);
{code}
{code:java}
List Admin#getSlowResponses(@Nullable List servers);
{code}
{code:java}
List Admin#clearSlowResponses(@Nullable List servers);
{code}

  was:
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging 

[jira] [Updated] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell updated HBASE-22978:
---
Description: 
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}
2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
(responseTooSlow):
{"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
"starttimems":1567203007549,
"responsesize":6819737,
"method":"Scan",
"param":"region { type: REGION_NAME value: 
\"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
"processingtimems":28646,
"client":"10.253.196.215:41116",
"queuetimems":22453,
"class":"HRegionServer"}
{noformat}

Unfortunately we often truncate the request parameters, like in the above 
example. We do this because the human readable representation is verbose, the 
rate of too slow warnings may be high, and the combination of these things can 
overwhelm the log capture system. The truncation is unfortunate because it 
eliminates much of the utility of the warnings. For example, the region name, 
the start and end keys, and the filter hierarchy are all important clues for 
debugging performance problems caused by moderate to low selectivity queries or 
queries made at a high rate.

We can maintain an in-memory ring buffer of requests that were judged to be too 
slow in addition to the responseTooSlow logging. The in-memory representation 
can be complete and compressed. A new admin API and shell command can provide 
access to the ring buffer for online performance debugging. A modest sizing of 
the ring buffer will prevent excessive memory utilization for a minor 
performance debugging feature by limiting the total number of retained records. 
There is some chance a high rate of requests will cause information on other 
interesting requests to be overwritten before it can be read. This is the 
nature of a ring buffer and an acceptable trade off.

The write request types do not require us to retain all information submitted 
in the request. We don't need to retain all key-values in the mutation, which 
may be too large to comfortably retain. We only need a unique set of row keys, 
or even a min/max range, and total counts.

The consumers of this information will be debugging tools. We can afford to 
apply fast compression to ring buffer entries (if codec support is available), 
something like snappy or zstandard, and decompress on the fly when servicing 
the retrieval API request. This will minimize the impact of retaining more 
information about slow requests than we do today.

This proposal is for retention of request information only, the same 
information provided by responseTooSlow warnings. Total size of response 
serialization, possibly also total cell or row counts, should be sufficient to 
characterize the response.

—

New shell commands:

{{get_slow_responses [  ... ,  ] [ , \{  } 
]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer maintained by the given list of servers; or all servers in the cluster 
if no list is provided. Optionally provide a map of parameters for filtering as 
additional argument. The TABLE filter, which expects a string containing a 
table name, will include only entries pertaining to that table. The REGION 
filter, which expects a string containing an encoded region name, will include 
only entries pertaining to that region. The CLIENT_IP filter, which expects a 
string containing an IP address, will include only entries pertaining to that 
client. The USER filter, which expects a string containing a user name, will 
include only entries pertaining to that user. A server name is its host, port, 
and start code, e.g. "host187.example.com,60020,1289493121758".

{{clear_slow_responses [  ... ,  ]}}

Clear the too slow response ring buffer maintained by the given list of 
servers; or all servers on the cluster if no argument is provided. A server 
name is its host, port, and start code, e.g. 
"host187.example.com,60020,1289493121758".

—

New Admin APIs:
{code:java}
List Admin#getSlowResponses(String tableOrRegion, @Nullable 
List servers);
{code}
{code:java}
List Admin#getSlowResponses(@Nullable List servers);
{code}
{code:java}
List Admin#clearSlowResponses(@Nullable List servers);
{code}

  was:
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}
2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
(responseTooSlow):
{"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
"starttimems":1567203007549,
"responsesize":6819737,
"method":"Scan",
"param":"region { type: REGION_NAME value: 

[jira] [Commented] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell commented on HBASE-22978:


I'll update the description to include write-behind of the ring buffer to a 
directory in HDFS, but it shouldn't block, so if we stall during writing some 
ring buffer entries may have been lost. If we can detect that we can log that 
it happened in the file. 

bq. Also saving the user and/or client IP of the request and being able to ask 
for requests by those would be extra nice

Ok, will include user and client IP in the request details set aside. 

As for query APIs, the admin API is sugar over fan out requests to 
regionservers for whatever is currently sitting in the ring buffers. Where we 
want to narrow the search by region or table we can get region locations and 
prune the regionserver set. Filtering or sorting on other attributes would be 
done locally in the client. I think it best to let the client index the list of 
ResponseDetail however it likes. 

The shell commands are one client of the admin APIs. This seems a good place to 
put additional convenience filtering. Will update the description for this too. 

> Online slow response log
> 
>
> Key: HBASE-22978
> URL: https://issues.apache.org/jira/browse/HBASE-22978
> Project: HBase
>  Issue Type: New Feature
>  Components: Admin, regionserver, shell
>Reporter: Andrew Purtell
>Priority: Minor
>
> Today when an individual RPC exceeds a configurable time bound we log a 
> complaint by way of the logging subsystem. These log lines look like:
> {noformat}
> 2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
> (responseTooSlow):
> {"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
> "starttimems":1567203007549,
> "responsesize":6819737,
> "method":"Scan",
> "param":"region { type: REGION_NAME value: 
> \"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
> "processingtimems":28646,
> "client":"10.253.196.215:41116",
> "queuetimems":22453,
> "class":"HRegionServer"}
> {noformat}
> Unfortunately we often truncate the request parameters, like in the above 
> example. We do this because the human readable representation is verbose, the 
> rate of too slow warnings may be high, and the combination of these things 
> can overwhelm the log capture system. The truncation is unfortunate because 
> it eliminates much of the utility of the warnings. For example, the region 
> name, the start and end keys, and the filter hierarchy are all important 
> clues for debugging performance problems caused by moderate to low 
> selectivity queries or queries made at a high rate.
> We can maintain an in-memory ring buffer of requests that were judged to be 
> too slow in addition to the responseTooSlow logging. The in-memory 
> representation can be complete and compressed. A new admin API and shell 
> command can provide access to the ring buffer for online performance 
> debugging. A modest sizing of the ring buffer will prevent excessive memory 
> utilization for a minor performance debugging feature by limiting the total 
> number of retained records. There is some chance a high rate of requests will 
> cause information on other interesting requests to be overwritten before it 
> can be read. This is the nature of a ring buffer and an acceptable trade off.
> The write request types do not require us to retain all information submitted 
> in the request. We don't need to retain all key-values in the mutation, which 
> may be too large to comfortably retain. We only need a unique set of row 
> keys, or even a min/max range, and total counts.
> The consumers of this information will be debugging tools. We can afford to 
> apply fast compression to ring buffer entries (if codec support is 
> available), something like snappy or zstandard, and decompress on the fly 
> when servicing the retrieval API request. This will minimize the impact of 
> retaining more information about slow requests than we do today.
> This proposal is for retention of request information only, the same 
> information provided by responseTooSlow warnings. Total size of response 
> serialization, possibly also total cell or row counts, should be sufficient 
> to characterize the response.
> —
> New shell commands:
> {{get_slow_responses  [ , \{ SERVERS=> } ]}}
> Retrieve, decode, and pretty print the contents of the too slow response ring 
> buffer. Provide a table name as first argument to find all regions and 
> retrieve too slow response entries for the given table from all servers 
> currently hosting it. Provide a region name as first argument to retrieve all 
> too slow response entries for the 

[GitHub] [hbase] Apache-HBase commented on issue #580: [HBASE-22874] Canary should not be IA.Public

2019-09-05 Thread GitBox
Apache-HBase commented on issue #580: [HBASE-22874] Canary should not be 
IA.Public
URL: https://github.com/apache/hbase/pull/580#issuecomment-528600152
 
 
   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | :blue_heart: |  reexec  |   0m 36s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | :green_heart: |  dupname  |   0m  1s |  No case conflicting files found.  |
   | :green_heart: |  hbaseanti  |   0m  0s |  Patch does not have any 
anti-patterns.  |
   | :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   | :green_heart: |  test4tests  |   0m  0s |  The patch appears to include 1 
new or modified test files.  |
   ||| _ master Compile Tests _ |
   | :green_heart: |  mvninstall  |   5m 24s |  master passed  |
   | :green_heart: |  compile  |   0m 55s |  master passed  |
   | :green_heart: |  checkstyle  |   1m 18s |  master passed  |
   | :green_heart: |  shadedjars  |   4m 31s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  javadoc  |   0m 37s |  master passed  |
   | :blue_heart: |  spotbugs  |   4m  0s |  Used deprecated FindBugs config; 
considering switching to SpotBugs.  |
   | :green_heart: |  findbugs  |   3m 58s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | :green_heart: |  mvninstall  |   4m 49s |  the patch passed  |
   | :green_heart: |  compile  |   0m 54s |  the patch passed  |
   | :green_heart: |  javac  |   0m 54s |  the patch passed  |
   | :broken_heart: |  checkstyle  |   1m 19s |  hbase-server: The patch 
generated 1 new + 21 unchanged - 2 fixed = 22 total (was 23)  |
   | :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | :green_heart: |  shadedjars  |   4m 34s |  patch has no errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  hadoopcheck  |  15m 34s |  Patch does not cause any 
errors with Hadoop 2.8.5 2.9.2 or 3.1.2.  |
   | :green_heart: |  javadoc  |   0m 35s |  the patch passed  |
   | :green_heart: |  findbugs  |   4m 16s |  the patch passed  |
   ||| _ Other Tests _ |
   | :broken_heart: |  unit  | 158m 29s |  hbase-server in the patch failed.  |
   | :green_heart: |  asflicense  |   0m 28s |  The patch does not generate ASF 
License warnings.  |
   |  |   | 215m  1s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-580/2/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/580 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile |
   | uname | Linux 8bfe6c5d2891 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 
16:55:30 UTC 2019 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-580/out/precommit/personality/provided.sh
 |
   | git revision | master / 0d338a1820 |
   | Default Java | 1.8.0_181 |
   | checkstyle | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-580/2/artifact/out/diff-checkstyle-hbase-server.txt
 |
   | unit | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-580/2/artifact/out/patch-unit-hbase-server.txt
 |
   |  Test Results | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-580/2/testReport/
 |
   | Max. process+thread count | 4916 (vs. ulimit of 1) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-580/2/console |
   | versions | git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11 |
   | Powered by | Apache Yetus 0.11.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (HBASE-22859) [HBCK2] Fix the orphan regions on filesystem

2019-09-05 Thread stack (Jira)


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

stack updated HBASE-22859:
--
Attachment: HBASE-22859.master.002.patch

> [HBCK2] Fix the orphan regions on filesystem
> 
>
> Key: HBASE-22859
> URL: https://issues.apache.org/jira/browse/HBASE-22859
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, hbck2
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Attachments: HBASE-22859.master.001.patch, 
> HBASE-22859.master.002.patch
>
>
> Plan to add this feature to HBCK2 tool firstly.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22859) [HBCK2] Fix the orphan regions on filesystem

2019-09-05 Thread stack (Jira)


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

stack updated HBASE-22859:
--
Fix Version/s: 2.2.2
   2.1.7
   2.3.0
   3.0.0
   Status: Patch Available  (was: Open)

.002

Add section to the bulk load complete tool on how it can be
used 'adopting' stray 'orphan' data turned up by hbck2 or
the new reporting facility in the Master UI.

Did a cleanup of BulkLoadHFileTool mostly around usage
pointing back to this new documentation.

> [HBCK2] Fix the orphan regions on filesystem
> 
>
> Key: HBASE-22859
> URL: https://issues.apache.org/jira/browse/HBASE-22859
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, hbck2
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 3.0.0, 2.3.0, 2.1.7, 2.2.2
>
> Attachments: HBASE-22859.master.001.patch, 
> HBASE-22859.master.002.patch
>
>
> Plan to add this feature to HBCK2 tool firstly.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22859) [HBCK2] Fix the orphan regions on filesystem

2019-09-05 Thread stack (Jira)


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

stack updated HBASE-22859:
--
Component/s: hbck2
 documentation

> [HBCK2] Fix the orphan regions on filesystem
> 
>
> Key: HBASE-22859
> URL: https://issues.apache.org/jira/browse/HBASE-22859
> Project: HBase
>  Issue Type: Sub-task
>  Components: documentation, hbck2
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Attachments: HBASE-22859.master.001.patch
>
>
> Plan to add this feature to HBCK2 tool firstly.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22859) [HBCK2] Fix the orphan regions on filesystem

2019-09-05 Thread stack (Jira)


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

stack updated HBASE-22859:
--
Attachment: HBASE-22859.master.001.patch

> [HBCK2] Fix the orphan regions on filesystem
> 
>
> Key: HBASE-22859
> URL: https://issues.apache.org/jira/browse/HBASE-22859
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Attachments: HBASE-22859.master.001.patch
>
>
> Plan to add this feature to HBCK2 tool firstly.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22978) Online slow response log

2019-09-05 Thread Sean Busbey (Jira)


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

Sean Busbey commented on HBASE-22978:
-

Can we include the ability to have entries from the buffer(s) dumped to a 
FileSystem directory? I'd like to have something flexible available for when I 
need to use this with an outlier case.


Also saving the user and/or client IP of the request and being able to ask for 
requests by those would be extra nice

> Online slow response log
> 
>
> Key: HBASE-22978
> URL: https://issues.apache.org/jira/browse/HBASE-22978
> Project: HBase
>  Issue Type: New Feature
>  Components: Admin, regionserver, shell
>Reporter: Andrew Purtell
>Priority: Minor
>
> Today when an individual RPC exceeds a configurable time bound we log a 
> complaint by way of the logging subsystem. These log lines look like:
> {noformat}
> 2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
> (responseTooSlow):
> {"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
> "starttimems":1567203007549,
> "responsesize":6819737,
> "method":"Scan",
> "param":"region { type: REGION_NAME value: 
> \"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
> "processingtimems":28646,
> "client":"10.253.196.215:41116",
> "queuetimems":22453,
> "class":"HRegionServer"}
> {noformat}
> Unfortunately we often truncate the request parameters, like in the above 
> example. We do this because the human readable representation is verbose, the 
> rate of too slow warnings may be high, and the combination of these things 
> can overwhelm the log capture system. The truncation is unfortunate because 
> it eliminates much of the utility of the warnings. For example, the region 
> name, the start and end keys, and the filter hierarchy are all important 
> clues for debugging performance problems caused by moderate to low 
> selectivity queries or queries made at a high rate.
> We can maintain an in-memory ring buffer of requests that were judged to be 
> too slow in addition to the responseTooSlow logging. The in-memory 
> representation can be complete and compressed. A new admin API and shell 
> command can provide access to the ring buffer for online performance 
> debugging. A modest sizing of the ring buffer will prevent excessive memory 
> utilization for a minor performance debugging feature by limiting the total 
> number of retained records. There is some chance a high rate of requests will 
> cause information on other interesting requests to be overwritten before it 
> can be read. This is the nature of a ring buffer and an acceptable trade off.
> The write request types do not require us to retain all information submitted 
> in the request. We don't need to retain all key-values in the mutation, which 
> may be too large to comfortably retain. We only need a unique set of row 
> keys, or even a min/max range, and total counts.
> The consumers of this information will be debugging tools. We can afford to 
> apply fast compression to ring buffer entries (if codec support is 
> available), something like snappy or zstandard, and decompress on the fly 
> when servicing the retrieval API request. This will minimize the impact of 
> retaining more information about slow requests than we do today.
> This proposal is for retention of request information only, the same 
> information provided by responseTooSlow warnings. Total size of response 
> serialization, possibly also total cell or row counts, should be sufficient 
> to characterize the response.
> —
> New shell commands:
> {{get_slow_responses  [ , \{ SERVERS=> } ]}}
> Retrieve, decode, and pretty print the contents of the too slow response ring 
> buffer. Provide a table name as first argument to find all regions and 
> retrieve too slow response entries for the given table from all servers 
> currently hosting it. Provide a region name as first argument to retrieve all 
> too slow response entries for the given region. Optionally provide a map of 
> parameters as second argument. The SERVERS parameter, which expects a list of 
> server names, will constrain the search to the given set of servers. A server 
> name is its host, port, and start code, e.g. 
> "host187.example.com,60020,1289493121758".
> {{get_slow_responses [  ... ,  ]}}
> Retrieve, decode, and pretty print the contents of the too slow response ring 
> buffer maintained by the given list of servers; or all servers on the cluster 
> if no argument is provided. A server name is its host, port, and start code, 
> e.g. "host187.example.com,60020,1289493121758".
> {{clear_slow_responses [  ... ,  ]}}
> Clear the too slow response ring buffer maintained by the given 

[jira] [Commented] (HBASE-22937) The RawBytesComparator in branch-1 have wrong comparison order

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22937:


SUCCESS: Integrated in Jenkins build HBase-1.3-IT #634 (See 
[https://builds.apache.org/job/HBase-1.3-IT/634/])
HBASE-22937 The RawBytesComparator in branch-1 have wrong comparison (apurtell: 
rev 6dd891447c8456849c2389146e9ba9050f5a59b0)
* (edit) hbase-common/src/test/java/org/apache/hadoop/hbase/TestKeyValue.java
* (edit) hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java


> The RawBytesComparator in branch-1 have wrong comparison order
> --
>
> Key: HBASE-22937
> URL: https://issues.apache.org/jira/browse/HBASE-22937
> Project: HBase
>  Issue Type: Bug
>Reporter: Zheng Hu
>Assignee: Zheng Hu
>Priority: Major
> Fix For: 1.5.0, 1.3.6, 1.4.11
>
>
> When digging the HBASE-22862, we found a bug in 
> RawBytesComparator#compareOnlyKeyPortion  (although it's unrelated to the 
> corruption in HBASE-22862). 
> {code}
> @Override
> @VisibleForTesting
> public int compareOnlyKeyPortion(Cell left, Cell right) {
> // ...
>   return (0xff & left.getTypeByte()) - (0xff & right.getTypeByte());
> }
> {code}
> Here should be (0xff & right.getTypeByte()) - (0xff & left.getTypeByte())  I 
> think.
> I can see the BloomFilter or HFile v2 are still using the comparator in 
> branch-1 (but not in branch-2). Maybe we can just remove the class (if some 
> HFile encoded with this comparator, then mapping to the correct KVComparator 
> just like 2.x), or fix the bug in current RawBytesComparator.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22937) The RawBytesComparator in branch-1 have wrong comparison order

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell updated HBASE-22937:
---
Fix Version/s: 1.3.6

> The RawBytesComparator in branch-1 have wrong comparison order
> --
>
> Key: HBASE-22937
> URL: https://issues.apache.org/jira/browse/HBASE-22937
> Project: HBase
>  Issue Type: Bug
>Reporter: Zheng Hu
>Assignee: Zheng Hu
>Priority: Major
> Fix For: 1.5.0, 1.3.6, 1.4.11
>
>
> When digging the HBASE-22862, we found a bug in 
> RawBytesComparator#compareOnlyKeyPortion  (although it's unrelated to the 
> corruption in HBASE-22862). 
> {code}
> @Override
> @VisibleForTesting
> public int compareOnlyKeyPortion(Cell left, Cell right) {
> // ...
>   return (0xff & left.getTypeByte()) - (0xff & right.getTypeByte());
> }
> {code}
> Here should be (0xff & right.getTypeByte()) - (0xff & left.getTypeByte())  I 
> think.
> I can see the BloomFilter or HFile v2 are still using the comparator in 
> branch-1 (but not in branch-2). Maybe we can just remove the class (if some 
> HFile encoded with this comparator, then mapping to the correct KVComparator 
> just like 2.x), or fix the bug in current RawBytesComparator.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell updated HBASE-22978:
---
Description: 
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}
2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
(responseTooSlow):
{"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
"starttimems":1567203007549,
"responsesize":6819737,
"method":"Scan",
"param":"region { type: REGION_NAME value: 
\"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
"processingtimems":28646,
"client":"10.253.196.215:41116",
"queuetimems":22453,
"class":"HRegionServer"}
{noformat}

Unfortunately we often truncate the request parameters, like in the above 
example. We do this because the human readable representation is verbose, the 
rate of too slow warnings may be high, and the combination of these things can 
overwhelm the log capture system. The truncation is unfortunate because it 
eliminates much of the utility of the warnings. For example, the region name, 
the start and end keys, and the filter hierarchy are all important clues for 
debugging performance problems caused by moderate to low selectivity queries or 
queries made at a high rate.

We can maintain an in-memory ring buffer of requests that were judged to be too 
slow in addition to the responseTooSlow logging. The in-memory representation 
can be complete and compressed. A new admin API and shell command can provide 
access to the ring buffer for online performance debugging. A modest sizing of 
the ring buffer will prevent excessive memory utilization for a minor 
performance debugging feature by limiting the total number of retained records. 
There is some chance a high rate of requests will cause information on other 
interesting requests to be overwritten before it can be read. This is the 
nature of a ring buffer and an acceptable trade off.

The write request types do not require us to retain all information submitted 
in the request. We don't need to retain all key-values in the mutation, which 
may be too large to comfortably retain. We only need a unique set of row keys, 
or even a min/max range, and total counts.

The consumers of this information will be debugging tools. We can afford to 
apply fast compression to ring buffer entries (if codec support is available), 
something like snappy or zstandard, and decompress on the fly when servicing 
the retrieval API request. This will minimize the impact of retaining more 
information about slow requests than we do today.

This proposal is for retention of request information only, the same 
information provided by responseTooSlow warnings. Total size of response 
serialization, possibly also total cell or row counts, should be sufficient to 
characterize the response.

—

New shell commands:

{{get_slow_responses  [ , \{ SERVERS=> } ]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer. Provide a table name as first argument to find all regions and retrieve 
too slow response entries for the given table from all servers currently 
hosting it. Provide a region name as first argument to retrieve all too slow 
response entries for the given region. Optionally provide a map of parameters 
as second argument. The SERVERS parameter, which expects a list of server 
names, will constrain the search to the given set of servers. A server name is 
its host, port, and start code, e.g. "host187.example.com,60020,1289493121758".

{{get_slow_responses [  ... ,  ]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer maintained by the given list of servers; or all servers on the cluster 
if no argument is provided. A server name is its host, port, and start code, 
e.g. "host187.example.com,60020,1289493121758".

{{clear_slow_responses [  ... ,  ]}}

Clear the too slow response ring buffer maintained by the given list of 
servers; or all servers on the cluster if no argument is provided. A server 
name is its host, port, and start code, e.g. 
"host187.example.com,60020,1289493121758".

—

New Admin APIs:
{code:java}
List Admin#getSlowResponses(String tableOrRegion, @Nullable 
List servers);
{code}
{code:java}
List Admin#getSlowResponses(@Nullable List servers);
{code}
{code:java}
List Admin#clearSlowResponses(@Nullable List servers);
{code}

  was:
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}
2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
(responseTooSlow):
{"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",

[jira] [Updated] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell updated HBASE-22978:
---
Description: 
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}
2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
(responseTooSlow):
{"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
"starttimems":1567203007549,
"responsesize":6819737,
"method":"Scan","param":"region { type: REGION_NAME value: 
\"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
"processingtimems":28646,
"client":"10.253.196.215:41116",
"queuetimems":22453,
"class":"HRegionServer"}
{noformat}

Unfortunately we often truncate the request parameters, like in the above 
example. We do this because the human readable representation is verbose, the 
rate of too slow warnings may be high, and the combination of these things can 
overwhelm the log capture system. (All of these things have been reported from 
various production settings. Truncation was added after we crashed a user's log 
capture system.) The truncation is unfortunate because it eliminates much of 
the utility of the warnings. For example, the region name, the start and end 
keys, and the filter hierarchy are all important clues for debugging 
performance problems caused by moderate to low selectivity queries or queries 
made at a high rate.

We can maintain an in-memory ring buffer of requests that were judged to be too 
slow in addition to the responseTooSlow logging. The in-memory representation 
can be complete and compressed. A new admin API and shell command can provide 
access to the ring buffer for online performance debugging. A modest sizing of 
the ring buffer will prevent excessive memory utilization for a minor 
performance debugging feature by limiting the total number of retained records. 
There is some chance a high rate of requests will cause information on other 
interesting requests to be overwritten before it can be read. This is the 
nature of a ring buffer and an acceptable trade off.

The write request types do not require us to retain all information submitted 
in the request. We don't need to retain all key-values in the mutation, which 
may be too large to comfortably retain. We only need a unique set of row keys, 
or even a min/max range, and total counts.

The consumers of this information will be debugging tools. We can afford to 
apply fast compression to ring buffer entries (if codec support is available), 
something like snappy or zstandard, and decompress on the fly when servicing 
the retrieval API request. This will minimize the impact of retaining more 
information about slow requests than we do today.

This proposal is for retention of request information only, the same 
information provided by responseTooSlow warnings. Total size of response 
serialization, possibly also total cell or row counts, should be sufficient to 
characterize the response.

—

New shell commands:

{{get_slow_responses  [ , \{ SERVERS=> } ]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer. Provide a table name as first argument to find all regions and retrieve 
too slow response entries for the given table from all servers currently 
hosting it. Provide a region name as first argument to retrieve all too slow 
response entries for the given region. Optionally provide a map of parameters 
as second argument. The SERVERS parameter, which expects a list of server 
names, will constrain the search to the given set of servers. A server name is 
its host, port, and start code, e.g. "host187.example.com,60020,1289493121758".

{{get_slow_responses [  ... ,  ]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer maintained by the given list of servers; or all servers on the cluster 
if no argument is provided. A server name is its host, port, and start code, 
e.g. "host187.example.com,60020,1289493121758".

{{clear_slow_responses [  ... ,  ]}}

Clear the too slow response ring buffer maintained by the given list of 
servers; or all servers on the cluster if no argument is provided. A server 
name is its host, port, and start code, e.g. 
"host187.example.com,60020,1289493121758".

—

New Admin APIs:
{code:java}
List Admin#getSlowResponses(String tableOrRegion, @Nullable 
List servers);
{code}
{code:java}
List Admin#getSlowResponses(@Nullable List servers);
{code}
{code:java}
List Admin#clearSlowResponses(@Nullable List servers);
{code}

  was:
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}

2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] 

[jira] [Updated] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell updated HBASE-22978:
---
Description: 
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}

2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
(responseTooSlow):
{"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)",
"starttimems":1567203007549,
"responsesize":6819737,
"method":"Scan","param":"region { type: REGION_NAME value: 
\"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000",
"processingtimems":28646,
"client":"10.253.196.215:41116",
"queuetimems":22453,
"class":"HRegionServer"}

{noformat}

Unfortunately we often truncate the request parameters, like in the above 
example. We do this because the human readable representation is verbose, the 
rate of too slow warnings may be high, and the combination of these things can 
overwhelm the log capture system. (All of these things have been reported from 
various production settings. Truncation was added after we crashed a user's log 
capture system.) The truncation is unfortunate because it eliminates much of 
the utility of the warnings. For example, the region name, the start and end 
keys, and the filter hierarchy are all important clues for debugging 
performance problems caused by moderate to low selectivity queries or queries 
made at a high rate.

We can maintain an in-memory ring buffer of requests that were judged to be too 
slow in addition to the responseTooSlow logging. The in-memory representation 
can be complete and compressed. A new admin API and shell command can provide 
access to the ring buffer for online performance debugging. A modest sizing of 
the ring buffer will prevent excessive memory utilization for a minor 
performance debugging feature by limiting the total number of retained records. 
There is some chance a high rate of requests will cause information on other 
interesting requests to be overwritten before it can be read. This is the 
nature of a ring buffer and an acceptable trade off.

The write request types do not require us to retain all information submitted 
in the request. We don't need to retain all key-values in the mutation, which 
may be too large to comfortably retain. We only need a unique set of row keys, 
or even a min/max range, and total counts.

The consumers of this information will be debugging tools. We can afford to 
apply fast compression to ring buffer entries (if codec support is available), 
something like snappy or zstandard, and decompress on the fly when servicing 
the retrieval API request. This will minimize the impact of retaining more 
information about slow requests than we do today.

This proposal is for retention of request information only, the same 
information provided by responseTooSlow warnings. Total size of response 
serialization, possibly also total cell or row counts, should be sufficient to 
characterize the response.

—

New shell commands:

{{get_slow_responses  [ , \{ SERVERS=> } ]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer. Provide a table name as first argument to find all regions and retrieve 
too slow response entries for the given table from all servers currently 
hosting it. Provide a region name as first argument to retrieve all too slow 
response entries for the given region. Optionally provide a map of parameters 
as second argument. The SERVERS parameter, which expects a list of server 
names, will constrain the search to the given set of servers. A server name is 
its host, port, and start code, e.g. "host187.example.com,60020,1289493121758".

{{get_slow_responses [  ... ,  ]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer maintained by the given list of servers; or all servers on the cluster 
if no argument is provided. A server name is its host, port, and start code, 
e.g. "host187.example.com,60020,1289493121758".

{{clear_slow_responses [  ... ,  ]}}

Clear the too slow response ring buffer maintained by the given list of 
servers; or all servers on the cluster if no argument is provided. A server 
name is its host, port, and start code, e.g. 
"host187.example.com,60020,1289493121758".

—

New Admin APIs:
{code:java}
List Admin#getSlowResponses(String tableOrRegion, @Nullable 
List servers);
{code}
{code:java}
List Admin#getSlowResponses(@Nullable List servers);
{code}
{code:java}
List Admin#clearSlowResponses(@Nullable List servers);
{code}

  was:
Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}

2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] 

[jira] [Created] (HBASE-22978) Online slow response log

2019-09-05 Thread Andrew Purtell (Jira)
Andrew Purtell created HBASE-22978:
--

 Summary: Online slow response log
 Key: HBASE-22978
 URL: https://issues.apache.org/jira/browse/HBASE-22978
 Project: HBase
  Issue Type: New Feature
  Components: Admin, regionserver, shell
Reporter: Andrew Purtell


Today when an individual RPC exceeds a configurable time bound we log a 
complaint by way of the logging subsystem. These log lines look like:

{noformat}

2019-08-30 22:10:36,195 WARN [,queue=15,port=60020] ipc.RpcServer - 
(responseTooSlow): 
{"call":"Scan(org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ScanRequest)","starttimems":1567203007549,"responsesize":6819737,"method":"Scan","param":"region
 { type: REGION_NAME value: 
\"tsdb,\\000\\000\\215\\f)o\\024\\302\\220\\000\\000\\000\\000\\000\\001\\000\\000\\000\\000\\000\\006\\000\\000\\000\\000\\000\\005\\000\\000","processingtimems":28646,"client":"10.253.196.215:41116","queuetimems":22453,"class":"HRegionServer"}

{noformat}

Unfortunately we often truncate the request parameters, like in the above 
example. We do this because the human readable representation is verbose, the 
rate of too slow warnings may be high, and the combination of these things can 
overwhelm the log capture system. (All of these things have been reported from 
various production settings. Truncation was added after we crashed a user's log 
capture system.) The truncation is unfortunate because it eliminates much of 
the utility of the warnings. For example, the region name, the start and end 
keys, and the filter hierarchy are all important clues for debugging 
performance problems caused by moderate to low selectivity queries or queries 
made at a high rate.

We can maintain an in-memory ring buffer of requests that were judged to be too 
slow in addition to the responseTooSlow logging. The in-memory representation 
can be complete and compressed. A new admin API and shell command can provide 
access to the ring buffer for online performance debugging. A modest sizing of 
the ring buffer will prevent excessive memory utilization for a minor 
performance debugging feature by limiting the total number of retained records. 
There is some chance a high rate of requests will cause information on other 
interesting requests to be overwritten before it can be read. This is the 
nature of a ring buffer and an acceptable trade off.

The write request types do not require us to retain all information submitted 
in the request. We don't need to retain all key-values in the mutation, which 
may be too large to comfortably retain. We only need a unique set of row keys, 
or even a min/max range, and total counts.

The consumers of this information will be debugging tools. We can afford to 
apply fast compression to ring buffer entries (if codec support is available), 
something like snappy or zstandard, and decompress on the fly when servicing 
the retrieval API request. This will minimize the impact of retaining more 
information about slow requests than we do today.

This proposal is for retention of request information only, the same 
information provided by responseTooSlow warnings. Total size of response 
serialization, possibly also total cell or row counts, should be sufficient to 
characterize the response.

—

New shell commands:

{{get_slow_responses  [ , \{ SERVERS=> } ]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer. Provide a table name as first argument to find all regions and retrieve 
too slow response entries for the given table from all servers currently 
hosting it. Provide a region name as first argument to retrieve all too slow 
response entries for the given region. Optionally provide a map of parameters 
as second argument. The SERVERS parameter, which expects a list of server 
names, will constrain the search to the given set of servers. A server name is 
its host, port, and start code, e.g. "host187.example.com,60020,1289493121758".

{{get_slow_responses [  ... ,  ]}}

Retrieve, decode, and pretty print the contents of the too slow response ring 
buffer maintained by the given list of servers; or all servers on the cluster 
if no argument is provided. A server name is its host, port, and start code, 
e.g. "host187.example.com,60020,1289493121758".

{{clear_slow_responses [  ... ,  ]}}

Clear the too slow response ring buffer maintained by the given list of 
servers; or all servers on the cluster if no argument is provided. A server 
name is its host, port, and start code, e.g. 
"host187.example.com,60020,1289493121758".

—

New Admin APIs:
{code:java}
List Admin#getSlowResponses(String tableOrRegion, @Nullable 
List servers);
{code}
{code:java}
List Admin#getSlowResponses(@Nullable List servers);
{code}
{code:java}
List Admin#clearSlowResponses(@Nullable List servers);
{code}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22760) Stop/Resume Snapshot Auto-Cleanup activity with shell command

2019-09-05 Thread Andrew Purtell (Jira)


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

Andrew Purtell commented on HBASE-22760:


Thanks. Will try to commit this today. If those checkstyle warns in the 
branch-1 report are related I'll fix on commit. 

> Stop/Resume Snapshot Auto-Cleanup activity with shell command
> -
>
> Key: HBASE-22760
> URL: https://issues.apache.org/jira/browse/HBASE-22760
> Project: HBase
>  Issue Type: Improvement
>  Components: Admin, shell, snapshots
>Affects Versions: 3.0.0, 1.5.0, 2.3.0
>Reporter: Viraj Jasani
>Assignee: Viraj Jasani
>Priority: Major
> Fix For: 3.0.0, 1.5.0, 2.3.0, 1.4.11, 2.1.7, 2.2.2
>
> Attachments: HBASE-22760.branch-1.000.patch, 
> HBASE-22760.branch-2.000.patch, HBASE-22760.master.003.patch, 
> HBASE-22760.master.004.patch, HBASE-22760.master.005.patch, 
> HBASE-22760.master.008.patch, HBASE-22760.master.009.patch
>
>
> For any scheduled snapshot backup activity, we would like to disable 
> auto-cleaner for snapshot based on TTL. However, as per HBASE-22648 we have a 
> config to disable snapshot auto-cleaner: 
> hbase.master.cleaner.snapshot.disable, which would take effect only upon 
> HMaster restart just similar to any other hbase-site configs.
> For any running cluster, we should be able to stop/resume auto-cleanup 
> activity for snapshot based on shell command. Something similar to below 
> command should be able to stop/start cleanup chore:
> hbase(main):001:0> snapshot_auto_cleanup_switch false    (disable 
> auto-cleaner)
> hbase(main):001:0> snapshot_auto_cleanup_switch true     (enable auto-cleaner)



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] Apache-HBase commented on issue #584: HBASE-22927 Upgrade mockito version for Java 11 compatibility

2019-09-05 Thread GitBox
Apache-HBase commented on issue #584: HBASE-22927 Upgrade mockito version for 
Java 11 compatibility
URL: https://github.com/apache/hbase/pull/584#issuecomment-528569270
 
 
   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | :blue_heart: |  reexec  |   0m 41s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   | :yellow_heart: |  test4tests  |   0m  0s |  The patch doesn't appear to 
include any new or modified tests. Please justify why no new tests are needed 
for this patch. Also please list what manual steps were performed to verify 
this patch.  |
   ||| _ master Compile Tests _ |
   | :green_heart: |  mvninstall  |   5m 44s |  master passed  |
   | :green_heart: |  compile  |   3m  7s |  master passed  |
   | :green_heart: |  shadedjars  |   4m 52s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  javadoc  |   2m 59s |  master passed  |
   | :yellow_heart: |  patch  |   8m  1s |  Used diff version of patch file. 
Binary files and potentially other changes not applied. Please rebase and 
squash commits if necessary.  |
   ||| _ Patch Compile Tests _ |
   | :green_heart: |  mvninstall  |   5m  4s |  the patch passed  |
   | :green_heart: |  compile  |   2m 55s |  the patch passed  |
   | :green_heart: |  javac  |   2m 55s |  the patch passed  |
   | :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | :green_heart: |  xml  |   0m  2s |  The patch has no ill-formed XML file.  
|
   | :broken_heart: |  shadedjars  |   0m  9s |  patch has 7 errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  hadoopcheck  |  15m 40s |  Patch does not cause any 
errors with Hadoop 2.8.5 2.9.2 or 3.1.2.  |
   | :green_heart: |  javadoc  |   2m 55s |  the patch passed  |
   ||| _ Other Tests _ |
   | :broken_heart: |  unit  | 240m 26s |  root in the patch failed.  |
   | :green_heart: |  asflicense  |   0m 49s |  The patch does not generate ASF 
License warnings.  |
   |  |   | 291m 54s |   |
   
   
   | Reason | Tests |
   |---:|:--|
   | Failed junit tests | hadoop.hbase.rsgroup.TestRSGroupsAdmin2 |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-584/2/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/584 |
   | Optional Tests | dupname asflicense javac javadoc unit shadedjars 
hadoopcheck xml compile |
   | uname | Linux ff0541411fe9 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 
11:12:41 UTC 2019 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-584/out/precommit/personality/provided.sh
 |
   | git revision | master / 0d338a1820 |
   | Default Java | 1.8.0_181 |
   | shadedjars | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-584/2/artifact/out/patch-shadedjars.txt
 |
   | unit | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-584/2/artifact/out/patch-unit-root.txt
 |
   |  Test Results | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-584/2/testReport/
 |
   | Max. process+thread count | 5636 (vs. ulimit of 1) |
   | modules | C: . U: . |
   | Console output | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-584/2/console |
   | versions | git=2.11.0 maven=2018-06-17T18:33:14Z) |
   | Powered by | Apache Yetus 0.11.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] joshelser commented on a change in pull request #571: HBASE-20821 Re-creating a dropped namespace and contained table inherits previously set space quota settings

2019-09-05 Thread GitBox
joshelser commented on a change in pull request #571: HBASE-20821 Re-creating a 
dropped namespace and contained table inherits previously set space quota 
settings
URL: https://github.com/apache/hbase/pull/571#discussion_r321426926
 
 

 ##
 File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/MasterQuotasObserver.java
 ##
 @@ -78,6 +79,20 @@ public void postDeleteTable(
   admin.setQuota(settings);
 }
   }
+} else if (quotasAtNamespace != null) {
+  // If quota present at namespace level remove the table entry from 
'hbase:quota'
 
 Review comment:
   > Because even though table is dropped it's entry is still present in the 
'hbase:quota' table because of the namespace quota. If we create another table 
with same name inside that namespace it inherits the earlier quota settings.
   
   That's by design, not a bug. If you set a quota on a namespace (as opposed 
to a quota on the table), you would automatically get that quota for all tables 
in that namespace.
   
   This allows an organization to be given free-rule over some namespace while 
still enforcing an upper-bound on the allowed resources in HBase. e.g. a 
namespace space quota of 200G would allow 200G of data in any number of tables 
in that namespace, not mattering which table uses that quota.
   
   Now, if you drop a namespace and the quota still remains, that's a bug, but 
I don't think that's what you're trying to solve.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-21745) Make HBCK2 be able to fix issues other than region assignment

2019-09-05 Thread stack (Jira)


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

stack commented on HBASE-21745:
---

Let what is in this issue make up HBCK2 1.0.0. I made HBASE-22977 for HBCK2 
2.0.0 brainstorming.

> Make HBCK2 be able to fix issues other than region assignment
> -
>
> Key: HBASE-21745
> URL: https://issues.apache.org/jira/browse/HBASE-21745
> Project: HBase
>  Issue Type: Umbrella
>  Components: hbase-operator-tools, hbck2
>Reporter: Duo Zhang
>Assignee: stack
>Priority: Critical
>
> This is what [~apurtell] posted on mailing-list, HBCK2 should support
>  * -Rebuild meta from region metadata in the filesystem, aka offline meta 
> rebuild.-
>  * -Fix assignment errors (undeployed regions, double assignments (yes, 
> should not be possible), etc)- (See 
> https://issues.apache.org/jira/browse/HBASE-21745?focusedCommentId=16888302=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16888302)
>  * Fix region holes, overlaps, and other errors in the region chain
>  * Fix failed split and merge transactions that have failed to roll back due 
> to some bug (related to previous)
>  *  -Enumerate store files to determine file level corruption and sideline 
> corrupt files-
>  * -Fix hfile link problems (dangling / broken)-



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22977) [HBCK2] hbck2 2.0

2019-09-05 Thread stack (Jira)


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

stack updated HBASE-22977:
--
Description: 
Brainstorming issue for what to ship in an HBCK2 version 2.0 (HBASE-21745 
describes HBCK2 1.0).

Possibilities:

 * Integrate HBCK2 operations into core either by automating fix or by adding 
shell commands for fixup.
 * An 'adoption service' running in Master where you pass 'orphan data' -- a 
file or a directory -- and the running service figures what to do w/ the 
content (remove if empty, figure where the file should slot if an hfile, replay 
recovered edits if a recovered_edits dir, play WALs if wal dir, etc.). Could be 
smarter/interactive, a 'three-way-merge' as Sean and Josh have sketched.


  was:Brainstorming issue for what to ship in an HBCK2 version 2.0 (HBASE-21745 
describes HBCK2 1.0).


> [HBCK2] hbck2 2.0
> -
>
> Key: HBASE-22977
> URL: https://issues.apache.org/jira/browse/HBASE-22977
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: stack
>Priority: Major
>
> Brainstorming issue for what to ship in an HBCK2 version 2.0 (HBASE-21745 
> describes HBCK2 1.0).
> Possibilities:
>  * Integrate HBCK2 operations into core either by automating fix or by adding 
> shell commands for fixup.
>  * An 'adoption service' running in Master where you pass 'orphan data' -- a 
> file or a directory -- and the running service figures what to do w/ the 
> content (remove if empty, figure where the file should slot if an hfile, 
> replay recovered edits if a recovered_edits dir, play WALs if wal dir, etc.). 
> Could be smarter/interactive, a 'three-way-merge' as Sean and Josh have 
> sketched.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22976) [HBCK2] Add RecoveredEditsPlayer

2019-09-05 Thread stack (Jira)


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

stack updated HBASE-22976:
--
Parent: HBASE-22977
Issue Type: Sub-task  (was: Bug)

> [HBCK2] Add RecoveredEditsPlayer
> 
>
> Key: HBASE-22976
> URL: https://issues.apache.org/jira/browse/HBASE-22976
> Project: HBase
>  Issue Type: Sub-task
>  Components: hbck2
>Reporter: stack
>Priority: Major
>
> We need a recovered edits player. Messing w/ the 'adoption service' -- 
> tooling to adopt orphan regions and hfiles -- I've been manufacturing damaged 
> clusters by moving stuff around under the running cluster. No reason to think 
> that an hbase couldn't lose accounting of a whole region if a cataclysm. If 
> so, region will have stuff like the '.regioninfo', dirs per column family w/ 
> store files but it could too have a 'recovered_edits' directory with content 
> in it. We have a WALPlayer for errant WALs. We have the FSHLog tool which can 
> read recovered_edits content for debugging data loss. Missing is a 
> RecoveredEditsPlayer.
> I took a look at extending the WALPlayer since it has a bunch of nice options 
> and it can run at bulk. Ideally, it would just digest recovered edits content 
> if passed an option or recovered edits directories. On first glance, it 
> didn't seem like an easy integration Would be worth taking a look again. 
> Would be good if we could avoid making a new, distinct tool, just for 
> Recovered Edits.
> The bulkload tool expects hfiles in column family directories. Recovered 
> edits files are not hfiles and the files are x-columnfamily so this is not 
> the way to go though a bulkload-like tool that moved the recovered edits 
> files under the appropriate region dir and asked the region reopen would be a 
> possibility (Would need the bulk load complete trick of splitting input if 
> the region boundaries in the live cluster do not align w/ those of the errant 
> recovered edits files).



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Created] (HBASE-22977) [HBCK2] hbck2 2.0

2019-09-05 Thread stack (Jira)
stack created HBASE-22977:
-

 Summary: [HBCK2] hbck2 2.0
 Key: HBASE-22977
 URL: https://issues.apache.org/jira/browse/HBASE-22977
 Project: HBase
  Issue Type: Brainstorming
Reporter: stack


Brainstorming issue for what to ship in an HBCK2 version 2.0 (HBASE-21745 
describes HBCK2 1.0).



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22976) [HBCK2] Add RecoveredEditsPlayer

2019-09-05 Thread stack (Jira)


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

stack updated HBASE-22976:
--
Description: 
We need a recovered edits player. Messing w/ the 'adoption service' -- tooling 
to adopt orphan regions and hfiles -- I've been manufacturing damaged clusters 
by moving stuff around under the running cluster. No reason to think that an 
hbase couldn't lose accounting of a whole region if a cataclysm. If so, region 
will have stuff like the '.regioninfo', dirs per column family w/ store files 
but it could too have a 'recovered_edits' directory with content in it. We have 
a WALPlayer for errant WALs. We have the FSHLog tool which can read 
recovered_edits content for debugging data loss. Missing is a 
RecoveredEditsPlayer.

I took a look at extending the WALPlayer since it has a bunch of nice options 
and it can run at bulk. Ideally, it would just digest recovered edits content 
if passed an option or recovered edits directories. On first glance, it didn't 
seem like an easy integration Would be worth taking a look again. Would be 
good if we could avoid making a new, distinct tool, just for Recovered Edits.

The bulkload tool expects hfiles in column family directories. Recovered edits 
files are not hfiles and the files are x-columnfamily so this is not the way to 
go though a bulkload-like tool that moved the recovered edits files under the 
appropriate region dir and asked the region reopen would be a possibility 
(Would need the bulk load complete trick of splitting input if the region 
boundaries in the live cluster do not align w/ those of the errant recovered 
edits files).

  was:
We need a recovered edits player. Messing w/ the 'adoption service' -- tooling 
to adopt orphan regions and hfiles -- I've been manufacturing damaged clusters 
by moving stuff around under the running cluster. No reason to think that an 
hbase couldn't lose accounting of a whole region if a cataclysm. If so, region 
will have stuff like the '.regioninfo', dirs per column family w/ store files 
but it could too have a 'recovered_edits' directory with content in it. We have 
a WALPlayer for errant WALs. We have the FSHLog tool which can read 
recovered_edits content for debugging data loss. Missing is a 
RecoveredEditsPlayer.

I took a look at extending the WALPlayer since it has a bunch of nice options 
and it can run at bulk. Ideally, it would just digest recovered edits content 
if passed an option or recovered edits directories. On first glance, it didn't 
seem like an easy integration Would be worth taking a look again. Would be 
good if we could avoid making a new, distinct tool, just for Recovered Edits.


> [HBCK2] Add RecoveredEditsPlayer
> 
>
> Key: HBASE-22976
> URL: https://issues.apache.org/jira/browse/HBASE-22976
> Project: HBase
>  Issue Type: Bug
>  Components: hbck2
>Reporter: stack
>Priority: Major
>
> We need a recovered edits player. Messing w/ the 'adoption service' -- 
> tooling to adopt orphan regions and hfiles -- I've been manufacturing damaged 
> clusters by moving stuff around under the running cluster. No reason to think 
> that an hbase couldn't lose accounting of a whole region if a cataclysm. If 
> so, region will have stuff like the '.regioninfo', dirs per column family w/ 
> store files but it could too have a 'recovered_edits' directory with content 
> in it. We have a WALPlayer for errant WALs. We have the FSHLog tool which can 
> read recovered_edits content for debugging data loss. Missing is a 
> RecoveredEditsPlayer.
> I took a look at extending the WALPlayer since it has a bunch of nice options 
> and it can run at bulk. Ideally, it would just digest recovered edits content 
> if passed an option or recovered edits directories. On first glance, it 
> didn't seem like an easy integration Would be worth taking a look again. 
> Would be good if we could avoid making a new, distinct tool, just for 
> Recovered Edits.
> The bulkload tool expects hfiles in column family directories. Recovered 
> edits files are not hfiles and the files are x-columnfamily so this is not 
> the way to go though a bulkload-like tool that moved the recovered edits 
> files under the appropriate region dir and asked the region reopen would be a 
> possibility (Would need the bulk load complete trick of splitting input if 
> the region boundaries in the live cluster do not align w/ those of the errant 
> recovered edits files).



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Created] (HBASE-22976) [HBCK2] Add RecoveredEditsPlayer

2019-09-05 Thread stack (Jira)
stack created HBASE-22976:
-

 Summary: [HBCK2] Add RecoveredEditsPlayer
 Key: HBASE-22976
 URL: https://issues.apache.org/jira/browse/HBASE-22976
 Project: HBase
  Issue Type: Bug
  Components: hbck2
Reporter: stack


We need a recovered edits player. Messing w/ the 'adoption service' -- tooling 
to adopt orphan regions and hfiles -- I've been manufacturing damaged clusters 
by moving stuff around under the running cluster. No reason to think that an 
hbase couldn't lose accounting of a whole region if a cataclysm. If so, region 
will have stuff like the '.regioninfo', dirs per column family w/ store files 
but it could too have a 'recovered_edits' directory with content in it. We have 
a WALPlayer for errant WALs. We have the FSHLog tool which can read 
recovered_edits content for debugging data loss. Missing is a 
RecoveredEditsPlayer.

I took a look at extending the WALPlayer since it has a bunch of nice options 
and it can run at bulk. Ideally, it would just digest recovered edits content 
if passed an option or recovered edits directories. On first glance, it didn't 
seem like an easy integration Would be worth taking a look again. Would be 
good if we could avoid making a new, distinct tool, just for Recovered Edits.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Work started] (HBASE-21521) Expose master startup status via JMX and web UI

2019-09-05 Thread Rushabh S Shah (Jira)


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

Work on HBASE-21521 started by Rushabh S Shah.
--
> Expose master startup status via JMX and web UI
> ---
>
> Key: HBASE-21521
> URL: https://issues.apache.org/jira/browse/HBASE-21521
> Project: HBase
>  Issue Type: Improvement
>  Components: master, UI
>Reporter: Andrew Purtell
>Assignee: Rushabh S Shah
>Priority: Major
>
> Add an internal API to the master for tracking startup progress. Expose this 
> information via JMX.
> Modify the master to bring the web UI up sooner. Will require tweaks to 
> various views to prevent attempts to retrieve state before the master fully 
> up (or else expect NPEs). Currently, before the master has fully initialized 
> an attempt to use the web UI will return a 500 error code and display an 
> error page.
> Finally, update the web UI to display startup progress, like HDFS-4249. 
> Filing this for branch-1. Need to check what if anything is available or 
> improved in branch-2 and master.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-16450) Shell tool to dump replication queues

2019-09-05 Thread Sean Busbey (Jira)


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

Sean Busbey updated HBASE-16450:

Release Note: 
New tool to dump existing replication peers, configurations and queues when 
using HBase Replication.

hbase org.apache.hadoop.hbase.replication.regionserver.DumpReplicationQueues 

The tool provides two flags:

 --distributed  This flag will poll each RS for information about the 
replication queues being processed on this RS.
By default this is not enabled and the information about the replication queues 
and configuration will be obtained from ZooKeeper.
 --hdfs   When --distributed is used, this flag will attempt to calculate the 
total size of the WAL files used by the replication queues. Since its possible 
that multiple peers can be configured this value can be overestimated.

  was:
New tool to dump existing replication peers, configurations and queues when 
using HBase Replication. The tool provides two flags:

 --distributed  This flag will poll each RS for information about the 
replication queues being processed on this RS.
By default this is not enabled and the information about the replication queues 
and configuration will be obtained from ZooKeeper.
 --hdfs   When --distributed is used, this flag will attempt to calculate the 
total size of the WAL files used by the replication queues. Since its possible 
that multiple peers can be configured this value can be overestimated.


> Shell tool to dump replication queues 
> --
>
> Key: HBASE-16450
> URL: https://issues.apache.org/jira/browse/HBASE-16450
> Project: HBase
>  Issue Type: Improvement
>  Components: Operability, Replication
>Affects Versions: 1.3.0, 1.1.5, 1.2.2, 2.0.0
>Reporter: Esteban Gutierrez
>Assignee: Esteban Gutierrez
>Priority: Major
> Fix For: 1.3.0, 0.98.24, 2.0.0
>
> Attachments: HBASE-16450.branch-1.001.patch, 
> HBASE-16450.branch-1.002.patch, HBASE-16450.master.001.patch, 
> HBASE-16450.master.002.patch, HBASE-16450.master.003.patch
>
>
> Currently there is no way to dump list of the configured queues and the 
> replication queues when replication is enabled. Unfortunately the HBase 
> master only offers an option to dump the whole content of the znodes but not 
> details on the queues being processed on each RS.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] Apache-HBase commented on issue #586: HBASE-22975 Add read and write QPS metrics at server level and table level

2019-09-05 Thread GitBox
Apache-HBase commented on issue #586: HBASE-22975 Add read and write QPS 
metrics at server level and table level
URL: https://github.com/apache/hbase/pull/586#issuecomment-528480890
 
 
   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | :blue_heart: |  reexec  |   0m 40s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | :green_heart: |  hbaseanti  |   0m  0s |  Patch does not have any 
anti-patterns.  |
   | :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   | :yellow_heart: |  test4tests  |   0m  0s |  The patch doesn't appear to 
include any new or modified tests. Please justify why no new tests are needed 
for this patch. Also please list what manual steps were performed to verify 
this patch.  |
   ||| _ branch-1 Compile Tests _ |
   | :blue_heart: |  mvndep  |   6m 42s |  Maven dependency ordering for branch 
 |
   | :green_heart: |  mvninstall  |   3m 16s |  branch-1 passed  |
   | :green_heart: |  compile  |   1m  6s |  branch-1 passed  |
   | :green_heart: |  checkstyle  |   2m  0s |  branch-1 passed  |
   | :broken_heart: |  shadedjars  |   0m 12s |  branch has 10 errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  javadoc  |   0m 59s |  branch-1 passed  |
   | :blue_heart: |  spotbugs  |   2m  2s |  Used deprecated FindBugs config; 
considering switching to SpotBugs.  |
   | :green_heart: |  findbugs  |   3m  0s |  branch-1 passed  |
   ||| _ Patch Compile Tests _ |
   | :blue_heart: |  mvndep  |   0m 11s |  Maven dependency ordering for patch  
|
   | :green_heart: |  mvninstall  |   1m 47s |  the patch passed  |
   | :green_heart: |  compile  |   1m  7s |  the patch passed  |
   | :green_heart: |  javac  |   1m  7s |  the patch passed  |
   | :green_heart: |  checkstyle  |   1m 57s |  the patch passed  |
   | :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | :broken_heart: |  shadedjars  |   0m 12s |  patch has 10 errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  hadoopcheck  |   4m 32s |  Patch does not cause any 
errors with Hadoop 2.8.5 2.9.2.  |
   | :green_heart: |  javadoc  |   0m 58s |  the patch passed  |
   | :green_heart: |  findbugs  |   3m 14s |  the patch passed  |
   ||| _ Other Tests _ |
   | :green_heart: |  unit  |   0m 24s |  hbase-hadoop-compat in the patch 
passed.  |
   | :green_heart: |  unit  |   0m 30s |  hbase-hadoop2-compat in the patch 
passed.  |
   | :green_heart: |  unit  | 109m 47s |  hbase-server in the patch passed.  |
   | :broken_heart: |  asflicense  |   1m 13s |  The patch generated 2 ASF 
License warnings.  |
   |  |   | 147m 29s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/3/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/586 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile |
   | uname | Linux d1d8c05d7ccc 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 
16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-586/out/precommit/personality/provided.sh
 |
   | git revision | branch-1 / 352344c |
   | Default Java | 1.8.0_222 |
   | shadedjars | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/3/artifact/out/branch-shadedjars.txt
 |
   | shadedjars | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/3/artifact/out/patch-shadedjars.txt
 |
   |  Test Results | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/3/testReport/
 |
   | asflicense | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/3/artifact/out/patch-asflicense-problems.txt
 |
   | Max. process+thread count | 4314 (vs. ulimit of 1) |
   | modules | C: hbase-hadoop-compat hbase-hadoop2-compat hbase-server U: . |
   | Console output | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/3/console |
   | versions | git=1.9.1 maven=3.0.5 findbugs=3.1.0-RC1 |
   | Powered by | Apache Yetus 0.11.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] symat commented on a change in pull request #394: HBASE-22716:upgrade zookeeper version to 3.5.5

2019-09-05 Thread GitBox
symat commented on a change in pull request #394: HBASE-22716:upgrade zookeeper 
version to 3.5.5
URL: https://github.com/apache/hbase/pull/394#discussion_r316576357
 
 

 ##
 File path: pom.xml
 ##
 @@ -1471,7 +1471,7 @@
 0.5.0
 thrift
 0.12.0
-3.4.10
+3.5.5
 
 0.9.94
 
 Review comment:
   should we also update the jline version? I think it was added because of 
zookeeper, see https://issues.apache.org/jira/browse/HBASE-20108
   
   zookeeper 3.5.5 is using jline 2.11
   
   however, if we increment the JLine version, then the assembly:single maven 
target will fail, as the license part in JLine pom changed a bit (they named it 
'The BSD License' instead of 'BSD License'). To make it work, we need to add a 
new supplement to `supplemental-models.xml` like:
   
   ```
   
 
   
 jline
 jline
 JLine
 2.11
 
   
 BSD License
 http://www.opensource.org/licenses/bsd-license.php
 repo
   
 
   
 
   ```


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-21879) Read HFile's block to ByteBuffer directly instead of to byte for reducing young gc purpose

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-21879:


Results for branch HBASE-21879
[build #231 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21879/231/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21879/231//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21879/231//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/HBASE-21879/231//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> Read HFile's block to ByteBuffer directly instead of to byte for reducing 
> young gc purpose
> --
>
> Key: HBASE-21879
> URL: https://issues.apache.org/jira/browse/HBASE-21879
> Project: HBase
>  Issue Type: Improvement
>Reporter: Zheng Hu
>Assignee: Zheng Hu
>Priority: Major
> Fix For: 3.0.0, 2.3.0
>
> Attachments: HBASE-21879.v1.patch, HBASE-21879.v1.patch, 
> QPS-latencies-before-HBASE-21879.png, gc-data-before-HBASE-21879.png
>
>
> In HFileBlock#readBlockDataInternal,  we have the following: 
> {code}
> @VisibleForTesting
> protected HFileBlock readBlockDataInternal(FSDataInputStream is, long offset,
> long onDiskSizeWithHeaderL, boolean pread, boolean verifyChecksum, 
> boolean updateMetrics)
>  throws IOException {
>  // .
>   // TODO: Make this ByteBuffer-based. Will make it easier to go to HDFS with 
> BBPool (offheap).
>   byte [] onDiskBlock = new byte[onDiskSizeWithHeader + hdrSize];
>   int nextBlockOnDiskSize = readAtOffset(is, onDiskBlock, preReadHeaderSize,
>   onDiskSizeWithHeader - preReadHeaderSize, true, offset + 
> preReadHeaderSize, pread);
>   if (headerBuf != null) {
> // ...
>   }
>   // ...
>  }
> {code}
> In the read path,  we still read the block from hfile to on-heap byte[], then 
> copy the on-heap byte[] to offheap bucket cache asynchronously,  and in my  
> 100% get performance test, I also observed some frequent young gc,  The 
> largest memory footprint in the young gen should be the on-heap block byte[].
> In fact, we can read HFile's block to ByteBuffer directly instead of to 
> byte[] for reducing young gc purpose. we did not implement this before, 
> because no ByteBuffer reading interface in the older HDFS client, but 2.7+ 
> has supported this now,  so we can fix this now. I think. 
> Will provide an patch and some perf-comparison for this. 



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] saintstack commented on a change in pull request #476: HBASE-11062 hbtop

2019-09-05 Thread GitBox
saintstack commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r321372817
 
 

 ##
 File path: hbase-hbtop/README.md
 ##
 @@ -0,0 +1,248 @@
+
+
+# hbtop
+
+## Overview
+
+`hbtop` is a real-time monitoring tool for HBase like Unix's top command.
+It can display summary information as well as metrics per 
Region/Namespace/Table/RegionServer.
+In this tool, you can see the metrics sorted by a selected field and filter 
the metrics to see only metrics you really want to see.
+Also, with the drill-down feature, you can find hot regions easily in a 
top-down manner.
+
+## Usage
+
+You can run hbtop with the following command:
+
+```
+$ hbase hbtop
+```
+
+In this case, the values of `hbase.client.zookeeper.quorum` and 
`zookeeper.znode.parent` in `hbase-site.xml` in the classpath or the default 
values of them are used to connect.
+
+Or, you can specify your own zookeeper quorum and znode parent as follows:
+
+```
+$ hbase hbtop -Dhbase.client.zookeeper.quorum= 
-Dzookeeper.znode.parent=
+```
+
+![Top screen](img/top_screen.gif "Top screen")
+
+The top screen consists of a summary part and of a metrics part.
+In the summary part, you can see `HBase Version`, `Cluster ID`, `The number of 
region servers`, `Region count`, `Average Cluster Load` and `Aggregated 
Request/s`.
+In the metrics part, you can see metrics per 
Region/Namespace/Table/RegionServer depending on the selected mode.
+The top screen is refreshed in a certain period – 3 seconds by default.
+
+### Scrolling metric records
+
+You can scroll the metric records in the metrics part.
+
+![Scrolling metric records](img/scrolling_metric_records.gif "Scrolling metric 
records")
+
+### Command line arguments
+
+| Argument | Description |
+|---|---|
+| -delay arg | The refresh delay (in seconds); default is 3 seconds |
+| -help | Print usage; for help while the tool is running press `h` key |
+| -mode arg | The mode; `n` (Namespace)`t` (Table)r 
(Region)`s` (RegionServer), default is `r` (Region) |
+
+### Modes
+
+There are the following 4 modes in hbtop:
+
+| Mode | Description |
+|---|---|
+| Region | Showing metric records per region |
+| Namespace | Showing metric records per namespace |
+| Table | Showing metric records per table |
+| RegionServer | Showing metric records per region server |
+
+ Region mode
+
+In Region mode, the default sort field is `#REQ/S`.
+
+The fields in this mode are as follows:
+
+| Field | Description | Displayed by default |
+|---|---|---|
+| RNAME | Region Name | false |
+| NAMESPACE | Namespace Name | true |
+| TABLE | Table Name | true |
+| SCODE | Start Code | false |
+| REPID | Replica ID | false |
+| REGION | Encoded Region Name | true |
+| RS | Short Region Server Name | true |
+| LRS | Long Region Server Name | false |
+| #REQ/S | Request Count per second | true |
+| #READ/S | Read Request Count per second | true |
+| #FREAD/S | Filtered Read Request Count per second | true |
+| #WRITE/S | Write Request Count per second | true |
+| SF | StoreFile Size | true |
+| USF | Uncompressed StoreFile Size | false |
+| #SF | Number of StoreFiles | true |
+| MEMSTORE | MemStore Size | true |
+| LOCALITY | Block Locality | true |
+| SKEY | Start Key | false |
+| #COMPingCELL | Compacting Cell Count | false |
+| #COMPedCELL | Compacted Cell Count | false |
+| %COMP | Compaction Progress | false |
+| LASTMCOMP | Last Major Compaction Time | false |
+
+ Namespace mode
+
+In Namespace mode, the default sort field is `#REQ/S`.
+
+The fields in this mode are as follows:
+
+| Field | Description | Displayed by default |
+|---|---|---|
+| NAMESPACE | Namespace Name | true |
+| #REGION | Region Count | true |
+| #REQ/S | Request Count per second | true |
+| #READ/S | Read Request Count per second | true |
+| #FREAD/S | Filtered Read Request Count per second | true |
+| #WRITE/S | Write Request Count per second | true |
+| SF | StoreFile Size | true |
+| USF | Uncompressed StoreFile Size | false |
+| #SF | Number of StoreFiles | true |
+| MEMSTORE | MemStore Size | true |
+
+ Table mode
+
+In Table mode, the default sort field is `#REQ/S`.
+
+The fields in this mode are as follows:
+
+| Field | Description | Displayed by default |
+|---|---|---|
+| NAMESPACE | Namespace Name | true |
+| TABLE | Table Name | true |
+| #REGION | Region Count | true |
+| #REQ/S | Request Count per second | true |
+| #READ/S | Read Request Count per second | true |
+| #FREAD/S | Filtered Read Request Count per second | true |
+| #WRITE/S | Write Request Count per second | true |
+| SF | StoreFile Size | true |
+| USF | Uncompressed StoreFile Size | false |
+| #SF | Number of StoreFiles | true |
+| MEMSTORE | MemStore Size | true |
+
+ RegionServer mode
+
+In RegionServer mode, the default sort field is `#REQ/S`.
+
+The fields in this mode are as follows:
+
+| Field | Description | Displayed by default |
+|---|---|---|
+| RS | Short Region Server Name | true |

[GitHub] [hbase] saintstack commented on a change in pull request #476: HBASE-11062 hbtop

2019-09-05 Thread GitBox
saintstack commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r321374127
 
 

 ##
 File path: hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/HBTop.java
 ##
 @@ -0,0 +1,141 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.hbtop;
+
+import java.util.Objects;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.HBaseInterfaceAudience;
+import org.apache.hadoop.hbase.hbtop.mode.Mode;
+import org.apache.hadoop.hbase.hbtop.screen.Screen;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+import org.apache.yetus.audience.InterfaceAudience;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.hbase.thirdparty.org.apache.commons.cli.CommandLine;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.DefaultParser;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.HelpFormatter;
+import org.apache.hbase.thirdparty.org.apache.commons.cli.Options;
+
+
+/**
+ * A real-time monitoring tool for HBase like Unix top command.
+ */
+@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)
+public class HBTop extends Configured implements Tool {
+
+  private static final Logger LOGGER = LoggerFactory.getLogger(HBTop.class);
+
+  public HBTop() {
+this(HBaseConfiguration.create());
+  }
+
+  public HBTop(Configuration conf) {
+super(Objects.requireNonNull(conf));
+  }
+
+  @Override
+  public int run(String[] args) throws Exception {
+long initialRefreshDelay = 3 * 1000;
+Mode initialMode = Mode.REGION;
+try {
+  // Command line options
+  Options opts = new Options();
+  opts.addOption("help", false,
 
 Review comment:
   These do not use short forms? Are we doing the gnu '--help' rather than 
wacky java/hadoop '-help'?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] saintstack commented on a change in pull request #476: HBASE-11062 hbtop

2019-09-05 Thread GitBox
saintstack commented on a change in pull request #476: HBASE-11062 hbtop
URL: https://github.com/apache/hbase/pull/476#discussion_r321373113
 
 

 ##
 File path: hbase-hbtop/pom.xml
 ##
 @@ -0,0 +1,89 @@
+
+http://maven.apache.org/POM/4.0.0;
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd;>
+  
+  4.0.0
+  
+hbase-build-configuration
+org.apache.hbase
+3.0.0-SNAPSHOT
+../hbase-build-configuration
+  
+  hbase-hbtop
+  Apache HBase - HBTop
+  A real-time monitoring tool for HBase like Unix's top 
command
+  
+
+  
+  
+org.apache.maven.plugins
+maven-source-plugin
+  
+
+  
+  
+
+  org.apache.hbase
+  hbase-client
 
 Review comment:
   It can't use shaded? (I think I asked that before).


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] ravowlga123 commented on issue #584: HBASE-22927 Upgrade mockito version for Java 11 compatibility

2019-09-05 Thread GitBox
ravowlga123 commented on issue #584: HBASE-22927 Upgrade mockito version for 
Java 11 compatibility
URL: https://github.com/apache/hbase/pull/584#issuecomment-528412349
 
 
   Checked out both HBASE-20582 and MENFORCER-300. Will follow the example of 
MENFORCER-300 and add module-info in ignoreclass section.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] Apache-HBase commented on issue #586: HBASE-22975 Add read and write QPS metrics at server level and table level

2019-09-05 Thread GitBox
Apache-HBase commented on issue #586: HBASE-22975 Add read and write QPS 
metrics at server level and table level
URL: https://github.com/apache/hbase/pull/586#issuecomment-528401886
 
 
   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | :blue_heart: |  reexec  |   0m 39s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | :green_heart: |  dupname  |   0m  1s |  No case conflicting files found.  |
   | :green_heart: |  hbaseanti  |   0m  0s |  Patch does not have any 
anti-patterns.  |
   | :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   | :yellow_heart: |  test4tests  |   0m  0s |  The patch doesn't appear to 
include any new or modified tests. Please justify why no new tests are needed 
for this patch. Also please list what manual steps were performed to verify 
this patch.  |
   ||| _ branch-1 Compile Tests _ |
   | :blue_heart: |  mvndep  |   5m 55s |  Maven dependency ordering for branch 
 |
   | :green_heart: |  mvninstall  |   3m 15s |  branch-1 passed  |
   | :green_heart: |  compile  |   1m  5s |  branch-1 passed  |
   | :green_heart: |  checkstyle  |   2m  2s |  branch-1 passed  |
   | :broken_heart: |  shadedjars  |   0m 13s |  branch has 10 errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  javadoc  |   1m  0s |  branch-1 passed  |
   | :blue_heart: |  spotbugs  |   2m  6s |  Used deprecated FindBugs config; 
considering switching to SpotBugs.  |
   | :green_heart: |  findbugs  |   3m  0s |  branch-1 passed  |
   ||| _ Patch Compile Tests _ |
   | :blue_heart: |  mvndep  |   0m 11s |  Maven dependency ordering for patch  
|
   | :green_heart: |  mvninstall  |   1m 47s |  the patch passed  |
   | :green_heart: |  compile  |   1m  6s |  the patch passed  |
   | :green_heart: |  javac  |   1m  6s |  the patch passed  |
   | :broken_heart: |  checkstyle  |   0m 12s |  hbase-hadoop2-compat: The 
patch generated 2 new + 1 unchanged - 0 fixed = 3 total (was 1)  |
   | :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | :broken_heart: |  shadedjars  |   0m 11s |  patch has 10 errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  hadoopcheck  |   4m 36s |  Patch does not cause any 
errors with Hadoop 2.8.5 2.9.2.  |
   | :green_heart: |  javadoc  |   0m 56s |  the patch passed  |
   | :broken_heart: |  findbugs  |   0m 36s |  hbase-hadoop2-compat generated 1 
new + 0 unchanged - 0 fixed = 1 total (was 0)  |
   ||| _ Other Tests _ |
   | :green_heart: |  unit  |   0m 25s |  hbase-hadoop-compat in the patch 
passed.  |
   | :green_heart: |  unit  |   0m 30s |  hbase-hadoop2-compat in the patch 
passed.  |
   | :green_heart: |  unit  | 110m 24s |  hbase-server in the patch passed.  |
   | :broken_heart: |  asflicense  |   1m 13s |  The patch generated 2 ASF 
License warnings.  |
   |  |   | 147m 33s |   |
   
   
   | Reason | Tests |
   |---:|:--|
   | FindBugs | module:hbase-hadoop2-compat |
   |  |  Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be 
atomic in 
org.apache.hadoop.hbase.regionserver.MetricsTableQPSImpl.getOrCreateTableMeter(String)
  At MetricsTableQPSImpl.java:may not be atomic in 
org.apache.hadoop.hbase.regionserver.MetricsTableQPSImpl.getOrCreateTableMeter(String)
  At MetricsTableQPSImpl.java:[line 60] |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/2/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/586 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile |
   | uname | Linux 4b4d25d74244 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 
16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-586/out/precommit/personality/provided.sh
 |
   | git revision | branch-1 / 352344c |
   | Default Java | 1.8.0_222 |
   | shadedjars | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/2/artifact/out/branch-shadedjars.txt
 |
   | checkstyle | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/2/artifact/out/diff-checkstyle-hbase-hadoop2-compat.txt
 |
   | shadedjars | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/2/artifact/out/patch-shadedjars.txt
 |
   | findbugs | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/2/artifact/out/new-findbugs-hbase-hadoop2-compat.html
 |
   |  Test Results | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/2/testReport/
 |
   | asflicense | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/2/artifact/out/patch-asflicense-problems.txt
 

[jira] [Commented] (HBASE-22338) LICENSE file only contains Apache 2.0

2019-09-05 Thread Rabi Kumar K C (Jira)


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

Rabi Kumar K C commented on HBASE-22338:


Yes in hbase-connectors-assembly,  all licenses for project have been 
aggregated. Regarding the dependencies other than ALv2 please take a look at 
the attached file  [~busbey]. And please do let me know what would be the 
effective way to handle this.

> LICENSE file only contains Apache 2.0
> -
>
> Key: HBASE-22338
> URL: https://issues.apache.org/jira/browse/HBASE-22338
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-connectors
>Affects Versions: connector-1.0.0
>Reporter: Peter Somogyi
>Assignee: Rabi Kumar K C
>Priority: Critical
> Fix For: connector-1.0.1
>
> Attachments: hbase-connectors-dependency.html
>
>
> LICENSE.md file has only Apache 2.0 licenses but we package dependencies that 
> use different ones. For example jcodings uses MIT.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22338) LICENSE file only contains Apache 2.0

2019-09-05 Thread Rabi Kumar K C (Jira)


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

Rabi Kumar K C updated HBASE-22338:
---
Attachment: hbase-connectors-dependency.html

> LICENSE file only contains Apache 2.0
> -
>
> Key: HBASE-22338
> URL: https://issues.apache.org/jira/browse/HBASE-22338
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-connectors
>Affects Versions: connector-1.0.0
>Reporter: Peter Somogyi
>Assignee: Rabi Kumar K C
>Priority: Critical
> Fix For: connector-1.0.1
>
> Attachments: hbase-connectors-dependency.html
>
>
> LICENSE.md file has only Apache 2.0 licenses but we package dependencies that 
> use different ones. For example jcodings uses MIT.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] busbey edited a comment on issue #584: HBASE-22927 Upgrade mockito version for Java 11 compatibility

2019-09-05 Thread GitBox
busbey edited a comment on issue #584: HBASE-22927 Upgrade mockito version for 
Java 11 compatibility
URL: https://github.com/apache/hbase/pull/584#issuecomment-528391822
 
 
   > Seems hadoop has already updated the mockito version to 2.23.4? And seems 
the UTs are fine so this maybe a too strict enforcer rule? @busbey PTAL.
   
   This sounded familiar so I dug about. This came up with a JRuby update on 
[HBASE-20582](https://issues.apache.org/jira/browse/HBASE-20582) and is tracked 
in [MENFORCER-300](https://issues.apache.org/jira/browse/MENFORCER-300).
   
   On HBASE-20582 we pinned our version of JRuby to avoid the issue (which is 
what it looks like the byte-buddy developer suggested as a workaround). Since 
then MENFORCER-300 has been updated to include an example of how to ignore the 
`module-info` class. We should probably do that. It might also be worth 
reopening MENFORCER-300 to discuss what that plugin should be doing about the 
class.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Updated] (HBASE-22338) LICENSE file only contains Apache 2.0

2019-09-05 Thread Rabi Kumar K C (Jira)


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

Rabi Kumar K C updated HBASE-22338:
---
Attachment: (was: hbase-connectors-dependency.html)

> LICENSE file only contains Apache 2.0
> -
>
> Key: HBASE-22338
> URL: https://issues.apache.org/jira/browse/HBASE-22338
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-connectors
>Affects Versions: connector-1.0.0
>Reporter: Peter Somogyi
>Assignee: Rabi Kumar K C
>Priority: Critical
> Fix For: connector-1.0.1
>
>
> LICENSE.md file has only Apache 2.0 licenses but we package dependencies that 
> use different ones. For example jcodings uses MIT.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Updated] (HBASE-22338) LICENSE file only contains Apache 2.0

2019-09-05 Thread Rabi Kumar K C (Jira)


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

Rabi Kumar K C updated HBASE-22338:
---
Attachment: hbase-connectors-dependency.html

> LICENSE file only contains Apache 2.0
> -
>
> Key: HBASE-22338
> URL: https://issues.apache.org/jira/browse/HBASE-22338
> Project: HBase
>  Issue Type: Bug
>  Components: hbase-connectors
>Affects Versions: connector-1.0.0
>Reporter: Peter Somogyi
>Assignee: Rabi Kumar K C
>Priority: Critical
> Fix For: connector-1.0.1
>
>
> LICENSE.md file has only Apache 2.0 licenses but we package dependencies that 
> use different ones. For example jcodings uses MIT.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[GitHub] [hbase] busbey commented on issue #584: HBASE-22927 Upgrade mockito version for Java 11 compatibility

2019-09-05 Thread GitBox
busbey commented on issue #584: HBASE-22927 Upgrade mockito version for Java 11 
compatibility
URL: https://github.com/apache/hbase/pull/584#issuecomment-528393455
 
 
   Hadoop updating shouldn't be taken as an indicator of anything, IMHO. They 
only ensure a certain minimum JDK is used at build time; they don't have any 
checks to make sure generated artifacts will work with any particular JDK 
version.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] busbey commented on issue #584: HBASE-22927 Upgrade mockito version for Java 11 compatibility

2019-09-05 Thread GitBox
busbey commented on issue #584: HBASE-22927 Upgrade mockito version for Java 11 
compatibility
URL: https://github.com/apache/hbase/pull/584#issuecomment-528391822
 
 
   > Seems hadoop has already updated the mockito version to 2.23.4? And seems 
the UTs are fine so this maybe a too strict enforcer rule? @busbey PTAL.
   
   This sounded familiar so I dug about. This came up with a JRuby update on 
[HBASE-20582](https://issues.apache.org/jira/browse/HBASE-20582) and is tracked 
in [MENFORCER-300](https://issues.apache.org/jira/browse/MENFORCER-300).
   
   On HBASE-20582 we pinned our version of JRuby to avoid the issue (which is 
what it looks like the byte-buddy developer suggested as a workaround). Since 
then MENFORCER-300 has been updated to include an example of how to ignore the 
{{module-info}} class. We should probably do that. It might also be worth 
reopening MENFORCER-300 to discuss what that plugin should be doing about the 
class.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] Apache9 commented on issue #584: HBASE-22927 Upgrade mockito version for Java 11 compatibility

2019-09-05 Thread GitBox
Apache9 commented on issue #584: HBASE-22927 Upgrade mockito version for Java 
11 compatibility
URL: https://github.com/apache/hbase/pull/584#issuecomment-528382425
 
 
   Seems hadoop has already updated the mockito version to 2.23.4? And seems 
the UTs are fine so this maybe a too strict enforcer rule? @busbey PTAL.
   
   And why not upgrade to 2.28.2? And also there is a 3.0.0 release now? What's 
is the difference 3.x and 2.x?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] ravowlga123 edited a comment on issue #584: HBASE-22927 Upgrade mockito version for Java 11 compatibility

2019-09-05 Thread GitBox
ravowlga123 edited a comment on issue #584: HBASE-22927 Upgrade mockito version 
for Java 11 compatibility
URL: https://github.com/apache/hbase/pull/584#issuecomment-528378112
 
 
   Comment on the similar issue 
https://github.com/raphw/byte-buddy/issues/541#issuecomment-429649501. Work 
around for above can be to add module-info.class in . What do you 
think @Apache9??


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] ravowlga123 commented on issue #584: HBASE-22927 Upgrade mockito version for Java 11 compatibility

2019-09-05 Thread GitBox
ravowlga123 commented on issue #584: HBASE-22927 Upgrade mockito version for 
Java 11 compatibility
URL: https://github.com/apache/hbase/pull/584#issuecomment-528378112
 
 
   Comment on the similar issue 
https://github.com/raphw/byte-buddy/issues/541#issuecomment-429649501. Work 
around for above can be to add module-info.class in . What do you 
think @Apache9 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] Apache-HBase commented on issue #588: HBASE-22932 Add rs group management methods in Admin and AsyncAdmin

2019-09-05 Thread GitBox
Apache-HBase commented on issue #588: HBASE-22932 Add rs group management 
methods in Admin and AsyncAdmin
URL: https://github.com/apache/hbase/pull/588#issuecomment-528365186
 
 
   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | :blue_heart: |  reexec  |   1m  5s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | :blue_heart: |  prototool  |   0m  1s |  prototool was not available.  |
   | :green_heart: |  hbaseanti  |   0m  0s |  Patch does not have any 
anti-patterns.  |
   | :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   | :green_heart: |  test4tests  |   0m  0s |  The patch appears to include 2 
new or modified test files.  |
   ||| _ HBASE-22514 Compile Tests _ |
   | :blue_heart: |  mvndep  |   0m 33s |  Maven dependency ordering for branch 
 |
   | :green_heart: |  mvninstall  |   5m 46s |  HBASE-22514 passed  |
   | :green_heart: |  compile  |   2m 36s |  HBASE-22514 passed  |
   | :green_heart: |  checkstyle  |   2m 51s |  HBASE-22514 passed  |
   | :green_heart: |  shadedjars  |   4m 56s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  javadoc  |   1m 49s |  HBASE-22514 passed  |
   | :blue_heart: |  spotbugs  |   1m 47s |  Used deprecated FindBugs config; 
considering switching to SpotBugs.  |
   | :green_heart: |  findbugs  |  11m 36s |  HBASE-22514 passed  |
   ||| _ Patch Compile Tests _ |
   | :blue_heart: |  mvndep  |   0m 14s |  Maven dependency ordering for patch  
|
   | :broken_heart: |  mvninstall  |   3m 39s |  root in the patch failed.  |
   | :broken_heart: |  compile  |   1m  1s |  hbase-server in the patch failed. 
 |
   | :broken_heart: |  cc  |   1m  1s |  hbase-server in the patch failed.  |
   | :broken_heart: |  javac  |   1m  1s |  hbase-server in the patch failed.  |
   | :broken_heart: |  checkstyle  |   0m 40s |  hbase-client: The patch 
generated 18 new + 162 unchanged - 0 fixed = 180 total (was 162)  |
   | :broken_heart: |  checkstyle  |   1m 34s |  hbase-server: The patch 
generated 26 new + 159 unchanged - 0 fixed = 185 total (was 159)  |
   | :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | :broken_heart: |  shadedjars  |   4m 19s |  patch has 98 errors when 
building our shaded downstream artifacts.  |
   | :broken_heart: |  hadoopcheck  |   2m 18s |  The patch causes 98 errors 
with Hadoop v2.8.5.  |
   | :broken_heart: |  hadoopcheck  |   4m 31s |  The patch causes 98 errors 
with Hadoop v2.9.2.  |
   | :broken_heart: |  hadoopcheck  |   6m 46s |  The patch causes 98 errors 
with Hadoop v3.1.2.  |
   | :broken_heart: |  hbaseprotoc  |   0m 45s |  hbase-server in the patch 
failed.  |
   | :broken_heart: |  javadoc  |   0m 38s |  hbase-server generated 1 new + 0 
unchanged - 0 fixed = 1 total (was 0)  |
   | :broken_heart: |  findbugs  |   0m 56s |  hbase-server in the patch 
failed.  |
   ||| _ Other Tests _ |
   | :green_heart: |  unit  |   0m 41s |  hbase-protocol-shaded in the patch 
passed.  |
   | :green_heart: |  unit  |   1m 44s |  hbase-client in the patch passed.  |
   | :broken_heart: |  unit  |   0m 54s |  hbase-server in the patch failed.  |
   | :green_heart: |  unit  |   3m 41s |  hbase-thrift in the patch passed.  |
   | :green_heart: |  asflicense  |   0m 37s |  The patch does not generate ASF 
License warnings.  |
   |  |   |  73m 11s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.2 Server=19.03.2 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-588/1/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/588 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile cc hbaseprotoc prototool |
   | uname | Linux a13a2f70f93a 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 
16:55:30 UTC 2019 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-588/out/precommit/personality/provided.sh
 |
   | git revision | HBASE-22514 / 855c0922f8 |
   | Default Java | 1.8.0_181 |
   | mvninstall | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-588/1/artifact/out/patch-mvninstall-root.txt
 |
   | compile | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-588/1/artifact/out/patch-compile-hbase-server.txt
 |
   | cc | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-588/1/artifact/out/patch-compile-hbase-server.txt
 |
   | javac | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-588/1/artifact/out/patch-compile-hbase-server.txt
 |
   | checkstyle | 

[GitHub] [hbase] Apache-HBase commented on issue #587: HBASE-22932 Add rs group management methods in Admin and AsyncAdmin

2019-09-05 Thread GitBox
Apache-HBase commented on issue #587: HBASE-22932 Add rs group management 
methods in Admin and AsyncAdmin
URL: https://github.com/apache/hbase/pull/587#issuecomment-528354779
 
 
   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | :blue_heart: |  reexec  |   0m 33s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | :blue_heart: |  prototool  |   0m  0s |  prototool was not available.  |
   | :green_heart: |  hbaseanti  |   0m  0s |  Patch does not have any 
anti-patterns.  |
   | :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   | :green_heart: |  test4tests  |   0m  0s |  The patch appears to include 2 
new or modified test files.  |
   ||| _ HBASE-22514 Compile Tests _ |
   | :blue_heart: |  mvndep  |   1m  1s |  Maven dependency ordering for branch 
 |
   | :green_heart: |  mvninstall  |   5m 45s |  HBASE-22514 passed  |
   | :green_heart: |  compile  |   2m 35s |  HBASE-22514 passed  |
   | :green_heart: |  checkstyle  |   2m 58s |  HBASE-22514 passed  |
   | :green_heart: |  shadedjars  |   4m 56s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  javadoc  |   1m 41s |  HBASE-22514 passed  |
   | :blue_heart: |  spotbugs  |   1m 36s |  Used deprecated FindBugs config; 
considering switching to SpotBugs.  |
   | :green_heart: |  findbugs  |  10m  9s |  HBASE-22514 passed  |
   | :yellow_heart: |  patch  |   2m  2s |  Used diff version of patch file. 
Binary files and potentially other changes not applied. Please rebase and 
squash commits if necessary.  |
   ||| _ Patch Compile Tests _ |
   | :blue_heart: |  mvndep  |   0m 13s |  Maven dependency ordering for patch  
|
   | :broken_heart: |  mvninstall  |   2m 55s |  root in the patch failed.  |
   | :broken_heart: |  compile  |   0m 52s |  hbase-server in the patch failed. 
 |
   | :broken_heart: |  cc  |   0m 52s |  hbase-server in the patch failed.  |
   | :broken_heart: |  javac  |   0m 52s |  hbase-server in the patch failed.  |
   | :broken_heart: |  checkstyle  |   0m 34s |  hbase-client: The patch 
generated 18 new + 162 unchanged - 0 fixed = 180 total (was 162)  |
   | :broken_heart: |  checkstyle  |   1m 30s |  hbase-server: The patch 
generated 26 new + 159 unchanged - 0 fixed = 185 total (was 159)  |
   | :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | :broken_heart: |  shadedjars  |   3m 48s |  patch has 98 errors when 
building our shaded downstream artifacts.  |
   | :broken_heart: |  hadoopcheck  |   2m  9s |  The patch causes 98 errors 
with Hadoop v2.8.5.  |
   | :broken_heart: |  hadoopcheck  |   4m 21s |  The patch causes 98 errors 
with Hadoop v2.9.2.  |
   | :broken_heart: |  hadoopcheck  |   6m 39s |  The patch causes 98 errors 
with Hadoop v3.1.2.  |
   | :broken_heart: |  hbaseprotoc  |   0m 44s |  hbase-server in the patch 
failed.  |
   | :broken_heart: |  javadoc  |   0m 33s |  hbase-server generated 1 new + 0 
unchanged - 0 fixed = 1 total (was 0)  |
   | :broken_heart: |  findbugs  |   0m 52s |  hbase-server in the patch 
failed.  |
   ||| _ Other Tests _ |
   | :green_heart: |  unit  |   0m 41s |  hbase-protocol-shaded in the patch 
passed.  |
   | :green_heart: |  unit  |   1m 45s |  hbase-client in the patch passed.  |
   | :broken_heart: |  unit  |   0m 54s |  hbase-server in the patch failed.  |
   | :green_heart: |  unit  |   2m 58s |  hbase-thrift in the patch passed.  |
   | :green_heart: |  asflicense  |   0m 36s |  The patch does not generate ASF 
License warnings.  |
   |  |   |  67m 49s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-587/1/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/587 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile cc hbaseprotoc prototool |
   | uname | Linux 193954262fc9 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 
16:55:30 UTC 2019 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-587/out/precommit/personality/provided.sh
 |
   | git revision | HBASE-22514 / 855c0922f8 |
   | Default Java | 1.8.0_181 |
   | mvninstall | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-587/1/artifact/out/patch-mvninstall-root.txt
 |
   | compile | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-587/1/artifact/out/patch-compile-hbase-server.txt
 |
   | cc | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-587/1/artifact/out/patch-compile-hbase-server.txt
 |
   | javac | 

[jira] [Commented] (HBASE-22649) FileNotFoundException shown in UI when tried to access HFILE URL of a column family name have special char (e.g #)

2019-09-05 Thread HBase QA (Jira)


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

HBase QA commented on HBASE-22649:
--

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  1m 
34s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:orange}-0{color} | {color:orange} test4tests {color} | {color:orange}  
0m  0s{color} | {color:orange} The patch doesn't appear to include any new or 
modified tests. Please justify why no new tests are needed for this patch. Also 
please list what manual steps were performed to verify this patch. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  5m 
 6s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
55s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
14s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
30s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  3m 
33s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
29s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
58s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  0m 
54s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  0m 
54s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
 8s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
37s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
16m 23s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.8.5 2.9.2 or 3.1.2. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  3m 
58s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
34s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} unit {color} | {color:red}296m 29s{color} 
| {color:red} hbase-server in the patch failed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
33s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}352m 41s{color} | 
{color:black} {color} |
\\
\\
|| Reason || Tests ||
| Failed junit tests | hadoop.hbase.master.TestMasterShutdown |
|   | hadoop.hbase.client.TestFromClientSide |
|   | hadoop.hbase.client.TestAdmin1 |
|   | hadoop.hbase.security.access.TestSnapshotScannerHDFSAclController |
|   | hadoop.hbase.client.TestAsyncRegionAdminApi2 |
|   | hadoop.hbase.client.TestSnapshotTemporaryDirectoryWithRegionReplicas |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/PreCommit-HBASE-Build/864/artifact/patchprocess/Dockerfile
 |
| JIRA Issue | HBASE-22649 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12979519/HBASE-22649_002.patch 
|
| Optional Tests |  dupname  asflicense  javac  javadoc  unit  findbugs  
shadedjars  hadoopcheck  hbaseanti  checkstyle  compile  |
| uname | Linux bc83c394bc63 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 
16:55:30 UTC 2019 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/hbase-personality.sh |
| git revision | master / 0d338a1820 |
| maven | version: Apache Maven 3.5.4 

[GitHub] [hbase] sunhelly commented on issue #588: HBASE-22932 Add rs group management methods in Admin and AsyncAdmin

2019-09-05 Thread GitBox
sunhelly commented on issue #588: HBASE-22932 Add rs group management methods 
in Admin and AsyncAdmin
URL: https://github.com/apache/hbase/pull/588#issuecomment-528337113
 
 
   Not completed.
   Hasn't change UTs, and plan to add 
   
   > rpc GetRSGroupInfoOfTable(GetRSGroupInfoOfTableRequest)
   > returns (GetRSGroupInfoOfTableResponse);
   
   and a method setRSGroup(TableName tableName).
   
   Pushed here for some suggestions.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] sunhelly closed pull request #587: HBASE-22932 Add rs group management methods in Admin and AsyncAdmin

2019-09-05 Thread GitBox
sunhelly closed pull request #587: HBASE-22932 Add rs group management methods 
in Admin and AsyncAdmin
URL: https://github.com/apache/hbase/pull/587
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] sunhelly opened a new pull request #588: HBASE-22932 Add rs group management methods in Admin and AsyncAdmin

2019-09-05 Thread GitBox
sunhelly opened a new pull request #588: HBASE-22932 Add rs group management 
methods in Admin and AsyncAdmin
URL: https://github.com/apache/hbase/pull/588
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [hbase] Apache-HBase commented on issue #586: HBASE-22975 Add read and write QPS metrics at server level and table level

2019-09-05 Thread GitBox
Apache-HBase commented on issue #586: HBASE-22975 Add read and write QPS 
metrics at server level and table level
URL: https://github.com/apache/hbase/pull/586#issuecomment-528335410
 
 
   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | :blue_heart: |  reexec  |   0m 44s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | :green_heart: |  dupname  |   0m  0s |  No case conflicting files found.  |
   | :green_heart: |  hbaseanti  |   0m  0s |  Patch does not have any 
anti-patterns.  |
   | :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   | :yellow_heart: |  test4tests  |   0m  0s |  The patch doesn't appear to 
include any new or modified tests. Please justify why no new tests are needed 
for this patch. Also please list what manual steps were performed to verify 
this patch.  |
   ||| _ branch-1 Compile Tests _ |
   | :blue_heart: |  mvndep  |   5m 53s |  Maven dependency ordering for branch 
 |
   | :green_heart: |  mvninstall  |   3m 22s |  branch-1 passed  |
   | :green_heart: |  compile  |   1m 11s |  branch-1 passed  |
   | :green_heart: |  checkstyle  |   2m  8s |  branch-1 passed  |
   | :broken_heart: |  shadedjars  |   0m 13s |  branch has 10 errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  javadoc  |   0m 59s |  branch-1 passed  |
   | :blue_heart: |  spotbugs  |   2m  8s |  Used deprecated FindBugs config; 
considering switching to SpotBugs.  |
   | :green_heart: |  findbugs  |   3m  9s |  branch-1 passed  |
   ||| _ Patch Compile Tests _ |
   | :blue_heart: |  mvndep  |   0m 11s |  Maven dependency ordering for patch  
|
   | :green_heart: |  mvninstall  |   1m 54s |  the patch passed  |
   | :green_heart: |  compile  |   1m  9s |  the patch passed  |
   | :green_heart: |  javac  |   1m  9s |  the patch passed  |
   | :broken_heart: |  checkstyle  |   0m 11s |  hbase-hadoop-compat: The patch 
generated 6 new + 0 unchanged - 0 fixed = 6 total (was 0)  |
   | :broken_heart: |  checkstyle  |   0m 13s |  hbase-hadoop2-compat: The 
patch generated 2 new + 1 unchanged - 0 fixed = 3 total (was 1)  |
   | :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | :broken_heart: |  shadedjars  |   0m 12s |  patch has 10 errors when 
building our shaded downstream artifacts.  |
   | :green_heart: |  hadoopcheck  |   4m 47s |  Patch does not cause any 
errors with Hadoop 2.8.5 2.9.2.  |
   | :green_heart: |  javadoc  |   0m 58s |  the patch passed  |
   | :broken_heart: |  findbugs  |   0m 36s |  hbase-hadoop2-compat generated 1 
new + 0 unchanged - 0 fixed = 1 total (was 0)  |
   ||| _ Other Tests _ |
   | :green_heart: |  unit  |   0m 23s |  hbase-hadoop-compat in the patch 
passed.  |
   | :green_heart: |  unit  |   0m 31s |  hbase-hadoop2-compat in the patch 
passed.  |
   | :broken_heart: |  unit  | 116m 45s |  hbase-server in the patch failed.  |
   | :broken_heart: |  asflicense  |   1m  3s |  The patch generated 2 ASF 
License warnings.  |
   |  |   | 155m  7s |   |
   
   
   | Reason | Tests |
   |---:|:--|
   | FindBugs | module:hbase-hadoop2-compat |
   |  |  Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be 
atomic in 
org.apache.hadoop.hbase.regionserver.MetricsTableQPSImpl.getOrCreateTableMeter(String)
  At MetricsTableQPSImpl.java:may not be atomic in 
org.apache.hadoop.hbase.regionserver.MetricsTableQPSImpl.getOrCreateTableMeter(String)
  At MetricsTableQPSImpl.java:[line 60] |
   | Failed junit tests | 
hadoop.hbase.regionserver.TestCompactionWithCoprocessor |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | Client=19.03.1 Server=19.03.1 base: 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/1/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/586 |
   | Optional Tests | dupname asflicense javac javadoc unit spotbugs findbugs 
shadedjars hadoopcheck hbaseanti checkstyle compile |
   | uname | Linux e0a56bcbf623 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 
11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | 
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-586/out/precommit/personality/provided.sh
 |
   | git revision | branch-1 / 157ffae |
   | Default Java | 1.8.0_222 |
   | shadedjars | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/1/artifact/out/branch-shadedjars.txt
 |
   | checkstyle | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/1/artifact/out/diff-checkstyle-hbase-hadoop-compat.txt
 |
   | checkstyle | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/1/artifact/out/diff-checkstyle-hbase-hadoop2-compat.txt
 |
   | shadedjars | 
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-586/1/artifact/out/patch-shadedjars.txt
 |
   | 

[GitHub] [hbase] sunhelly opened a new pull request #587: HBASE-22932 Add rs group management methods in Admin and AsyncAdmin

2019-09-05 Thread GitBox
sunhelly opened a new pull request #587: HBASE-22932 Add rs group management 
methods in Admin and AsyncAdmin
URL: https://github.com/apache/hbase/pull/587
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Commented] (HBASE-22912) [Backport] HBASE-22867 to branch-1 to avoid ForkJoinPool to spawn thousands of threads

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22912:


Results for branch branch-1.4
[build #997 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/997/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/997//General_Nightly_Build_Report/]


(x) {color:red}-1 jdk7 checks{color}
-- For more information [see jdk7 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/997//JDK7_Nightly_Build_Report/]


(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/997//JDK8_Nightly_Build_Report_(Hadoop2)/]




(/) {color:green}+1 source release artifact{color}
-- See build output for details.


> [Backport] HBASE-22867 to branch-1 to avoid ForkJoinPool to spawn thousands 
> of threads
> --
>
> Key: HBASE-22912
> URL: https://issues.apache.org/jira/browse/HBASE-22912
> Project: HBase
>  Issue Type: Improvement
>Reporter: Reid Chan
>Assignee: Zheng Hu
>Priority: Major
> Fix For: 1.5.0, 1.4.11
>
>




--
This message was sent by Atlassian Jira
(v8.3.2#803003)


[jira] [Commented] (HBASE-22867) The ForkJoinPool in CleanerChore will spawn thousands of threads in our cluster with thousands table

2019-09-05 Thread Hudson (Jira)


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

Hudson commented on HBASE-22867:


Results for branch branch-1.4
[build #997 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/997/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/997//General_Nightly_Build_Report/]


(x) {color:red}-1 jdk7 checks{color}
-- For more information [see jdk7 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/997//JDK7_Nightly_Build_Report/]


(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/997//JDK8_Nightly_Build_Report_(Hadoop2)/]




(/) {color:green}+1 source release artifact{color}
-- See build output for details.


> The ForkJoinPool in CleanerChore will spawn thousands of threads in our 
> cluster with thousands table
> 
>
> Key: HBASE-22867
> URL: https://issues.apache.org/jira/browse/HBASE-22867
> Project: HBase
>  Issue Type: Bug
>  Components: master
>Reporter: Zheng Hu
>Assignee: Zheng Hu
>Priority: Critical
> Fix For: 3.0.0, 2.3.0, 2.2.1, 2.1.6
>
> Attachments: 191318.stack, 191318.stack.1, 31162.stack.1
>
>
> The thousands of spawned  threads make the safepoint cost 80+s in our Master 
> JVM processs.
> {code}
> 2019-08-15,19:35:35,861 INFO [main-SendThread(zjy-hadoop-prc-zk02.bj:11000)] 
> org.apache.zookeeper.ClientCnxn: Client session timed out, have not heard 
> from server in 82260ms for sessionid 0x1691332e2d3aae5, closing socket 
> connection and at
> tempting reconnect
> {code}
> The stdout from JVM (can see from here there're 9126 threads & sync cost 80+s)
> {code}
> vmop[threads: total initially_running wait_to_block]
> [time: spin block sync cleanup vmop] page_trap_count
> 32358.859: ForceAsyncSafepoint  [9126 67
> 474]  [ 128 8659687   101]  0
> {code}
> Also we got the jstack: 
> {code}
> $ cat 31162.stack.1  | grep 'ForkJoinPool-1-worker' | wc -l
> 8648
> {code}
> It's a dangerous bug, make it as blocker.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)


  1   2   >