[GitHub] [hbase] Apache-HBase commented on pull request #3362: HBASE-22708 Remove the deprecated methods in Hbck interface

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3362:
URL: https://github.com/apache/hbase/pull/3362#issuecomment-855678626


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   0m 27s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files 
found.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  Patch does not have any 
anti-patterns.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   ||| _ master Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 23s |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   3m 51s |  master passed  |
   | +1 :green_heart: |  compile  |   4m 11s |  master passed  |
   | +1 :green_heart: |  checkstyle  |   1m 30s |  master passed  |
   | +1 :green_heart: |  spotbugs  |   3m  3s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 13s |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   3m 36s |  the patch passed  |
   | +1 :green_heart: |  compile  |   4m  4s |  the patch passed  |
   | +1 :green_heart: |  javac  |   4m  4s |  the patch passed  |
   | +1 :green_heart: |  checkstyle  |   1m 29s |  the patch passed  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | +1 :green_heart: |  hadoopcheck  |  18m 14s |  Patch does not cause any 
errors with Hadoop 3.1.2 3.2.1 3.3.0.  |
   | +1 :green_heart: |  spotbugs  |   3m 22s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 27s |  The patch does not generate 
ASF License warnings.  |
   |  |   |  52m 59s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3362/2/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3362 |
   | Optional Tests | dupname asflicense javac spotbugs hadoopcheck hbaseanti 
checkstyle compile |
   | uname | Linux aedf5aa18fd9 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 | dev-support/hbase-personality.sh |
   | git revision | master / 456c7f964a |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   | Max. process+thread count | 96 (vs. ulimit of 3) |
   | modules | C: hbase-client hbase-server U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3362/2/console
 |
   | versions | git=2.17.1 maven=3.6.3 spotbugs=4.2.2 |
   | Powered by | Apache Yetus 0.12.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




[GitHub] [hbase] Apache-HBase commented on pull request #3321: HBASE-25914 Provide slow/large logs on RegionServer UI

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3321:
URL: https://github.com/apache/hbase/pull/3321#issuecomment-855742462


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   0m 33s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  6s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 18s |  branch-2 passed  |
   | +1 :green_heart: |  javadoc  |   0m 42s |  branch-2 passed  |
   | -0 :warning: |  patch  |   5m 14s |  Used diff version of patch file. 
Binary files and potentially other changes not applied. Please rebase and 
squash commits if necessary.  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 58s |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   0m 40s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  | 134m 18s |  hbase-server in the patch passed.  
|
   |  |   | 146m 52s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3321 |
   | Optional Tests | javac javadoc unit |
   | uname | Linux ef6ddc2b3cd7 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 | dev-support/hbase-personality.sh |
   | git revision | branch-2 / e4dd4901a8 |
   | Default Java | AdoptOpenJDK-11.0.10+9 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/3/testReport/
 |
   | Max. process+thread count | 3963 (vs. ulimit of 12500) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/3/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[GitHub] [hbase] Apache-HBase commented on pull request #3317: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3317:
URL: https://github.com/apache/hbase/pull/3317#issuecomment-855755958


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   2m 21s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  3s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 29s |  master passed  |
   | +1 :green_heart: |  compile  |   2m 57s |  master passed  |
   | +1 :green_heart: |  shadedjars  |   8m  7s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 54s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 14s |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 58s |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 58s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   8m 14s |  patch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 41s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  | 188m  6s |  root in the patch passed.  |
   |  |   | 230m 31s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/2/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3317 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux 1355e9ea37d0 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 
17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 456c7f964a |
   | Default Java | AdoptOpenJDK-11.0.10+9 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/2/testReport/
 |
   | Max. process+thread count | 6399 (vs. ulimit of 3) |
   | modules | C: . U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/2/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[jira] [Commented] (HBASE-25963) HBaseCluster should be marked as IA.Public

2021-06-07 Thread Hudson (Jira)


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

Hudson commented on HBASE-25963:


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

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/branch-2.3/232/General_20Nightly_20Build_20Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/branch-2.3/232/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/branch-2.3/232/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(x) {color:red}-1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/branch-2.3/232/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(x) {color:red}-1 source release artifact{color}
-- See build output for details.


(x) {color:red}-1 client integration test{color}
-- Something went wrong with this stage, [check relevant console 
output|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/branch-2.3/232//console].


> HBaseCluster should be marked as IA.Public
> --
>
> Key: HBASE-25963
> URL: https://issues.apache.org/jira/browse/HBASE-25963
> Project: HBase
>  Issue Type: Sub-task
>  Components: API
>Reporter: Duo Zhang
>Assignee: Duo Zhang
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.3.6, 2.4.4
>
>
> Its sub class MiniHBaseCluster is marked as IA.Public, so it should also be 
> IA.Public.
> And in general, HBaseCluster just provides some abstract method so I think it 
> is OK to expose it as IA.Public.
> But for MiniHBaseCluster, it exposes several internal stuff such as 
> RegionServerThread so maybe it should not be marked as IA.Public.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] Apache-HBase commented on pull request #3321: HBASE-25914 Provide slow/large logs on RegionServer UI

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3321:
URL: https://github.com/apache/hbase/pull/3321#issuecomment-855795847


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   1m 12s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  6s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m  3s |  branch-2 passed  |
   | +1 :green_heart: |  javadoc  |   0m 37s |  branch-2 passed  |
   | -0 :warning: |  patch  |   4m 51s |  Used diff version of patch file. 
Binary files and potentially other changes not applied. Please rebase and 
squash commits if necessary.  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 43s |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   0m 36s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  | 208m 31s |  hbase-server in the patch passed.  
|
   |  |   | 220m 39s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/3/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3321 |
   | Optional Tests | javac javadoc unit |
   | uname | Linux 0aa207343dc6 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 
05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2 / e4dd4901a8 |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/3/testReport/
 |
   | Max. process+thread count | 2743 (vs. ulimit of 12500) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/3/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[GitHub] [hbase] Apache-HBase commented on pull request #3321: HBASE-25914 Provide slow/large logs on RegionServer UI

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3321:
URL: https://github.com/apache/hbase/pull/3321#issuecomment-855804302


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   1m  4s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files 
found.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   ||| _ branch-2 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 38s |  branch-2 passed  |
   | -0 :warning: |  patch  |   4m  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 _ |
   | +1 :green_heart: |  mvninstall  |   3m 38s |  the patch passed  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 11s |  The patch does not generate 
ASF License warnings.  |
   |  |   |  10m 12s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/4/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3321 |
   | Optional Tests | dupname asflicense javac |
   | uname | Linux 418da6722414 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 
05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2 / e4dd4901a8 |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   | Max. process+thread count | 65 (vs. ulimit of 12500) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/4/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[GitHub] [hbase] Apache-HBase commented on pull request #3362: HBASE-22708 Remove the deprecated methods in Hbck interface

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3362:
URL: https://github.com/apache/hbase/pull/3362#issuecomment-855823793


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   1m 11s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  3s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ master Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 20s |  Maven dependency ordering for branch  |
   | +1 :green_heart: |  mvninstall  |   4m 13s |  master passed  |
   | +1 :green_heart: |  compile  |   1m 27s |  master passed  |
   | +1 :green_heart: |  shadedjars  |   8m 57s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   0m 58s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 14s |  Maven dependency ordering for patch  |
   | +1 :green_heart: |  mvninstall  |   4m  4s |  the patch passed  |
   | +1 :green_heart: |  compile  |   1m 29s |  the patch passed  |
   | +1 :green_heart: |  javac  |   1m 29s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   9m  0s |  patch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   0m 58s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   1m 29s |  hbase-client in the patch passed.  
|
   | +1 :green_heart: |  unit  | 210m 30s |  hbase-server in the patch passed.  
|
   |  |   | 246m 55s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3362/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3362 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux 0a81736ae05d 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 
05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 456c7f964a |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3362/2/testReport/
 |
   | Max. process+thread count | 2797 (vs. ulimit of 3) |
   | modules | C: hbase-client hbase-server U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3362/2/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[GitHub] [hbase] Apache-HBase commented on pull request #3317: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3317:
URL: https://github.com/apache/hbase/pull/3317#issuecomment-855862702


   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   0m 31s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  3s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 14s |  master passed  |
   | +1 :green_heart: |  compile  |   2m 42s |  master passed  |
   | +1 :green_heart: |  shadedjars  |   8m 32s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 20s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 44s |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 38s |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 38s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   8m 37s |  patch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 20s |  the patch passed  |
   ||| _ Other Tests _ |
   | -1 :x: |  unit  | 358m  1s |  root in the patch failed.  |
   |  |   | 396m 10s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/2/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3317 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux 1a26234eaa71 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 
23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 456c7f964a |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   | unit | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/2/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-root.txt
 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/2/testReport/
 |
   | Max. process+thread count | 5606 (vs. ulimit of 3) |
   | modules | C: . U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/2/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[jira] [Commented] (HBASE-13126) Provide alternate mini cluster classes other than HBTU for downstream users to write unit tests

2021-06-07 Thread Sean Busbey (Jira)


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

Sean Busbey commented on HBASE-13126:
-

Yeah that sounds good.

> Provide alternate mini cluster classes other than HBTU for downstream users 
> to write unit tests
> ---
>
> Key: HBASE-13126
> URL: https://issues.apache.org/jira/browse/HBASE-13126
> Project: HBase
>  Issue Type: Umbrella
>  Components: API
>Affects Versions: 2.0.0
>Reporter: Sean Busbey
>Priority: Critical
> Fix For: 3.0.0-alpha-2
>
>
> Over in the review for HBASE-12972, [~enis] mentioned that one of the HBTU 
> methods wasn't intended for public consumption.
> Can we build a list of such methods across the API, appropriately annotate 
> them for 2.0, and deprecate them in earlier versions with a warning that 
> they're going to be restricted?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] Apache-HBase commented on pull request #3321: HBASE-25914 Provide slow/large logs on RegionServer UI

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3321:
URL: https://github.com/apache/hbase/pull/3321#issuecomment-855887742


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   0m 31s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  6s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 19s |  branch-2 passed  |
   | +1 :green_heart: |  javadoc  |   0m 43s |  branch-2 passed  |
   | -0 :warning: |  patch  |   5m 16s |  Used diff version of patch file. 
Binary files and potentially other changes not applied. Please rebase and 
squash commits if necessary.  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 58s |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   0m 40s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  | 133m 36s |  hbase-server in the patch passed.  
|
   |  |   | 146m 10s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/4/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3321 |
   | Optional Tests | javac javadoc unit |
   | uname | Linux e6688fd02684 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 | dev-support/hbase-personality.sh |
   | git revision | branch-2 / e4dd4901a8 |
   | Default Java | AdoptOpenJDK-11.0.10+9 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/4/testReport/
 |
   | Max. process+thread count | 4036 (vs. ulimit of 12500) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/4/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[GitHub] [hbase-filesystem] steveloughran opened a new pull request #23: HBASE-25900. HBoss tests compile/failure against Hadoop 3.3.1

2021-06-07 Thread GitBox


steveloughran opened a new pull request #23:
URL: https://github.com/apache/hbase-filesystem/pull/23


   
   Fixes the build to
   
   * optionally look in the ASF snapshots and staging repos
   * build with hadoop-3.3.1
   * tests to work with hadoop-3.3.1
   * assertJ added to the classpath (something is odd with hadoop-common-test 
here; seen elsewhere. Will need to revisit).
   
   This fixes the s3 client factory to use the new parameter object to 
configure the client. This will allow the hadoop code to add new options (it 
already has related to regions), without HBoss builds failing. We've also 
tagged the API as limited private and mentioned HBoss as users of it, so future 
maintainers will know to be careful.


-- 
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




[GitHub] [hbase-filesystem] steveloughran commented on pull request #23: HBASE-25900. HBoss tests compile/failure against Hadoop 3.3.1

2021-06-07 Thread GitBox


steveloughran commented on pull request #23:
URL: https://github.com/apache/hbase-filesystem/pull/23#issuecomment-855897275


   Note: this PR fixes things to build, but only against 3.3.1, which is an RC. 
So: not ready for merge. And it doesn't have a story for the fact the changes 
won't build on hadoop < 3.3.1.
   
   Really 
   1. there will need to be separate source branches for the mock clients; the 
rest of the test suite can be shared. 
   2. changes in the s3a semantics related to rename() mean that there'll need 
to be a different s3a.xml too
   
   


-- 
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




[GitHub] [hbase] Apache-HBase commented on pull request #3317: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3317:
URL: https://github.com/apache/hbase/pull/3317#issuecomment-855937680


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   1m 12s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files 
found.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   ||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 59s |  master passed  |
   | +1 :green_heart: |  compile  |   8m 44s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m  1s |  the patch passed  |
   | +1 :green_heart: |  compile  |   8m 37s |  the patch passed  |
   | -0 :warning: |  javac  |   8m 37s |  root generated 1 new + 1547 unchanged 
- 1 fixed = 1548 total (was 1548)  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | +1 :green_heart: |  xml  |   0m  1s |  The patch has no ill-formed XML 
file.  |
   | +1 :green_heart: |  hadoopcheck  |  20m  4s |  Patch does not cause any 
errors with Hadoop 3.1.2 3.2.1 3.3.0.  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 13s |  The patch does not generate 
ASF License warnings.  |
   |  |   |  54m 55s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/3/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3317 |
   | Optional Tests | dupname asflicense javac hadoopcheck xml compile |
   | uname | Linux e74db3dbea1a 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 
05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 456c7f964a |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   | javac | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/3/artifact/yetus-general-check/output/diff-compile-javac-root.txt
 |
   | Max. process+thread count | 126 (vs. ulimit of 3) |
   | modules | C: . U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/3/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[jira] [Commented] (HBASE-25963) HBaseCluster should be marked as IA.Public

2021-06-07 Thread Hudson (Jira)


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

Hudson commented on HBASE-25963:


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

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/master/317/General_20Nightly_20Build_20Report/]






(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/master/317/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/master/317/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]


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


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


> HBaseCluster should be marked as IA.Public
> --
>
> Key: HBASE-25963
> URL: https://issues.apache.org/jira/browse/HBASE-25963
> Project: HBase
>  Issue Type: Sub-task
>  Components: API
>Reporter: Duo Zhang
>Assignee: Duo Zhang
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.3.6, 2.4.4
>
>
> Its sub class MiniHBaseCluster is marked as IA.Public, so it should also be 
> IA.Public.
> And in general, HBaseCluster just provides some abstract method so I think it 
> is OK to expose it as IA.Public.
> But for MiniHBaseCluster, it exposes several internal stuff such as 
> RegionServerThread so maybe it should not be marked as IA.Public.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25977) Remove 2.2.7 from download page

2021-06-07 Thread Hudson (Jira)


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

Hudson commented on HBASE-25977:


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

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/master/317/General_20Nightly_20Build_20Report/]






(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/master/317/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/master/317/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]


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


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


> Remove 2.2.7 from download page
> ---
>
> Key: HBASE-25977
> URL: https://issues.apache.org/jira/browse/HBASE-25977
> Project: HBase
>  Issue Type: Sub-task
>  Components: website
>Reporter: Duo Zhang
>Assignee: Zhuoyue Huang
>Priority: Major
> Fix For: 3.0.0-alpha-1
>
>
> I think it is time to do this.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] Apache-HBase commented on pull request #3321: HBASE-25914 Provide slow/large logs on RegionServer UI

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3321:
URL: https://github.com/apache/hbase/pull/3321#issuecomment-855948130


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   1m 12s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  7s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 55s |  branch-2 passed  |
   | +1 :green_heart: |  javadoc  |   0m 36s |  branch-2 passed  |
   | -0 :warning: |  patch  |   4m 42s |  Used diff version of patch file. 
Binary files and potentially other changes not applied. Please rebase and 
squash commits if necessary.  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 43s |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   0m 34s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  | 209m 38s |  hbase-server in the patch passed.  
|
   |  |   | 221m 41s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/4/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3321 |
   | Optional Tests | javac javadoc unit |
   | uname | Linux c407097296d7 4.15.0-128-generic #131-Ubuntu SMP Wed Dec 9 
06:57:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2 / e4dd4901a8 |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/4/testReport/
 |
   | Max. process+thread count | 2336 (vs. ulimit of 12500) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3321/4/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[jira] [Assigned] (HBASE-25973) Balancer should explain progress in a better way in log

2021-06-07 Thread Sean Busbey (Jira)


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

Sean Busbey reassigned HBASE-25973:
---

Assignee: Clara Xiong

> Balancer should explain progress in a better way in log
> ---
>
> Key: HBASE-25973
> URL: https://issues.apache.org/jira/browse/HBASE-25973
> Project: HBase
>  Issue Type: Bug
>  Components: Balancer
>Affects Versions: 3.0.0-alpha-1
>Reporter: Clara Xiong
>Assignee: Clara Xiong
>Priority: Major
>
> In the log, balancer logs at info level at the beginning of run:
>  
> balancer.StochasticLoadBalancer: start StochasticLoadBalancer.balancer, 
> initCost=277.3479243125063, functionCost=RegionCountSkewCostFunction : 
> (500.0, 0.3749771215224234); ServerLocalityCostFunction : (25.0, 
> 0.5807483226644186); RackLocalityCostFunction : (15.0, 0.0); 
> TableSkewCostFunction : (1000.0, 0.0019704142954972883); 
> StoreFileCostFunction : (200.0, 0.3668512059459341);  computedMaxSteps: 
> 42270438200
> the cost is reported without context, it is hard for operator to understand 
> how unbalanced the cluster is for balancer and how much progress we are 
> making.
> For a large cluster, the calculation can take a long time, we also need to 
> let operator understand that it will take up to the max time to complete the 
> calculation. 
> At the end of computation:
> balancer.StochasticLoadBalancer: Finished computing new load balance plan. 
> Computation took PT40M0.006S to try 1036409 different iterations. Found a 
> solution that moves 161926 regions; Going from a computed cost of 
> 118.75715593924485 to a new cost of 1.5509126920967042
> The time to compute the plan is also printed in a  format that is not human 
> readable. we also need to let operator understand that balancer is just 
> submitting the plan and it be up to execution to complete the move.  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25973) Balancer should explain progress in a better way in log

2021-06-07 Thread Sean Busbey (Jira)


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

Sean Busbey updated HBASE-25973:

Status: Patch Available  (was: Open)

> Balancer should explain progress in a better way in log
> ---
>
> Key: HBASE-25973
> URL: https://issues.apache.org/jira/browse/HBASE-25973
> Project: HBase
>  Issue Type: Bug
>  Components: Balancer
>Affects Versions: 3.0.0-alpha-1
>Reporter: Clara Xiong
>Assignee: Clara Xiong
>Priority: Major
>
> In the log, balancer logs at info level at the beginning of run:
>  
> balancer.StochasticLoadBalancer: start StochasticLoadBalancer.balancer, 
> initCost=277.3479243125063, functionCost=RegionCountSkewCostFunction : 
> (500.0, 0.3749771215224234); ServerLocalityCostFunction : (25.0, 
> 0.5807483226644186); RackLocalityCostFunction : (15.0, 0.0); 
> TableSkewCostFunction : (1000.0, 0.0019704142954972883); 
> StoreFileCostFunction : (200.0, 0.3668512059459341);  computedMaxSteps: 
> 42270438200
> the cost is reported without context, it is hard for operator to understand 
> how unbalanced the cluster is for balancer and how much progress we are 
> making.
> For a large cluster, the calculation can take a long time, we also need to 
> let operator understand that it will take up to the max time to complete the 
> calculation. 
> At the end of computation:
> balancer.StochasticLoadBalancer: Finished computing new load balance plan. 
> Computation took PT40M0.006S to try 1036409 different iterations. Found a 
> solution that moves 161926 regions; Going from a computed cost of 
> 118.75715593924485 to a new cost of 1.5509126920967042
> The time to compute the plan is also printed in a  format that is not human 
> readable. we also need to let operator understand that balancer is just 
> submitting the plan and it be up to execution to complete the move.  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25973) Balancer should explain progress in a better way in log

2021-06-07 Thread Sean Busbey (Jira)


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

Sean Busbey updated HBASE-25973:

Description: 
In the log, balancer logs at info level at the beginning of run:

 {code}
balancer.StochasticLoadBalancer: start StochasticLoadBalancer.balancer, 
initCost=277.3479243125063, functionCost=RegionCountSkewCostFunction : (500.0, 
0.3749771215224234); ServerLocalityCostFunction : (25.0, 0.5807483226644186); 
RackLocalityCostFunction : (15.0, 0.0); TableSkewCostFunction : (1000.0, 
0.0019704142954972883); StoreFileCostFunction : (200.0, 0.3668512059459341);  
computedMaxSteps: 42270438200
{code}
the cost is reported without context, it is hard for operator to understand how 
unbalanced the cluster is for balancer and how much progress we are making.

For a large cluster, the calculation can take a long time, we also need to let 
operator understand that it will take up to the max time to complete the 
calculation. 

At the end of computation:
{code}
balancer.StochasticLoadBalancer: Finished computing new load balance plan. 
Computation took PT40M0.006S to try 1036409 different iterations. Found a 
solution that moves 161926 regions; Going from a computed cost of 
118.75715593924485 to a new cost of 1.5509126920967042
{code}
The time to compute the plan is also printed in a  format that is not human 
readable. we also need to let operator understand that balancer is just 
submitting the plan and it be up to execution to complete the move.  

 

  was:
In the log, balancer logs at info level at the beginning of run:

 
balancer.StochasticLoadBalancer: start StochasticLoadBalancer.balancer, 
initCost=277.3479243125063, functionCost=RegionCountSkewCostFunction : (500.0, 
0.3749771215224234); ServerLocalityCostFunction : (25.0, 0.5807483226644186); 
RackLocalityCostFunction : (15.0, 0.0); TableSkewCostFunction : (1000.0, 
0.0019704142954972883); StoreFileCostFunction : (200.0, 0.3668512059459341);  
computedMaxSteps: 42270438200
the cost is reported without context, it is hard for operator to understand how 
unbalanced the cluster is for balancer and how much progress we are making.

For a large cluster, the calculation can take a long time, we also need to let 
operator understand that it will take up to the max time to complete the 
calculation. 

At the end of computation:

balancer.StochasticLoadBalancer: Finished computing new load balance plan. 
Computation took PT40M0.006S to try 1036409 different iterations. Found a 
solution that moves 161926 regions; Going from a computed cost of 
118.75715593924485 to a new cost of 1.5509126920967042

The time to compute the plan is also printed in a  format that is not human 
readable. we also need to let operator understand that balancer is just 
submitting the plan and it be up to execution to complete the move.  

 


> Balancer should explain progress in a better way in log
> ---
>
> Key: HBASE-25973
> URL: https://issues.apache.org/jira/browse/HBASE-25973
> Project: HBase
>  Issue Type: Bug
>  Components: Balancer
>Affects Versions: 3.0.0-alpha-1
>Reporter: Clara Xiong
>Assignee: Clara Xiong
>Priority: Major
>
> In the log, balancer logs at info level at the beginning of run:
>  {code}
> balancer.StochasticLoadBalancer: start StochasticLoadBalancer.balancer, 
> initCost=277.3479243125063, functionCost=RegionCountSkewCostFunction : 
> (500.0, 0.3749771215224234); ServerLocalityCostFunction : (25.0, 
> 0.5807483226644186); RackLocalityCostFunction : (15.0, 0.0); 
> TableSkewCostFunction : (1000.0, 0.0019704142954972883); 
> StoreFileCostFunction : (200.0, 0.3668512059459341);  computedMaxSteps: 
> 42270438200
> {code}
> the cost is reported without context, it is hard for operator to understand 
> how unbalanced the cluster is for balancer and how much progress we are 
> making.
> For a large cluster, the calculation can take a long time, we also need to 
> let operator understand that it will take up to the max time to complete the 
> calculation. 
> At the end of computation:
> {code}
> balancer.StochasticLoadBalancer: Finished computing new load balance plan. 
> Computation took PT40M0.006S to try 1036409 different iterations. Found a 
> solution that moves 161926 regions; Going from a computed cost of 
> 118.75715593924485 to a new cost of 1.5509126920967042
> {code}
> The time to compute the plan is also printed in a  format that is not human 
> readable. we also need to let operator understand that balancer is just 
> submitting the plan and it be up to execution to complete the move.  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] busbey commented on a change in pull request #3356: HBASE-25973 Balancer should explain progress in a better way in log

2021-06-07 Thread GitBox


busbey commented on a change in pull request #3356:
URL: https://github.com/apache/hbase/pull/3356#discussion_r646624197



##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -343,15 +343,15 @@ boolean needsBalance(TableName tableName, 
BalancerClusterState cluster) {
   sendRejectionReasonToRingBuffer(() -> getBalanceReason(calculatedTotal, 
calculatedMultiplier),
 costFunctions);
 }
-if (LOG.isDebugEnabled()) {
-  LOG.debug("{} {}; total cost={}, sum multiplier={}; cost/multiplier to 
need a balance is {}",
-  balanced ? "Skipping load balancing because balanced" : "We need to 
load balance",
-  isByTable ? String.format("table (%s)", tableName) : "cluster",
-  total, sumMultiplier, minCostNeedBalance);
-  if (LOG.isTraceEnabled()) {
-LOG.trace("Balance decision detailed function costs={}", 
functionCost());
-  }
+LOG.info("{} {}; total cost={}, sum multiplier={}; cost/multiplier to need 
a balance is {}",
+  balanced ? "Skipping load balancing because balanced" :
+"Start calculating moving plan without logging info for up to {} secs",

Review comment:
   This is a potential value to fill into a parameter in the first string 
given to `LOG.info`, does having a parameter to expand in here work?
   
   maybe a comment on this PR with some examples of the log messages we end up 
with post-patch would help?

##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -343,15 +343,15 @@ boolean needsBalance(TableName tableName, 
BalancerClusterState cluster) {
   sendRejectionReasonToRingBuffer(() -> getBalanceReason(calculatedTotal, 
calculatedMultiplier),
 costFunctions);
 }
-if (LOG.isDebugEnabled()) {
-  LOG.debug("{} {}; total cost={}, sum multiplier={}; cost/multiplier to 
need a balance is {}",
-  balanced ? "Skipping load balancing because balanced" : "We need to 
load balance",
-  isByTable ? String.format("table (%s)", tableName) : "cluster",
-  total, sumMultiplier, minCostNeedBalance);
-  if (LOG.isTraceEnabled()) {
-LOG.trace("Balance decision detailed function costs={}", 
functionCost());
-  }
+LOG.info("{} {}; total cost={}, sum multiplier={}; cost/multiplier to need 
a balance is {}",

Review comment:
   What's the rationale for moving this from debug logging to info logging?

##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -343,15 +343,15 @@ boolean needsBalance(TableName tableName, 
BalancerClusterState cluster) {
   sendRejectionReasonToRingBuffer(() -> getBalanceReason(calculatedTotal, 
calculatedMultiplier),
 costFunctions);
 }
-if (LOG.isDebugEnabled()) {
-  LOG.debug("{} {}; total cost={}, sum multiplier={}; cost/multiplier to 
need a balance is {}",
-  balanced ? "Skipping load balancing because balanced" : "We need to 
load balance",
-  isByTable ? String.format("table (%s)", tableName) : "cluster",
-  total, sumMultiplier, minCostNeedBalance);
-  if (LOG.isTraceEnabled()) {
-LOG.trace("Balance decision detailed function costs={}", 
functionCost());
-  }
+LOG.info("{} {}; total cost={}, sum multiplier={}; cost/multiplier to need 
a balance is {}",
+  balanced ? "Skipping load balancing because balanced" :

Review comment:
   you mean beyond the given cost, multiplier, and needed threshold? you 
thinking of the individual cost functions?

##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -470,17 +470,17 @@ private long calculateMaxSteps(BalancerClusterState 
cluster) {
 updateStochasticCosts(tableName, curOverallCost, curFunctionCosts);
 if (initCost > currentCost) {
   List plans = createRegionPlans(cluster);
-  LOG.info("Finished computing new load balance plan. Computation took {}" 
+
-" to try {} different iterations.  Found a solution that moves " +
-"{} regions; Going from a computed cost of {}" +
-" to a new cost of {}", java.time.Duration.ofMillis(endTime - 
startTime),
-step, plans.size(), initCost, currentCost);
+  LOG.info("Finished computing new load balance plan. Computation took {} 
ms" +
+  " to try {} different iterations.  Found a solution that moves " +
+  "{} regions; Going from a computed cost of {}" +
+  " to a new cost of {}. Move plan to be submitted to master to 
execute",

Review comment:
   It's not accurate to say we're executing the plan at this point though.
   
   What ware we trying to convey with this addition? From the issue description 
I think it's that the act of selecting a plan for the cluster does not mean 
we've execu

[GitHub] [hbase] busbey commented on a change in pull request #3356: HBASE-25973 Balancer should explain progress in a better way in log

2021-06-07 Thread GitBox


busbey commented on a change in pull request #3356:
URL: https://github.com/apache/hbase/pull/3356#discussion_r646628873



##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -470,17 +470,17 @@ private long calculateMaxSteps(BalancerClusterState 
cluster) {
 updateStochasticCosts(tableName, curOverallCost, curFunctionCosts);
 if (initCost > currentCost) {
   List plans = createRegionPlans(cluster);
-  LOG.info("Finished computing new load balance plan. Computation took {}" 
+
-" to try {} different iterations.  Found a solution that moves " +
-"{} regions; Going from a computed cost of {}" +
-" to a new cost of {}", java.time.Duration.ofMillis(endTime - 
startTime),
-step, plans.size(), initCost, currentCost);
+  LOG.info("Finished computing new load balance plan. Computation took {} 
ms" +
+  " to try {} different iterations.  Found a solution that moves " +
+  "{} regions; Going from a computed cost of {}" +
+  " to a new cost of {}. Move plan to be submitted to master to 
execute",

Review comment:
   It's not accurate to say we're executing the plan at this point though.
   
   What are we trying to convey with this addition? From the issue description 
I think it's that the act of selecting a plan for the cluster does not mean 
we've executed that plan. is that correct?




-- 
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




[jira] [Commented] (HBASE-25969) Cleanup netty-all transitive includes

2021-06-07 Thread Michael Stack (Jira)


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

Michael Stack commented on HBASE-25969:
---

bq. We can shade our own usage of netty, but if it is used by hadoop or other 
libs, it is their duty to not introduce netty-all dependencies to downstreamers?

Of course. I'm trying to narrow where and why it leaks in as a transitive. 
Almost done here.

> Cleanup netty-all transitive includes
> -
>
> Key: HBASE-25969
> URL: https://issues.apache.org/jira/browse/HBASE-25969
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Priority: Major
>
> Our releases include lib/netty-all.jar as a transitive include from hadoop. 
> Purge.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] saintstack commented on a change in pull request #3356: HBASE-25973 Balancer should explain progress in a better way in log

2021-06-07 Thread GitBox


saintstack commented on a change in pull request #3356:
URL: https://github.com/apache/hbase/pull/3356#discussion_r646688776



##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -343,15 +343,15 @@ boolean needsBalance(TableName tableName, 
BalancerClusterState cluster) {
   sendRejectionReasonToRingBuffer(() -> getBalanceReason(calculatedTotal, 
calculatedMultiplier),
 costFunctions);
 }
-if (LOG.isDebugEnabled()) {
-  LOG.debug("{} {}; total cost={}, sum multiplier={}; cost/multiplier to 
need a balance is {}",
-  balanced ? "Skipping load balancing because balanced" : "We need to 
load balance",
-  isByTable ? String.format("table (%s)", tableName) : "cluster",
-  total, sumMultiplier, minCostNeedBalance);
-  if (LOG.isTraceEnabled()) {
-LOG.trace("Balance decision detailed function costs={}", 
functionCost());
-  }
+LOG.info("{} {}; total cost={}, sum multiplier={}; cost/multiplier to need 
a balance is {}",
+  balanced ? "Skipping load balancing because balanced" :

Review comment:
   I'm thinking of the times when balancer says the cluster is balanced but 
when when the operator looks at the Master UI, it plainly is not For 
example, if the regions-per-server are not aligned, this message would explain 
why it thinks the cluster balanced though to the the operator, the cluster 
looks off.




-- 
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




[jira] [Commented] (HBASE-25588) Excessive logging of "hbase.zookeeper.useMulti is deprecated. Default to true always."

2021-06-07 Thread Lokesh Khurana (Jira)


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

Lokesh Khurana commented on HBASE-25588:


[~zhangduo] Sorry, for past couple of months I haven't been able to work, if it 
requires immediate attention, please feel free to reassign it! 

> Excessive logging of "hbase.zookeeper.useMulti is deprecated. Default to true 
> always."
> --
>
> Key: HBASE-25588
> URL: https://issues.apache.org/jira/browse/HBASE-25588
> Project: HBase
>  Issue Type: Bug
>  Components: logging, Operability, Replication
>Affects Versions: 2.4.1
>Reporter: Andrew Kyle Purtell
>Assignee: Lokesh Khurana
>Priority: Minor
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.4
>
>
> Log line printed frequently, can be as often as once per second:
> {noformat}
> 21:56:46.381 WARN 
> [RS_REFRESH_PEER-regionserver/ip-172-31-51-4:8120-0.replicationSource,
> 1.replicationSource.shipperip-172-31-51-4.us-west-2.compute.internal%2C8120%2C1613596855628.ip-172-31-51-4.us-west-2.compute.internal%2C8120%2C1613596855628.default,1]
>org.apache.hadoop.hbase.zookeeper.ZKUtil - hbase.zookeeper.useMulti is 
> deprecated. Default to true always.
> {noformat}
> The old configuration in place had hbase.zookeeper.useMulti  set to true. 
> This is the default and while I understand this setting is deprecated, 
> constantly warning about it, especially when it conforms to the default, is 
> log spam. 
> Warn about this once over the lifetime of the replication source. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] Apache-HBase commented on pull request #3317: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3317:
URL: https://github.com/apache/hbase/pull/3317#issuecomment-856086535


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   1m  4s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  3s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 16s |  master passed  |
   | +1 :green_heart: |  compile  |   3m  4s |  master passed  |
   | +1 :green_heart: |  shadedjars  |   8m 13s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 47s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 13s |  the patch passed  |
   | +1 :green_heart: |  compile  |   3m  4s |  the patch passed  |
   | +1 :green_heart: |  javac  |   3m  4s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   8m 12s |  patch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 42s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  | 187m 50s |  root in the patch passed.  |
   |  |   | 228m 40s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/3/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3317 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux 36acd1f68103 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 
17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 456c7f964a |
   | Default Java | AdoptOpenJDK-11.0.10+9 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/3/testReport/
 |
   | Max. process+thread count | 6861 (vs. ulimit of 3) |
   | modules | C: . U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/3/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[GitHub] [hbase] pankaj72981 commented on a change in pull request #3319: HBASE-25914 Provide slow/large logs on RegionServer UI

2021-06-07 Thread GitBox


pankaj72981 commented on a change in pull request #3319:
URL: https://github.com/apache/hbase/pull/3319#discussion_r646790004



##
File path: 
hbase-server/src/main/resources/hbase-webapps/regionserver/rsOperationDetails.jsp
##
@@ -0,0 +1,179 @@
+<%--
+/**
+ * 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.
+ */
+--%>
+<%@ page contentType="text/html;charset=UTF-8"
+  import="java.util.Date"
+  import="java.util.List"
+  import="java.util.Arrays"
+  import="java.util.Collections"
+  import="org.apache.hadoop.conf.Configuration"
+  import="org.apache.hadoop.hbase.client.SnapshotDescription"

Review comment:
   Removed unused imports. Example, Arrays, SnapshotDescription etc.




-- 
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




[GitHub] [hbase] Apache-HBase commented on pull request #3353: HBASE-25969 Purge netty-all transitive includes

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3353:
URL: https://github.com/apache/hbase/pull/3353#issuecomment-856115154


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   1m  5s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files 
found.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   ||| _ branch-2.4 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 38s |  branch-2.4 passed  |
   | +1 :green_heart: |  compile  |   9m 13s |  branch-2.4 passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 36s |  the patch passed  |
   | +1 :green_heart: |  compile  |   9m 20s |  the patch passed  |
   | -0 :warning: |  javac  |   9m 20s |  root generated 1 new + 1844 unchanged 
- 1 fixed = 1845 total (was 1845)  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | +1 :green_heart: |  xml  |   0m  1s |  The patch has no ill-formed XML 
file.  |
   | +1 :green_heart: |  hadoopcheck  |  18m 54s |  Patch does not cause any 
errors with Hadoop 2.10.0 or 3.1.2 3.2.1.  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 13s |  The patch does not generate 
ASF License warnings.  |
   |  |   |  53m 59s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/4/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3353 |
   | Optional Tests | dupname asflicense javac hadoopcheck xml compile |
   | uname | Linux 3fe19d355d38 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 
05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.4 / 6d1d64caf7 |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   | javac | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/4/artifact/yetus-general-check/output/diff-compile-javac-root.txt
 |
   | Max. process+thread count | 126 (vs. ulimit of 12500) |
   | modules | C: . U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/4/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[jira] [Commented] (HBASE-25963) HBaseCluster should be marked as IA.Public

2021-06-07 Thread Hudson (Jira)


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

Hudson commented on HBASE-25963:


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

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/branch-2/270/General_20Nightly_20Build_20Report/]




(/) {color:green}+1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/branch-2/270/JDK8_20Nightly_20Build_20Report_20_28Hadoop2_29/]


(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/branch-2/270/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11 
report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/branch-2/270/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]


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


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


> HBaseCluster should be marked as IA.Public
> --
>
> Key: HBASE-25963
> URL: https://issues.apache.org/jira/browse/HBASE-25963
> Project: HBase
>  Issue Type: Sub-task
>  Components: API
>Reporter: Duo Zhang
>Assignee: Duo Zhang
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.3.6, 2.4.4
>
>
> Its sub class MiniHBaseCluster is marked as IA.Public, so it should also be 
> IA.Public.
> And in general, HBaseCluster just provides some abstract method so I think it 
> is OK to expose it as IA.Public.
> But for MiniHBaseCluster, it exposes several internal stuff such as 
> RegionServerThread so maybe it should not be marked as IA.Public.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25969) Cleanup netty-all transitive includes

2021-06-07 Thread Michael Stack (Jira)


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

Michael Stack updated HBASE-25969:
--
Description: 
Our releases include lib/netty-all.jar as a transitive include from hadoop. 
-Purge.-

... looks like I can't purge the transitive netty-all includes just yet, not 
w/o moving MR out of hbase core. The transitively included netty-all w/ the old 
version is needed to run the tests that put up a MR cluster.

  was:Our releases include lib/netty-all.jar as a transitive include from 
hadoop. Purge.


> Cleanup netty-all transitive includes
> -
>
> Key: HBASE-25969
> URL: https://issues.apache.org/jira/browse/HBASE-25969
> Project: HBase
>  Issue Type: Sub-task
>Reporter: Michael Stack
>Priority: Major
>
> Our releases include lib/netty-all.jar as a transitive include from hadoop. 
> -Purge.-
> ... looks like I can't purge the transitive netty-all includes just yet, not 
> w/o moving MR out of hbase core. The transitively included netty-all w/ the 
> old version is needed to run the tests that put up a MR cluster.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] clarax commented on a change in pull request #3356: HBASE-25973 Balancer should explain progress in a better way in log

2021-06-07 Thread GitBox


clarax commented on a change in pull request #3356:
URL: https://github.com/apache/hbase/pull/3356#discussion_r646840065



##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -343,15 +343,15 @@ boolean needsBalance(TableName tableName, 
BalancerClusterState cluster) {
   sendRejectionReasonToRingBuffer(() -> getBalanceReason(calculatedTotal, 
calculatedMultiplier),
 costFunctions);
 }
-if (LOG.isDebugEnabled()) {
-  LOG.debug("{} {}; total cost={}, sum multiplier={}; cost/multiplier to 
need a balance is {}",
-  balanced ? "Skipping load balancing because balanced" : "We need to 
load balance",
-  isByTable ? String.format("table (%s)", tableName) : "cluster",
-  total, sumMultiplier, minCostNeedBalance);
-  if (LOG.isTraceEnabled()) {
-LOG.trace("Balance decision detailed function costs={}", 
functionCost());
-  }
+LOG.info("{} {}; total cost={}, sum multiplier={}; cost/multiplier to need 
a balance is {}",
+  balanced ? "Skipping load balancing because balanced" :

Review comment:
   There is a function that explain the reason of skipping. But we need to 
provide the big picture why t stops here. Will update.




-- 
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




[GitHub] [hbase] clarax commented on a change in pull request #3356: HBASE-25973 Balancer should explain progress in a better way in log

2021-06-07 Thread GitBox


clarax commented on a change in pull request #3356:
URL: https://github.com/apache/hbase/pull/3356#discussion_r646840748



##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -343,15 +343,15 @@ boolean needsBalance(TableName tableName, 
BalancerClusterState cluster) {
   sendRejectionReasonToRingBuffer(() -> getBalanceReason(calculatedTotal, 
calculatedMultiplier),
 costFunctions);
 }
-if (LOG.isDebugEnabled()) {
-  LOG.debug("{} {}; total cost={}, sum multiplier={}; cost/multiplier to 
need a balance is {}",
-  balanced ? "Skipping load balancing because balanced" : "We need to 
load balance",
-  isByTable ? String.format("table (%s)", tableName) : "cluster",
-  total, sumMultiplier, minCostNeedBalance);
-  if (LOG.isTraceEnabled()) {
-LOG.trace("Balance decision detailed function costs={}", 
functionCost());
-  }
+LOG.info("{} {}; total cost={}, sum multiplier={}; cost/multiplier to need 
a balance is {}",
+  balanced ? "Skipping load balancing because balanced" :
+"Start calculating moving plan without logging info for up to {} secs",
+  isByTable ? String.format("table (%s)", tableName) : "cluster",

Review comment:
   It only prints is by table is turned on. otherwise it only prints 
cluster.




-- 
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




[GitHub] [hbase] clarax commented on a change in pull request #3356: HBASE-25973 Balancer should explain progress in a better way in log

2021-06-07 Thread GitBox


clarax commented on a change in pull request #3356:
URL: https://github.com/apache/hbase/pull/3356#discussion_r646861474



##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -343,15 +343,15 @@ boolean needsBalance(TableName tableName, 
BalancerClusterState cluster) {
   sendRejectionReasonToRingBuffer(() -> getBalanceReason(calculatedTotal, 
calculatedMultiplier),
 costFunctions);
 }
-if (LOG.isDebugEnabled()) {
-  LOG.debug("{} {}; total cost={}, sum multiplier={}; cost/multiplier to 
need a balance is {}",
-  balanced ? "Skipping load balancing because balanced" : "We need to 
load balance",
-  isByTable ? String.format("table (%s)", tableName) : "cluster",
-  total, sumMultiplier, minCostNeedBalance);
-  if (LOG.isTraceEnabled()) {
-LOG.trace("Balance decision detailed function costs={}", 
functionCost());
-  }
+LOG.info("{} {}; total cost={}, sum multiplier={}; cost/multiplier to need 
a balance is {}",

Review comment:
   Hmm, right. Need to explain cost /multiplier is the measurement how 
balanced the cluster for balancer at a scale on [0,1] 0 being the perfectly 
balanced and 1 is the worst it could be. But the actual value still doesn't 
seem very intuitive to operator. We can explain if we demand the max of 
absolute number of unbalanced nodes to be constant, the bigger the cluster, the 
smaller of this value would be.




-- 
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




[GitHub] [hbase] clarax commented on a change in pull request #3356: HBASE-25973 Balancer should explain progress in a better way in log

2021-06-07 Thread GitBox


clarax commented on a change in pull request #3356:
URL: https://github.com/apache/hbase/pull/3356#discussion_r646862825



##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -470,17 +470,17 @@ private long calculateMaxSteps(BalancerClusterState 
cluster) {
 updateStochasticCosts(tableName, curOverallCost, curFunctionCosts);
 if (initCost > currentCost) {
   List plans = createRegionPlans(cluster);
-  LOG.info("Finished computing new load balance plan. Computation took {}" 
+
-" to try {} different iterations.  Found a solution that moves " +
-"{} regions; Going from a computed cost of {}" +
-" to a new cost of {}", java.time.Duration.ofMillis(endTime - 
startTime),
-step, plans.size(), initCost, currentCost);
+  LOG.info("Finished computing new load balance plan. Computation took {} 
ms" +
+  " to try {} different iterations.  Found a solution that moves " +
+  "{} regions; Going from a computed cost of {}" +
+  " to a new cost of {}. Move plan to be submitted to master to 
execute",

Review comment:
   Yes. @busbey after submitting the moves, balancer will rest for another 
time period before it resumes. If the moves are complete, it will look again to 
see if we need to move more. otherwise, it will skip.




-- 
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




[GitHub] [hbase] clarax commented on a change in pull request #3356: HBASE-25973 Balancer should explain progress in a better way in log

2021-06-07 Thread GitBox


clarax commented on a change in pull request #3356:
URL: https://github.com/apache/hbase/pull/3356#discussion_r646864080



##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -343,15 +343,15 @@ boolean needsBalance(TableName tableName, 
BalancerClusterState cluster) {
   sendRejectionReasonToRingBuffer(() -> getBalanceReason(calculatedTotal, 
calculatedMultiplier),
 costFunctions);
 }
-if (LOG.isDebugEnabled()) {
-  LOG.debug("{} {}; total cost={}, sum multiplier={}; cost/multiplier to 
need a balance is {}",
-  balanced ? "Skipping load balancing because balanced" : "We need to 
load balance",
-  isByTable ? String.format("table (%s)", tableName) : "cluster",
-  total, sumMultiplier, minCostNeedBalance);
-  if (LOG.isTraceEnabled()) {
-LOG.trace("Balance decision detailed function costs={}", 
functionCost());
-  }
+LOG.info("{} {}; total cost={}, sum multiplier={}; cost/multiplier to need 
a balance is {}",
+  balanced ? "Skipping load balancing because balanced" :
+"Start calculating moving plan without logging info for up to {} secs",

Review comment:
   Good callout. will massage it. and will show the example logs.




-- 
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




[GitHub] [hbase] clarax commented on a change in pull request #3356: HBASE-25973 Balancer should explain progress in a better way in log

2021-06-07 Thread GitBox


clarax commented on a change in pull request #3356:
URL: https://github.com/apache/hbase/pull/3356#discussion_r646864358



##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -343,15 +343,15 @@ boolean needsBalance(TableName tableName, 
BalancerClusterState cluster) {
   sendRejectionReasonToRingBuffer(() -> getBalanceReason(calculatedTotal, 
calculatedMultiplier),
 costFunctions);
 }
-if (LOG.isDebugEnabled()) {
-  LOG.debug("{} {}; total cost={}, sum multiplier={}; cost/multiplier to 
need a balance is {}",
-  balanced ? "Skipping load balancing because balanced" : "We need to 
load balance",
-  isByTable ? String.format("table (%s)", tableName) : "cluster",
-  total, sumMultiplier, minCostNeedBalance);
-  if (LOG.isTraceEnabled()) {
-LOG.trace("Balance decision detailed function costs={}", 
functionCost());
-  }
+LOG.info("{} {}; total cost={}, sum multiplier={}; cost/multiplier to need 
a balance is {}",

Review comment:
   Because we want to expose it. and this wouldn't cause log spam.




-- 
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




[GitHub] [hbase] clarax commented on a change in pull request #3356: HBASE-25973 Balancer should explain progress in a better way in log

2021-06-07 Thread GitBox


clarax commented on a change in pull request #3356:
URL: https://github.com/apache/hbase/pull/3356#discussion_r646864645



##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -343,15 +343,15 @@ boolean needsBalance(TableName tableName, 
BalancerClusterState cluster) {
   sendRejectionReasonToRingBuffer(() -> getBalanceReason(calculatedTotal, 
calculatedMultiplier),
 costFunctions);
 }
-if (LOG.isDebugEnabled()) {
-  LOG.debug("{} {}; total cost={}, sum multiplier={}; cost/multiplier to 
need a balance is {}",
-  balanced ? "Skipping load balancing because balanced" : "We need to 
load balance",
-  isByTable ? String.format("table (%s)", tableName) : "cluster",
-  total, sumMultiplier, minCostNeedBalance);
-  if (LOG.isTraceEnabled()) {
-LOG.trace("Balance decision detailed function costs={}", 
functionCost());
-  }
+LOG.info("{} {}; total cost={}, sum multiplier={}; cost/multiplier to need 
a balance is {}",
+  balanced ? "Skipping load balancing because balanced" :
+"Start calculating moving plan without logging info for up to {} secs",
+  isByTable ? String.format("table (%s)", tableName) : "cluster",
+  total, sumMultiplier, minCostNeedBalance, maxRunningTime / 1000);
+if (LOG.isTraceEnabled()) {
+  LOG.trace("Balance decision detailed function costs={}", functionCost());
 }

Review comment:
   That makes sense. yes.




-- 
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




[GitHub] [hbase] Apache-HBase commented on pull request #3317: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3317:
URL: https://github.com/apache/hbase/pull/3317#issuecomment-856190881


   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   0m 27s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  3s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 40s |  master passed  |
   | +1 :green_heart: |  compile  |   2m 35s |  master passed  |
   | +1 :green_heart: |  shadedjars  |   8m 16s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 14s |  master passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 50s |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 47s |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 47s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   8m 32s |  patch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 15s |  the patch passed  |
   ||| _ Other Tests _ |
   | -1 :x: |  unit  | 353m 38s |  root in the patch failed.  |
   |  |   | 390m 48s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/3/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3317 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux 5c3719365bd3 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 
23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 456c7f964a |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   | unit | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/3/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-root.txt
 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/3/testReport/
 |
   | Max. process+thread count | 5159 (vs. ulimit of 3) |
   | modules | C: . U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3317/3/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[GitHub] [hbase] Apache-HBase commented on pull request #3353: HBASE-25969 Purge netty-all transitive includes

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3353:
URL: https://github.com/apache/hbase/pull/3353#issuecomment-856207021


   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   2m  4s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  6s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2.4 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m 46s |  branch-2.4 passed  |
   | +1 :green_heart: |  compile  |   2m 57s |  branch-2.4 passed  |
   | +1 :green_heart: |  shadedjars  |   6m 49s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 50s |  branch-2.4 passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 56s |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 45s |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 45s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m 45s |  patch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 40s |  the patch passed  |
   ||| _ Other Tests _ |
   | -1 :x: |  unit  | 164m  9s |  root in the patch failed.  |
   |  |   | 203m 19s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/4/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3353 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux 23ba441ee46a 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 
17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.4 / 6d1d64caf7 |
   | Default Java | AdoptOpenJDK-11.0.10+9 |
   | unit | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/4/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-root.txt
 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/4/testReport/
 |
   | Max. process+thread count | 5395 (vs. ulimit of 12500) |
   | modules | C: . U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/4/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[GitHub] [hbase] clarax commented on a change in pull request #3356: HBASE-25973 Balancer should explain progress in a better way in log

2021-06-07 Thread GitBox


clarax commented on a change in pull request #3356:
URL: https://github.com/apache/hbase/pull/3356#discussion_r646895341



##
File path: 
hbase-balancer/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
##
@@ -343,15 +343,15 @@ boolean needsBalance(TableName tableName, 
BalancerClusterState cluster) {
   sendRejectionReasonToRingBuffer(() -> getBalanceReason(calculatedTotal, 
calculatedMultiplier),
 costFunctions);
 }
-if (LOG.isDebugEnabled()) {
-  LOG.debug("{} {}; total cost={}, sum multiplier={}; cost/multiplier to 
need a balance is {}",
-  balanced ? "Skipping load balancing because balanced" : "We need to 
load balance",
-  isByTable ? String.format("table (%s)", tableName) : "cluster",
-  total, sumMultiplier, minCostNeedBalance);
-  if (LOG.isTraceEnabled()) {
-LOG.trace("Balance decision detailed function costs={}", 
functionCost());
-  }
+LOG.info("{} {}; total cost={}, sum multiplier={}; cost/multiplier to need 
a balance is {}",
+  balanced ? "Skipping load balancing because balanced" :

Review comment:
   https://issues.apache.org/jira/browse/HBASE-25666 




-- 
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




[GitHub] [hbase] wchevreuil commented on pull request #3354: HBASE-25391 Flush directly into data directory, skip rename when comm…

2021-06-07 Thread GitBox


wchevreuil commented on pull request #3354:
URL: https://github.com/apache/hbase/pull/3354#issuecomment-856244728


   I believe the latest UTs are flakey, have the same passing in my local build.


-- 
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




[jira] [Created] (HBASE-25980) Master table.jsp pointed at meta throws 500 when no all replicas are online

2021-06-07 Thread Nick Dimiduk (Jira)
Nick Dimiduk created HBASE-25980:


 Summary: Master table.jsp pointed at meta throws 500 when no all 
replicas are online
 Key: HBASE-25980
 URL: https://issues.apache.org/jira/browse/HBASE-25980
 Project: HBase
  Issue Type: Bug
  Components: master, meta replicas, UI
Affects Versions: 2.3.4
Reporter: Nick Dimiduk


With a replica in a transition state, the UI renders,

{noformat}
HTTP ERROR 500

Problem accessing /table.jsp. Reason:

Server Error
Caused by:

org.apache.hadoop.hbase.NotAllMetaRegionsOnlineException: Timed out; 1ms
at 
org.apache.hadoop.hbase.zookeeper.MetaTableLocator.waitMetaRegionLocation(MetaTableLocator.java:190)
at 
org.apache.hadoop.hbase.generated.master.table_jsp._jspService(table_jsp.java:264)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
{noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25980) Master table.jsp pointed at meta throws 500 when no all replicas are online

2021-06-07 Thread Nick Dimiduk (Jira)


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

Nick Dimiduk updated HBASE-25980:
-
Affects Version/s: (was: 2.3.4)
   2.3.5

> Master table.jsp pointed at meta throws 500 when no all replicas are online
> ---
>
> Key: HBASE-25980
> URL: https://issues.apache.org/jira/browse/HBASE-25980
> Project: HBase
>  Issue Type: Bug
>  Components: master, meta replicas, UI
>Affects Versions: 2.3.5
>Reporter: Nick Dimiduk
>Priority: Major
>
> With a replica in a transition state, the UI renders,
> {noformat}
> HTTP ERROR 500
> Problem accessing /table.jsp. Reason:
> Server Error
> Caused by:
> org.apache.hadoop.hbase.NotAllMetaRegionsOnlineException: Timed out; 1ms
>   at 
> org.apache.hadoop.hbase.zookeeper.MetaTableLocator.waitMetaRegionLocation(MetaTableLocator.java:190)
>   at 
> org.apache.hadoop.hbase.generated.master.table_jsp._jspService(table_jsp.java:264)
>   at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
>   at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25343) Avoid the failed meta replica region temporarily in Load Balance mode

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25343:

Fix Version/s: (was: 2.4.4)
   2.4.5

> Avoid the failed meta replica region temporarily in Load Balance mode
> -
>
> Key: HBASE-25343
> URL: https://issues.apache.org/jira/browse/HBASE-25343
> Project: HBase
>  Issue Type: Sub-task
>  Components: meta replicas
>Affects Versions: 2.4.0
>Reporter: Huaxiang Sun
>Assignee: Huaxiang Sun
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> This is a follow-up enhancement with Stack, Duo. With the newly introduced 
> meta replica LoadBalance mode, if there is something wrong with one of meta 
> replica regions, the current logic is that it keeps trying until the meta 
> replica region is onlined again or it reports error, i.e, there is no HA at 
> LoadBalance mode. HA can be implemented if it reports timeout with one meta 
> replica region and tries another meta replica region.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25433) There is no limit on the table name length when creating a table

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25433:

Fix Version/s: (was: 2.4.4)
   2.4.5

> There is no limit on the table name length when creating a table
> 
>
> Key: HBASE-25433
> URL: https://issues.apache.org/jira/browse/HBASE-25433
> Project: HBase
>  Issue Type: Bug
>  Components: Client
>Affects Versions: 2.2.3
>Reporter: ZouWeiMing
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.3.6, 2.4.5
>
> Attachments: attachment_tableNameLengthLimit.html
>
>
> It occurs 
> Exeception(ERROR:java.util.concurrent.ExecutionExceptionjava.io.IOExpcetionException
>  in createDir) because of 8000 bytes length limits on HDFS directory name if 
> the length of HBase table name misses validation when creating.
> So,we decide to verify the length of table name when creating a 
> table.IllegalArgumentExcetion will be thrown when length is larger than 8000 
> bytes.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25642) Fix or stop warning about already cached block

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25642:

Fix Version/s: (was: 2.4.4)
   2.4.5

> Fix or stop warning about already cached block
> --
>
> Key: HBASE-25642
> URL: https://issues.apache.org/jira/browse/HBASE-25642
> Project: HBase
>  Issue Type: Improvement
>  Components: BlockCache, Operability, regionserver
>Affects Versions: 2.3.0
>Reporter: Nick Dimiduk
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> Our logs have as a fairly common occurrence:
> {noformat}
> 2021-03-05 22:24:31,034 WARN  [StoreFileOpener-foo-1] hfile.BlockCacheUtil: 
> Caching an already cached block: blah.bub. This is harmless and can happen in 
> rare cases (see HBASE-8547)
> {noformat}
> If this is really harmless, why do we log? If it's not actually harmless, 
> let's take another pass at fixing this situation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25613) [Branch-2 and Master]Handle the NoNode exception in remove log replication in a better way then just log WARN

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25613:

Fix Version/s: (was: 2.4.4)
   2.4.5

> [Branch-2 and Master]Handle the NoNode exception in remove log replication in 
> a better way then just log WARN
> -
>
> Key: HBASE-25613
> URL: https://issues.apache.org/jira/browse/HBASE-25613
> Project: HBase
>  Issue Type: Bug
>Reporter: Sandeep Pal
>Assignee: Sandeep Pal
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> Currently, when we see the NoNodeException in the replication source while 
> removing a log from ZK, we swallow that exception and log WARN. 
>  
> In certain cases, we might have the peer removed and corresponding logs 
> removing as well but the replication source continuous to run because of an 
> RPC failure or anything. 
> In stead of just log WARN we should check if the peer is removed, if it is 
> the case, we should terminate the source or try to execute the removePeer 
> workflow again.
>  
> This would prevent the orphaned source execution infinitely. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25624) Bound LoadBalancer's RegionLocationFinder cache

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25624:

Fix Version/s: (was: 2.4.4)
   2.4.5

> Bound LoadBalancer's RegionLocationFinder cache
> ---
>
> Key: HBASE-25624
> URL: https://issues.apache.org/jira/browse/HBASE-25624
> Project: HBase
>  Issue Type: Bug
>  Components: Balancer, master, Operability
>Affects Versions: 1.6.0, 2.4.1
>Reporter: Andrew Kyle Purtell
>Assignee: Prathyusha
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 1.8.0, 2.4.5
>
>
> We have a large table in production that causes the balancer's 
> RegionLocationFinder cache to consume 4 GB of heap, which, among other 
> factors, triggered OOMEs, and made us aware of this problem. 
> RegionLocationFinder embeds a cache backed by Guava's CacheLoader.  The 
> RegionLocationFinder cache comes to consume heap for RegionInfos for all 
> table regions and all HDFS block locations of all store files for all regions 
> of all tables. 
> The only limit we pass to the CacheBuilder is an expiration time of 1440 
> milliseconds for individual cache entries. That's 4 hours. That's much too 
> long; however, the cache also periodically refreshes itself, where the need 
> for a refresh is checked whenever BaseLoadBalancer calls 
> RegionLocationFinder's setClusterMetrics() method, which defeats the 
> expiration based limit anyway. 
> We should be bounding this cache with effective resource controls. Time based 
> expiry is fine but the periodic refresh logic must be removed to make it 
> effective. Implement size based limits too. CacheBuilder#maximumSize will 
> limit by number cache entries. This might be fine but 
> CacheBuilder#maximumWeight would be better, where weight is something 
> determined by the API user. In this case it can be an estimate of the heap 
> size of the hash map entries kept in the cache. 
> Default should remain unbounded. Specific bounds should be supported by new 
> site configuration options. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25694) Improve the shell's 'status replication' command output

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25694:

Fix Version/s: (was: 2.4.4)
   2.4.5

> Improve the shell's 'status replication' command output
> ---
>
> Key: HBASE-25694
> URL: https://issues.apache.org/jira/browse/HBASE-25694
> Project: HBase
>  Issue Type: Task
>  Components: Operability, Replication, shell
>Affects Versions: 2.4.2
>Reporter: Andrew Kyle Purtell
>Assignee: Divyesh Chandra
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> The output of the shell's 'status "replication"' command could use some 
> cleaning up.
> The basic format is:
> version VERSION
> N live servers
> SERVER_1:
>SOURCE: PeerID=PEERID, AgeOfLastShippedOp=160347, SizeOfLogQueue=49, 
> TimeStampsOfLastShippedOp=Thu Mar 25 01:55:21 UTC 2021, Replication Lag=161013
>SINK  : AgeOfLastAppliedOp=0, TimeStampsOfLastAppliedOp=Thu Mar 25 
> 01:49:53 UTC 2021
> ...
> Issues:
> - Per line format is KEY=VALUE, ... . Most KEYs are CamelCase but some have 
> spaces. Should all be camel case for consistency.
> - Age is printed as long and timestamp is string (local TZ) format. I think 
> the string formatting of the timestamp makes it difficult to read. Lets just 
> print timestamps as longs. Or provide a non-default option for string 
> formatted timestamps.
> - There is no sense of effective rate or bandwidth. Each source and sink line 
> emitted should provide some sense of current workload: rpcs/sec, bytes/sec, 
> cells/sec... something. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25521) Change ChoreService and ScheduledChore to IA.Private

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25521:

Fix Version/s: (was: 2.4.4)
   2.4.5

> Change ChoreService and ScheduledChore to IA.Private
> 
>
> Key: HBASE-25521
> URL: https://issues.apache.org/jira/browse/HBASE-25521
> Project: HBase
>  Issue Type: Task
>  Components: util
>Reporter: Duo Zhang
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> Follow up issue for HBASE-25509.
> We are not providing a general scheduling library, so these two classes 
> should not be IA.Public. User can just use other more powerful scheduling 
> libraries.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25698) Persistent IllegalReferenceCountException at scanner open when using TinyLfuBlockCache

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25698:

Fix Version/s: (was: 2.4.4)
   2.4.5

> Persistent IllegalReferenceCountException at scanner open when using 
> TinyLfuBlockCache
> --
>
> Key: HBASE-25698
> URL: https://issues.apache.org/jira/browse/HBASE-25698
> Project: HBase
>  Issue Type: Bug
>  Components: BucketCache, HFile, Scanners
>Affects Versions: 2.4.2
>Reporter: Andrew Kyle Purtell
>Assignee: Viraj Jasani
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> Persistent scanner open failure with offheap read path enabled.
> Not sure how it happened. Test scenario was HBase 1 cluster replicating to 
> HBase 2 cluster. ITBLL as data generator at source, calm policy only. Scanner 
> open errors on sink HBase 2 cluster later during ITBLL verify phase. Sink 
> schema settings bloom=ROW encoding=FAST_DIFF compression=NONE.
> {noformat}
> Caused by: 
> org.apache.hbase.thirdparty.io.netty.util.IllegalReferenceCountException: 
> refCnt: 0, decrement: 1
> at 
> org.apache.hbase.thirdparty.io.netty.util.internal.ReferenceCountUpdater.toLiveRealRefCnt(ReferenceCountUpdater.java:74)
> at 
> org.apache.hbase.thirdparty.io.netty.util.internal.ReferenceCountUpdater.release(ReferenceCountUpdater.java:138)
> at 
> org.apache.hbase.thirdparty.io.netty.util.AbstractReferenceCounted.release(AbstractReferenceCounted.java:76)
> at org.apache.hadoop.hbase.nio.ByteBuff.release(ByteBuff.java:79)
> at 
> org.apache.hadoop.hbase.io.hfile.HFileBlock.release(HFileBlock.java:429)
> at 
> org.apache.hadoop.hbase.io.hfile.CompoundBloomFilter.contains(CompoundBloomFilter.java:109)
> at 
> org.apache.hadoop.hbase.regionserver.StoreFileReader.checkGeneralBloomFilter(StoreFileReader.java:433)
> at 
> org.apache.hadoop.hbase.regionserver.StoreFileReader.passesGeneralRowBloomFilter(StoreFileReader.java:322)
> at 
> org.apache.hadoop.hbase.regionserver.StoreFileReader.passesBloomFilter(StoreFileReader.java:251)
> at 
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.shouldUseScanner(StoreFileScanner.java:491)
> at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.selectScannersFrom(StoreScanner.java:471)
> at 
> org.apache.hadoop.hbase.regionserver.StoreScanner.(StoreScanner.java:249)
> at 
> org.apache.hadoop.hbase.regionserver.HStore.createScanner(HStore.java:2177)
> at 
> org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:2168)
> at 
> org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.initializeScanners(HRegion.java:7172)
> {noformat}
> Bloom filter type on all files here is ROW, block encoding is FAST_DIFF:
> {noformat}
> hbase:017:0> describe "IntegrationTestBigLinkedList"
> Table IntegrationTestBigLinkedList is ENABLED 
>   
> IntegrationTestBigLinkedList  
>   
> COLUMN FAMILIES DESCRIPTION   
>   
> {NAME => 'big', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', 
> KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'FAST_DIF
> F', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', BLOCKCACHE 
> => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '1'} 
> {NAME => 'meta', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', 
> KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'FAST_DI
> FF', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', BLOCKCACHE 
> => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '1'}
> {NAME => 'tiny', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', VERSIONS => '1', 
> KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'FAST_DI
> FF', COMPRESSION => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', BLOCKCACHE 
> => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '1'}
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25588) Excessive logging of "hbase.zookeeper.useMulti is deprecated. Default to true always."

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25588:

Fix Version/s: (was: 2.4.4)
   2.4.5

> Excessive logging of "hbase.zookeeper.useMulti is deprecated. Default to true 
> always."
> --
>
> Key: HBASE-25588
> URL: https://issues.apache.org/jira/browse/HBASE-25588
> Project: HBase
>  Issue Type: Bug
>  Components: logging, Operability, Replication
>Affects Versions: 2.4.1
>Reporter: Andrew Kyle Purtell
>Assignee: Lokesh Khurana
>Priority: Minor
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> Log line printed frequently, can be as often as once per second:
> {noformat}
> 21:56:46.381 WARN 
> [RS_REFRESH_PEER-regionserver/ip-172-31-51-4:8120-0.replicationSource,
> 1.replicationSource.shipperip-172-31-51-4.us-west-2.compute.internal%2C8120%2C1613596855628.ip-172-31-51-4.us-west-2.compute.internal%2C8120%2C1613596855628.default,1]
>org.apache.hadoop.hbase.zookeeper.ZKUtil - hbase.zookeeper.useMulti is 
> deprecated. Default to true always.
> {noformat}
> The old configuration in place had hbase.zookeeper.useMulti  set to true. 
> This is the default and while I understand this setting is deprecated, 
> constantly warning about it, especially when it conforms to the default, is 
> log spam. 
> Warn about this once over the lifetime of the replication source. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25729) Upgrade to latest hbase-thirdparty

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25729:

Fix Version/s: (was: 2.4.4)
   2.4.5

> Upgrade to latest hbase-thirdparty
> --
>
> Key: HBASE-25729
> URL: https://issues.apache.org/jira/browse/HBASE-25729
> Project: HBase
>  Issue Type: Sub-task
>  Components: build, thirdparty
>Affects Versions: 2.4.2
>Reporter: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25915) ‘mobdir’ overlaps in HFileLink.mobPath

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25915:

Fix Version/s: (was: 2.4.4)
   2.4.5

> ‘mobdir’ overlaps in HFileLink.mobPath
> --
>
> Key: HBASE-25915
> URL: https://issues.apache.org/jira/browse/HBASE-25915
> Project: HBase
>  Issue Type: Bug
>  Components: mob
>Affects Versions: 3.0.0-alpha-1, 1.4.13, 2.4.3
>Reporter: wenfeiyi666
>Assignee: wenfeiyi666
>Priority: Minor
> Fix For: 3.0.0-alpha-1, 1.4.14, 2.4.5
>
>
> ‘mobdir’ overlaps in HFileLink.mobPath, like 
> '/root/mobdir/mobdir/data/table/...'



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25823) TestSlowLogAccessor.testHigherSlowLogs repeatable failure

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25823:

Fix Version/s: (was: 2.4.4)
   2.4.5

> TestSlowLogAccessor.testHigherSlowLogs repeatable failure
> -
>
> Key: HBASE-25823
> URL: https://issues.apache.org/jira/browse/HBASE-25823
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 2.4.3
>Reporter: Andrew Kyle Purtell
>Assignee: Viraj Jasani
>Priority: Major
> Fix For: 2.4.5
>
>
> {noformat}
>  [ERROR] TestSlowLogAccessor.testHigherSlowLogs:211 Waiting timed out after 
> [7,000] msec{noformat}
> Repeatable failure.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25947) Backport 'HBASE-25894 Improve the performance for region load and region count related cost functions' to branch-2.4 and branch-2.3

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25947:

Fix Version/s: (was: 2.4.4)
   2.4.5

> Backport 'HBASE-25894 Improve the performance for region load and region 
> count related cost functions' to branch-2.4 and branch-2.3
> ---
>
> Key: HBASE-25947
> URL: https://issues.apache.org/jira/browse/HBASE-25947
> Project: HBase
>  Issue Type: Sub-task
>  Components: Balancer, Performance
>Reporter: Duo Zhang
>Assignee: Duo Zhang
>Priority: Major
> Fix For: 2.3.6, 2.4.5
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-25828) CompactionProgress WARNS: "totalCompactingKVs=N less than currentCompactedKVs=M"

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25828:

Fix Version/s: (was: 2.4.4)
   2.4.5

> CompactionProgress WARNS: "totalCompactingKVs=N less than 
> currentCompactedKVs=M"
> 
>
> Key: HBASE-25828
> URL: https://issues.apache.org/jira/browse/HBASE-25828
> Project: HBase
>  Issue Type: Bug
>  Components: Compaction, Operability, regionserver
>Affects Versions: 2.4.3
>Reporter: Andrew Kyle Purtell
>Priority: Minor
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> Similar to HBASE-25642, but compaction progress warnings.
> Lots of warnings like:
> {noformat}
> 2021-04-30 00:55:15,436 WARN  [regionserver/ip-172-31-63-65:8120] 
> compactions.CompactionProgress: totalCompactingKVs=15589 less than 
> currentCompactedKVs=21411
> {noformat}
> {noformat}
> 2021-04-30 00:55:15,437 WARN  [regionserver/ip-172-31-63-65:8120] 
> compactions.CompactionProgress: totalCompactingKVs=21916 less than 
> currentCompactedKVs=33328
> {noformat}
> {noformat}
> 2021-04-30 00:55:15,438 WARN  [regionserver/ip-172-31-63-65:8120]
> compactions.CompactionProgress: totalCompactingKVs=89731 less than 
> currentCompactedKVs=92808
> {noformat}
> A couple of issues:
> - Is there a way to make CompactionProgress more reliable? I seem to recall 
> this is the second or third time around the block on this.
> - This is annoying because compaction progress isn't always accurate, but 
> this information is not used to determine anything significant, so WARN level 
> is a bit much. (Or, if this is a real correctness problem, see point above.)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25729) Upgrade to latest hbase-thirdparty

2021-06-07 Thread Michael Stack (Jira)


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

Michael Stack commented on HBASE-25729:
---

You talking about upgrading to 3.5.1 Andrew? On the one hand, I think it great 
idea...  It would fix HBASE-25960.  On other hand I was worried that the bump 
in versions in thirdparty a little risky for a point release so was thinking of 
a 3.4.2 release for 2.4 and 2.3 branches...  that just fixed the .so issue. 
Going to 3.5.1 would be less work. What you think?

> Upgrade to latest hbase-thirdparty
> --
>
> Key: HBASE-25729
> URL: https://issues.apache.org/jira/browse/HBASE-25729
> Project: HBase
>  Issue Type: Sub-task
>  Components: build, thirdparty
>Affects Versions: 2.4.2
>Reporter: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] Apache-HBase commented on pull request #3353: HBASE-25969 Purge netty-all transitive includes

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3353:
URL: https://github.com/apache/hbase/pull/3353#issuecomment-856322869


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   1m 10s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  5s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2.4 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 40s |  branch-2.4 passed  |
   | +1 :green_heart: |  compile  |   2m 28s |  branch-2.4 passed  |
   | +1 :green_heart: |  shadedjars  |   6m 33s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 18s |  branch-2.4 passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 38s |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 27s |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 27s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m 33s |  patch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 19s |  the patch passed  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  unit  | 383m 57s |  root in the patch passed.  |
   |  |   | 417m 22s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/4/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3353 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux d22deaa57be2 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 
05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.4 / 6d1d64caf7 |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/4/testReport/
 |
   | Max. process+thread count | 3133 (vs. ulimit of 12500) |
   | modules | C: . U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/4/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[jira] [Commented] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Bharath Vissapragada (Jira)


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

Bharath Vissapragada commented on HBASE-24440:
--

Thanks for the detailed results.

> These implementations were microbenchmarked to identify the superior option, 
> which seems to be BoundedIncrementYieldAdvancingClock.

Kind of surprised. I guessed it would be IncrementAdvancingClock theoretically 
(since there is no overhead to maintain boundedness), still trying to wrap my 
head around the subtle details in the patch.

> We are tracking whether or not a row has already been committed to in the 
> current clock tick. Or, we are tracking per region a set of rows per clock 
> tick. Why not track that explicitly?

This is an interesting idea, trying to think about it a bit more. IIUC the idea 
here is to maximize the commit throughput as much as possible in a single tick 
by picking from the available pool of disjoint row keys that can share the same 
tick. Let me take a look at the patch..

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomalies for 
> clients able to interact with both source and sink. 
> There is a simple solution that removes the possibility that these edge cases 
> can occur: 
> We can detect, when we are about to commit a mutation to a row, if we have 
> already committed a mutation to this same row in the current clock tick. 
> Occurrences of this condition will be rare. We are already tracking current 
> time. We have to know this in order to assign the timestamp. Where this 
> becomes interesting is how we might track the last commit time per row. 
> Making the detection of this case efficient for the normal code path is the 
> bulk of the challenge. One option is to keep track of the last locked time 
> for row locks. (Todo: How would we track and garbage collect this efficiently 
> and correctly. Not the ideal option.) We might also do this tracking somehow 
> via the memstore. (At least in this case the lifetime and distribution of in 
> memory row state, including the proposed timestamps, would align.) Assuming 
> we can efficiently know if we are about to commit twice to the same row 
> within a single clock tick, we would simply sleep/yield the current thread 
> until the clock ticks over, and then proceed. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] Apache-HBase commented on pull request #3353: HBASE-25969 Purge netty-all transitive includes

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3353:
URL: https://github.com/apache/hbase/pull/3353#issuecomment-856344814


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   1m  4s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files 
found.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   ||| _ branch-2.4 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m  2s |  branch-2.4 passed  |
   | +1 :green_heart: |  compile  |   9m 12s |  branch-2.4 passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 37s |  the patch passed  |
   | +1 :green_heart: |  compile  |   9m 11s |  the patch passed  |
   | -0 :warning: |  javac  |   9m 11s |  root generated 1 new + 1844 unchanged 
- 1 fixed = 1845 total (was 1845)  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | +1 :green_heart: |  xml  |   0m  2s |  The patch has no ill-formed XML 
file.  |
   | +1 :green_heart: |  hadoopcheck  |  18m 53s |  Patch does not cause any 
errors with Hadoop 2.10.0 or 3.1.2 3.2.1.  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 17s |  The patch does not generate 
ASF License warnings.  |
   |  |   |  54m  0s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/5/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3353 |
   | Optional Tests | dupname asflicense javac hadoopcheck xml compile |
   | uname | Linux b883855d549f 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 
05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.4 / 09eebe5cd0 |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   | javac | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/5/artifact/yetus-general-check/output/diff-compile-javac-root.txt
 |
   | Max. process+thread count | 127 (vs. ulimit of 12500) |
   | modules | C: . U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/5/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[jira] [Updated] (HBASE-25729) Upgrade to latest hbase-thirdparty

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25729:

Fix Version/s: (was: 2.4.5)

> Upgrade to latest hbase-thirdparty
> --
>
> Key: HBASE-25729
> URL: https://issues.apache.org/jira/browse/HBASE-25729
> Project: HBase
>  Issue Type: Sub-task
>  Components: build, thirdparty
>Affects Versions: 2.4.2
>Reporter: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-25729) Upgrade to latest hbase-thirdparty

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-25729 at 6/8/21, 12:38 AM:
---

bq. On other hand I was worried that the bump in versions in thirdparty a 
little risky for a point release so was thinking of a 3.4.2 release for 2.4 and 
2.3 branches... that just fixed the .so issue. 

Yeah, I've been holding off on this for 2.4 for that reason. Removed that fix 
version.

+1 to the idea of a smaller scoped fix for point releases.


was (Author: apurtell):
bq. On other hand I was worried that the bump in versions in thirdparty a 
little risky for a point release so was thinking of a 3.4.2 release for 2.4 and 
2.3 branches... that just fixed the .so issue. 

Yeah, I've been holding off on this for 2.4 for that reason. Removed that fix 
version.

> Upgrade to latest hbase-thirdparty
> --
>
> Key: HBASE-25729
> URL: https://issues.apache.org/jira/browse/HBASE-25729
> Project: HBase
>  Issue Type: Sub-task
>  Components: build, thirdparty
>Affects Versions: 2.4.2
>Reporter: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25729) Upgrade to latest hbase-thirdparty

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell commented on HBASE-25729:
-

bq. On other hand I was worried that the bump in versions in thirdparty a 
little risky for a point release so was thinking of a 3.4.2 release for 2.4 and 
2.3 branches... that just fixed the .so issue. 

Yeah, I've been holding off on this for 2.4 for that reason. Removed that fix 
version.

> Upgrade to latest hbase-thirdparty
> --
>
> Key: HBASE-25729
> URL: https://issues.apache.org/jira/browse/HBASE-25729
> Project: HBase
>  Issue Type: Sub-task
>  Components: build, thirdparty
>Affects Versions: 2.4.2
>Reporter: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 12:39 AM:
---

In HBASE-25913 I considered serialization of commits within a given clock tick 
using the system clock, by extending the interface EnvironmentEdge, which 
already dealt with time. Consider an API for getting a Clock, by name, from a 
concurrent map of such things, and then using this clock to get _advancing 
time_, which is the current system time, like System.currentTimeMillis, but 
with an additional semantic: When you call getCurrentAdvancing() you will 
always get a value that has advanced forward from the last time someone looked 
at this particular clock's time. The particular implementation of Clock is free 
to maintain that invariant with different strategies, and I explored several 
different implementations:
- IncrementAdvancingClock: like a poor man's hybrid clock, if the system time 
hasn't advanced, manually advance it, and ensure other API calls to the same 
clock don't give a different, earlier time
- SpinAdvancingClock: if the system time hasn't advanced, spin until it does
- YieldAdvancingClock: if the system time hasn't advanced, yield the thread 
with a small sleep until it does
- BoundedIncrementSpinAdvancingClock: advance ahead of system time up to some 
bound (like 1 second) but then spin until the system time catches up
- BoundedIncrementYieldAdvancingClock: advance ahead of system time up to some 
bound (like 1 second) but then yield with a small sleep until the system time 
catches up

These implementations were microbenchmarked to identify the superior option, 
which seems to be IncrementAdvancingClock. 

The main issue with HBASE-25913 is serializing commits with the act of getting 
the time requires that everything that might mutate the resource you are trying 
to protect must be within that Clock's scope. For a single row update the scope 
would be a row, and highly granular, so performance will not be affected that 
much. For batch mutations, which are typical, the scope is multiple rows, so 
therefore the region (_strictly speaking, it is the union set of the rows in 
the batch mutation_ ... I will come back to this later), and serializing 
commits to a region is expensive. Unfortunately it is always the case that the 
region must be the scope of control. Consider multiple RPC handlers executing 
in parallel. One is a single row mutation for rowA. Another is a batch mutation 
for rowA, rowB, and rowC. If we "optimize" single row updates without respect 
to concurrent batch requests, with two separate clock instances for row(rowA) 
and region(rowA,rowB,rowC), then rowA in this scenario might get two commits in 
the same system clock tick, because two clocks could have different notions of 
when time last advanced. We've done a lot of work to gain no assurance. So that 
is an invalid optimization and so the HBASE-25913 change creates a Clock per 
region and all timekeeping for the region goes through that Clock. 

With BoundedIncrementYieldAdvancingClock that means the region can take a burst 
of commits within a single clock tick up to the limit and then there is a 
performance discontinuity while we yield until the system time catches up 
(which can be up to 1 second). Other threads on other regions will make 
progress, but for the client attempting to commit a burst with the yielding 
operation, performance is a concern. With YieldAdvancingClock, the region can 
take only one commit for an entire clock tick, which is way worse. The 
potential performance impacts were known at the outset of the work so are not 
surprising. With some implementations now the impacts can be measured.

This should be managed at the row scope, not the region scope, but then what to 
do about batch mutations? I struggled for a while with various forms of 
*hierarchical clocks* where one might get a clock for the region, then use that 
clock to get child clocks for a row, and the hierarchy would make sure that 
time would not run backwards for anyone even if the row clocks were of the 
IncrementXXX types (because spinning or yielding is simply too expensive to do 
outright). This was not successful in the way I would like because they always 
ended up serializing _something_ at region scope in a way that I thought would 
impact performance rather negatively. 

So, let's take a step back: What is it we are really tracking? 

We are tracking whether or not a row has already been committed to in the 
current clock tick. Or, _we are tracking per region a set of rows per clock 
tick_. Why not track that explicitly? 

This idea is being explored with HBASE-25975, which does that with a region 
level data structure based on atomics because access to it will be highly 
multithreaded. In some 

[jira] [Commented] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell commented on HBASE-24440:
-

{quote}
bq. These implementations were microbenchmarked to identify the superior 
option, which seems to be BoundedIncrementYieldAdvancingClock.
Kind of surprised. I guessed it would be IncrementAdvancingClock theoretically 
(since there is no overhead to maintain boundedness), still trying to wrap my 
head around the subtle details in the patch.
{quote}
My mistake, that's a typo. Let me fix it. 

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomalies for 
> clients able to interact with both source and sink. 
> There is a simple solution that removes the possibility that these edge cases 
> can occur: 
> We can detect, when we are about to commit a mutation to a row, if we have 
> already committed a mutation to this same row in the current clock tick. 
> Occurrences of this condition will be rare. We are already tracking current 
> time. We have to know this in order to assign the timestamp. Where this 
> becomes interesting is how we might track the last commit time per row. 
> Making the detection of this case efficient for the normal code path is the 
> bulk of the challenge. One option is to keep track of the last locked time 
> for row locks. (Todo: How would we track and garbage collect this efficiently 
> and correctly. Not the ideal option.) We might also do this tracking somehow 
> via the memstore. (At least in this case the lifetime and distribution of in 
> memory row state, including the proposed timestamps, would align.) Assuming 
> we can efficiently know if we are about to commit twice to the same row 
> within a single clock tick, we would simply sleep/yield the current thread 
> until the clock ticks over, and then proceed. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell commented on HBASE-24440:
-

{quote}
This is an interesting idea, trying to think about it a bit more. IIUC the idea 
here is to maximize the commit throughput as much as possible in a single tick 
by picking from the available pool of disjoint row keys that can share the same 
tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back on that subtask when I post an update 
there. 

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomalies for 
> clients able to interact with both source and sink. 
> There is a simple solution that removes the possibility that these edge cases 
> can occur: 
> We can detect, when we are about to commit a mutation to a row, if we have 
> already committed a mutation to this same row in the current clock tick. 
> Occurrences of this condition will be rare. We are already tracking current 
> time. We have to know this in order to assign the timestamp. Where this 
> becomes interesting is how we might track the last commit time per row. 
> Making the detection of this case efficient for the normal code path is the 
> bulk of the challenge. One option is to keep track of the last locked time 
> for row locks. (Todo: How would we track and garbage collect this efficiently 
> and correctly. Not the ideal option.) We might also do this tracking somehow 
> via the memstore. (At least in this case the lifetime and distribution of in 
> memory row state, including the proposed timestamps, would align.) Assuming 
> we can efficiently know if we are about to commit twice to the same row 
> within a single clock tick, we would simply sleep/yield the current thread 
> until the clock ticks over, and then proceed. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 12:41 AM:
---

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 


was (Author: apurtell):
{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back on that subtask when I post an update 
there. 

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomalies for 
> clients able to interact with both source and sink. 
> There is a simple solution that removes the possibility that these edge cases 
> can occur: 
> We can detect, when we are about to commit a mutation to a row, if we have 
> already committed a mutation to this same row in the current clock tick. 
> Occurrences of this condition will be rare. We are already tracking current 
> time. We have to know this in order to assign the timestamp. Where this 
> becomes interesting is how we might track the last commit time per row. 
> Making the detection of this case efficient for the normal code path is the 
> bulk of the challenge. One option is to keep track of the last locked time 
> for row locks. (Todo: How would we track and garbage collect this efficiently 
> and correctly. Not the ideal option.) We might also do this tracking somehow 
> via the memstore. (At least in this case the lifetime and distribution of in 
> memory row state, including the proposed timestamps, would align.) Assuming 
> we can efficiently know if we are about to commit twice to the same row 
> within a single clock tick, we would simply sleep/yield the current thread 
> until the clock ticks over, and then proceed. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 12:41 AM:
---

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back on that subtask when I post an update 
there. 


was (Author: apurtell):
{quote}
This is an interesting idea, trying to think about it a bit more. IIUC the idea 
here is to maximize the commit throughput as much as possible in a single tick 
by picking from the available pool of disjoint row keys that can share the same 
tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back on that subtask when I post an update 
there. 

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomalies for 
> clients able to interact with both source and sink. 
> There is a simple solution that removes the possibility that these edge cases 
> can occur: 
> We can detect, when we are about to commit a mutation to a row, if we have 
> already committed a mutation to this same row in the current clock tick. 
> Occurrences of this condition will be rare. We are already tracking current 
> time. We have to know this in order to assign the timestamp. Where this 
> becomes interesting is how we might track the last commit time per row. 
> Making the detection of this case efficient for the normal code path is the 
> bulk of the challenge. One option is to keep track of the last locked time 
> for row locks. (Todo: How would we track and garbage collect this efficiently 
> and correctly. Not the ideal option.) We might also do this tracking somehow 
> via the memstore. (At least in this case the lifetime and distribution of in 
> memory row state, including the proposed timestamps, would align.) Assuming 
> we can efficiently know if we are about to commit twice to the same row 
> within a single clock tick, we would simply sleep/yield the current thread 
> until the clock ticks over, and then proceed. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 12:44 AM:
---

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Run through all of the rows involved in the pending mutation. The check adds 
each row to the set, but allows the pending mutation if none of the rows hit 
while adding. 
- If the pending mutation is allowed, return the time where we did the atomic 
clock advance check.
- Otherwise, yield the thread, and try again. 


was (Author: apurtell):
{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomalies for 
> clients able to interact with both source and sink. 
> There is a simple solution that removes the possibility that these edge cases 
> can occur: 
> We can detect, when we are about to commit a mutation to a row, if we have 
> already committed a mutation to this same row in the current clock tick. 
> Occurrences of this condition will be rare. We are already tracking current 
> time. We have to know this in order to assign the timestamp. Where this 
> becomes interesting is how we might track the last commit time per row. 
> Making the detection of this case efficient for the normal code path is the 
> bulk of the challenge. One option is to keep track of the last locked time 
> for row locks. (Todo: How would we track and garbage collect this efficiently 
> and correctly. Not the ideal option.) We might also do this tracking somehow 
> via the memstore. (At least in this case the lifetime and distribution of in 
> memory row state, including the proposed timestamps, would align.) Assuming 
> we can efficiently know if we are about to commit twice to the same row 
> within a single clock tick, we would simply sleep/yield the current thread 
> until the clock ticks over, and then proceed. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 12:45 AM:
---

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Run through all of the rows involved in the pending mutation. The check adds 
each row to the set, but allows the pending mutation as long as each row did 
not exist in the set when it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)


was (Author: apurtell):
{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Run through all of the rows involved in the pending mutation. The check adds 
each row to the set, but allows the pending mutation if none of the rows hit 
while adding. 
- If the pending mutation is allowed, return the time where we did the atomic 
clock advance check.
- Otherwise, yield the thread, and try again. 

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomalies for 
> clients able to interact with both source and sink. 
> There is a simple solution that removes the possibility that these edge cases 
> can occur: 
> We can detect, when we are about to commit a mutation to a row, if we have 
> already committed a mutation to this same row in the current clock tick. 
> Occurrences of this condition will be rare. We are already tracking current 
> time. We have to know this in order to assign the timestamp. Where this 
> becomes interesting is how we might track the last commit time per row. 
> Making the detection of this case efficient for the normal code path is the 
> bulk of the challenge. One option is to keep track of the last locked time 
> for row locks. (Todo: How would we track and garbage collect this efficiently 
> and correctly. Not the ideal option.) We might also do this tracking somehow 
> via the memstore. (At least in this case the lifetime and distribution of in 
> memory row state, including the proposed timestamps, would align.) Assuming 
> we can efficiently know if we are about to commit twice to the same row 
> within a single clock tick, we would simply sleep/yield the current thread 
> until the clock ticks over, and then proceed. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 12:47 AM:
---

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)


was (Author: apurtell):
{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Run through all of the rows involved in the pending mutation. The check adds 
each row to the set, but allows the pending mutation as long as each row did 
not exist in the set when it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomalies for 
> clients able to interact with both source and sink. 
> There is a simple solution that removes the possibility that these edge cases 
> can occur: 
> We can detect, when we are about to commit a mutation to a row, if we have 
> already committed a mutation to this same row in the current clock tick. 
> Occurrences of this condition will be rare. We are already tracking current 
> time. We have to know this in order to assign the timestamp. Where this 
> becomes interesting is how we might track the last commit time per row. 
> Making the detection of this case efficient for the normal code path is the 
> bulk of the challenge. One option is to keep track of the last locked time 
> for row locks. (Todo: How would we track and garbage collect this efficiently 
> and correctly. Not the ideal option.) We might also do this tracking somehow 
> via the memstore. (At least in this case the lifetime and distribution of in 
> memory row state, including the proposed timestamps, would align.) Assuming 
> we can efficiently know if we are about to commit twice to the same row 
> wit

[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 12:49 AM:
---

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple.


was (Author: apurtell):
{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomalies for 
> clients able to interact with both source and sink. 
> There is a simple solution that removes the possibility that these edge cases 
> can occur: 
> We can detect, when we are about to commit a mutation to a row, if we have 
> already committed a mutation to this same row in the current clock tick. 
> Occurrences of this condition will be rare. We are already tracking current 
> time. We have to know this in order to assign the timestamp. Where this 
> becomes interesting is how we might track the last commit time per row. 
> Making the detection of this case efficient for the normal code path is the 
> bulk of the challenge. One option is to keep track of the last locked time

[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 12:50 AM:
---

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple. I don't want a Set, I want a Map of 
reference counts. 


was (Author: apurtell):
{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple.

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomalies for 
> clients able to interact with both source and sink. 
> There is a simple solution that removes the possibility that these edge cases 
> can occur: 
> We can detect, when we are about to commit a mutation to a row, if we have 
> already committed a mutation to this same row in the c

[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 12:52 AM:
---

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple. I don't want a Set, I want a Map where the 
values can be used to implement a tri-state check: row does not conflict 
(pass), row does conflict (yield and retry), row might conflict (retry 
immediately)


was (Author: apurtell):
{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple. I don't want a Set, I want a Map of 
reference counts. 

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomalies for 
> clients able to interact with both source and sink. 
> There is a simple soluti

[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 12:53 AM:
---

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple. I need to implement a tri-state check: row 
does not conflict (pass), row does conflict (yield and retry), row might 
conflict (retry immediately)


was (Author: apurtell):
{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple. I don't want a Set, I want a Map where the 
values can be used to implement a tri-state check: row does not conflict 
(pass), row does conflict (yield and retry), row might conflict (retry 
immediately)

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anoma

[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 12:54 AM:
---

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check as the time we will make timestamp 
substitutions with.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple. I need to implement a tri-state check: row 
does not conflict (pass), row does conflict (yield and retry), row might 
conflict (retry immediately)


was (Author: apurtell):
{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple. I need to implement a tri-state check: row 
does not conflict (pass), row does conflict (yield and retry), row might 
conflict (retry immediately)

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedence 
> when mutations arrive "simultaneously": we sort deletes ahead of puts. This, 
> especially in the presence of replication, can lead to visible anomal

[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 1:01 AM:
--

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check as the time we will make timestamp 
substitutions with.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple. 

Edit: The straightforward thing to do is a synchronized section that does all 
of the existence tests with the set but doesn't mutate the set until we have a 
pass or yield decision, at which point the result is merged to the set or not. 
Hmm,..


was (Author: apurtell):
{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check as the time we will make timestamp 
substitutions with.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple. I need to implement a tri-state check: row 
does not conflict (pass), row does conflict (yield and retry), row might 
conflict (retry immediately)

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When this happens we have to track and preserve the ordering of these 
> mutations in some other way besides the timestamp component of the key. Let 
> me bypass most discussion here by noting that whether we do this or not, we 
> do not pass such ordering information in the cross cluster replication 
> protocol. We also have interesting edge cases regarding key type precedenc

[jira] [Commented] (HBASE-25975) Row commit sequencer

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell commented on HBASE-25975:
-

Some discussion copied from parent

The basic idea is this:

First, check if the clock has advanced, atomically. If it has, then clear 
the row set, also atomically, with respect to the clock advance check.
Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
If the pending mutation is going to be allowed to go forward, return the 
time where we did the atomic clock advance check as the time we will make 
timestamp substitutions with.
Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple.

Edit: The straightforward thing to do is a synchronized section that does all 
of the existence tests with the set but doesn't mutate the set until we have a 
pass or yield decision, at which point the result is merged to the set or not. 
Hmm,..

> Row commit sequencer
> 
>
> Key: HBASE-25975
> URL: https://issues.apache.org/jira/browse/HBASE-25975
> Project: HBase
>  Issue Type: Sub-task
>  Components: regionserver
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> Use a row commit sequencer in HRegion to ensure that only the operations that 
> mutate disjoint sets of rows are able to commit within the same clock tick. 
> This maintains the invariant that more than one mutation to a given row will 
> never be committed in the same clock tick.
> Callers will first acquire row locks for the row(s) the pending mutation will 
> mutate. Then they will use RowCommitSequencer.getRowSequence to ensure that 
> the set of rows about to be mutated do not overlap with those for any other 
> pending mutations in the current clock tick. If an overlap is identified, 
> getRowSequence will yield and loop until there is no longer an overlap and 
> the caller's pending mutation can succeed.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (HBASE-24440) Prevent temporal misordering on timescales smaller than one clock tick

2021-06-07 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell edited comment on HBASE-24440 at 6/8/21, 1:13 AM:
--

{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check as the time we will make timestamp 
substitutions with.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple. 

Edit: The straightforward thing to do is a synchronized section that does all 
of the existence tests with the set but doesn't mutate the set until we have a 
pass or yield decision, at which point the result is merged to the set or not. 
Hmm,..

Edit2: I like this phrasing ("picking from the available pool of disjoint row 
keys that can share the same tick") but it's first come first serve. We don't 
pick among alternatives. (That feels like constraint solving... all for one 
tick?) It's just a one pass filter. 


was (Author: apurtell):
{quote}
IIUC the idea here is to maximize the commit throughput as much as possible in 
a single tick by picking from the available pool of disjoint row keys that can 
share the same tick. Let me take a look at the patch..
{quote}
This is the HBASE-25975 subtask. I still need to add a test that proves it even 
works. :-) You might want to come back to that subtask in a bit, when I post an 
update there. 

The basic idea is this: 
- First, check if the clock has advanced, atomically. If it has, then clear the 
row set, also atomically, with respect to the clock advance check. 
- Get a reference to the row set for the current tick. Run through all of the 
rows involved in the pending mutation. The check adds each row to the set, but 
allows the pending mutation as long as each row did not exist in the set when 
it was added.
- If the pending mutation is going to be allowed to go forward, return the time 
where we did the atomic clock advance check as the time we will make timestamp 
substitutions with.
- Otherwise, yield the thread, and try again, which will keep the handler in 
queue until the row set is finally disjoint from any other (per the check logic 
described above)

One thing I realized I'm missing while typing this up is some kind of rollback 
if we added rows to the set for something which overlaps elsewhere, and so 
might block some other pending operation on rows for this mutation that is 
going to yield instead of go forward. That's what I was alluding to above... 
what I have right now is too simple. 

Edit: The straightforward thing to do is a synchronized section that does all 
of the existence tests with the set but doesn't mutate the set until we have a 
pass or yield decision, at which point the result is merged to the set or not. 
Hmm,..

> Prevent temporal misordering on timescales smaller than one clock tick
> --
>
> Key: HBASE-24440
> URL: https://issues.apache.org/jira/browse/HBASE-24440
> Project: HBase
>  Issue Type: Brainstorming
>Reporter: Andrew Kyle Purtell
>Assignee: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When mutations are sent to the servers without a timestamp explicitly 
> assigned by the client the server will substitute the current wall clock 
> time. There are edge cases where it is at least theoretically possible for 
> more than one mutation to be committed to a given row within the same clock 
> tick. When 

[jira] [Commented] (HBASE-25947) Backport 'HBASE-25894 Improve the performance for region load and region count related cost functions' to branch-2.4 and branch-2.3

2021-06-07 Thread Duo Zhang (Jira)


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

Duo Zhang commented on HBASE-25947:
---

[~apurtell] The PR is already ready for reviewing, mind taking a look? 
[~ndimiduk] has already reviewed.

Thanks.

> Backport 'HBASE-25894 Improve the performance for region load and region 
> count related cost functions' to branch-2.4 and branch-2.3
> ---
>
> Key: HBASE-25947
> URL: https://issues.apache.org/jira/browse/HBASE-25947
> Project: HBase
>  Issue Type: Sub-task
>  Components: Balancer, Performance
>Reporter: Duo Zhang
>Assignee: Duo Zhang
>Priority: Major
> Fix For: 2.3.6, 2.4.5
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] Apache9 merged pull request #3362: HBASE-22708 Remove the deprecated methods in Hbck interface

2021-06-07 Thread GitBox


Apache9 merged pull request #3362:
URL: https://github.com/apache/hbase/pull/3362


   


-- 
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




[jira] [Resolved] (HBASE-22708) Remove the deprecated methods in Hbck interface

2021-06-07 Thread Duo Zhang (Jira)


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

Duo Zhang resolved HBASE-22708.
---
Hadoop Flags: Incompatible change,Reviewed  (was: Incompatible change)
  Resolution: Fixed

Merged to master.

Thanks [~GeorryHuang] for contributing.

Do not forget to fill the release note about the breaking change [~GeorryHuang].

> Remove the deprecated methods in Hbck interface
> ---
>
> Key: HBASE-22708
> URL: https://issues.apache.org/jira/browse/HBASE-22708
> Project: HBase
>  Issue Type: Bug
>  Components: hbck2
>Affects Versions: 3.0.0-alpha-1
>Reporter: Guanghao Zhang
>Assignee: Zhuoyue Huang
>Priority: Major
> Fix For: 3.0.0-alpha-1
>
>
> Only for 3.0.0. Remove the methods which mark deprecated in HBASE-22673.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] Apache9 commented on pull request #3317: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


Apache9 commented on pull request #3317:
URL: https://github.com/apache/hbase/pull/3317#issuecomment-856372689


   The failed UTs are only in backup module and jdk8. Since it is not in any 
releases and known to be flaky sometimes, let's merge this PR first.


-- 
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




[GitHub] [hbase] Apache9 merged pull request #3317: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


Apache9 merged pull request #3317:
URL: https://github.com/apache/hbase/pull/3317


   


-- 
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




[GitHub] [hbase] Apache-HBase commented on pull request #3353: HBASE-25969 Purge netty-all transitive includes

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3353:
URL: https://github.com/apache/hbase/pull/3353#issuecomment-856393928


   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   1m  8s |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  5s |  Unprocessed flag(s): 
--brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list 
--whitespace-tabs-ignore-list --quick-hadoopcheck  |
   ||| _ Prechecks _ |
   ||| _ branch-2.4 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 57s |  branch-2.4 passed  |
   | +1 :green_heart: |  compile  |   2m 43s |  branch-2.4 passed  |
   | +1 :green_heart: |  shadedjars  |   6m 44s |  branch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 42s |  branch-2.4 passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 56s |  the patch passed  |
   | +1 :green_heart: |  compile  |   2m 46s |  the patch passed  |
   | +1 :green_heart: |  javac  |   2m 46s |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   6m 44s |  patch has no errors when 
building our shaded downstream artifacts.  |
   | +1 :green_heart: |  javadoc  |   2m 43s |  the patch passed  |
   ||| _ Other Tests _ |
   | -1 :x: |  unit  | 165m  6s |  root in the patch failed.  |
   |  |   | 201m 57s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/5/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3353 |
   | Optional Tests | javac javadoc unit shadedjars compile |
   | uname | Linux e19a2ba81ba0 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 
17:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2.4 / 09eebe5cd0 |
   | Default Java | AdoptOpenJDK-11.0.10+9 |
   | unit | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/5/artifact/yetus-jdk11-hadoop3-check/output/patch-unit-root.txt
 |
   |  Test Results | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/5/testReport/
 |
   | Max. process+thread count | 5272 (vs. ulimit of 12500) |
   | modules | C: . U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3353/5/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




[jira] [Updated] (HBASE-25918) Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar updated HBASE-25918:
-
Fix Version/s: 3.0.0-alpha-1

> Upgrade hbase-thirdparty dependency to 3.5.1
> 
>
> Key: HBASE-25918
> URL: https://issues.apache.org/jira/browse/HBASE-25918
> Project: HBase
>  Issue Type: Task
>  Components: dependencies
>Reporter: Pankaj Kumar
>Assignee: Pankaj Kumar
>Priority: Critical
> Fix For: 3.0.0-alpha-1
>
>
> Recently we have fixed multiple CVEs from jetty & netty as part of 
> HBASE-25728 & HBASE-25746.  This Jira is to upgrade hbase-thirdparty jar 
> version.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] pankaj72981 commented on pull request #3317: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


pankaj72981 commented on pull request #3317:
URL: https://github.com/apache/hbase/pull/3317#issuecomment-856426977


   Thanks @Apache9  for merging this PR, let me open a new PR for branch-2 and 
see the QA report.


-- 
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




[GitHub] [hbase] pankaj72981 opened a new pull request #3363: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


pankaj72981 opened a new pull request #3363:
URL: https://github.com/apache/hbase/pull/3363


   


-- 
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




[GitHub] [hbase] Apache9 commented on pull request #3317: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


Apache9 commented on pull request #3317:
URL: https://github.com/apache/hbase/pull/3317#issuecomment-856456528


   > Thanks @Apache9 for merging this PR, let me open a new PR for branch-2 and 
see the QA report.
   
   I think we could just cherry-pick it and keep an eye on the night result. We 
have more testing way in nightly build.


-- 
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




[GitHub] [hbase] pankaj72981 commented on pull request #3317: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


pankaj72981 commented on pull request #3317:
URL: https://github.com/apache/hbase/pull/3317#issuecomment-856457835


   Ok, I have created a PR. Let me close that and cherry pick in 2.4+ branch.


-- 
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




[GitHub] [hbase] pankaj72981 closed pull request #3363: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


pankaj72981 closed pull request #3363:
URL: https://github.com/apache/hbase/pull/3363


   


-- 
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




[jira] [Resolved] (HBASE-25918) Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar resolved HBASE-25918.
--
Fix Version/s: 2.4.5
   2.5.0
   Resolution: Fixed

Thanks [~zhangduo] for the review and merge.

> Upgrade hbase-thirdparty dependency to 3.5.1
> 
>
> Key: HBASE-25918
> URL: https://issues.apache.org/jira/browse/HBASE-25918
> Project: HBase
>  Issue Type: Task
>  Components: dependencies
>Reporter: Pankaj Kumar
>Assignee: Pankaj Kumar
>Priority: Critical
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> Recently we have fixed multiple CVEs from jetty & netty as part of 
> HBASE-25728 & HBASE-25746.  This Jira is to upgrade hbase-thirdparty jar 
> version.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (HBASE-25729) Upgrade to latest hbase-thirdparty

2021-06-07 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar resolved HBASE-25729.
--
Fix Version/s: 2.4.5
   Resolution: Fixed

> Upgrade to latest hbase-thirdparty
> --
>
> Key: HBASE-25729
> URL: https://issues.apache.org/jira/browse/HBASE-25729
> Project: HBase
>  Issue Type: Sub-task
>  Components: build, thirdparty
>Affects Versions: 2.4.2
>Reporter: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25918) Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread Duo Zhang (Jira)


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

Duo Zhang commented on HBASE-25918:
---

We should also include this for 2.3.x?

> Upgrade hbase-thirdparty dependency to 3.5.1
> 
>
> Key: HBASE-25918
> URL: https://issues.apache.org/jira/browse/HBASE-25918
> Project: HBase
>  Issue Type: Task
>  Components: dependencies
>Reporter: Pankaj Kumar
>Assignee: Pankaj Kumar
>Priority: Critical
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> Recently we have fixed multiple CVEs from jetty & netty as part of 
> HBASE-25728 & HBASE-25746.  This Jira is to upgrade hbase-thirdparty jar 
> version.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25729) Upgrade to latest hbase-thirdparty

2021-06-07 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar commented on HBASE-25729:
--

Pardon me, I wasn't aware of above conversation. Shall I revert back 
HBASE-25918 from branch-2.4?

> Upgrade to latest hbase-thirdparty
> --
>
> Key: HBASE-25729
> URL: https://issues.apache.org/jira/browse/HBASE-25729
> Project: HBase
>  Issue Type: Sub-task
>  Components: build, thirdparty
>Affects Versions: 2.4.2
>Reporter: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Reopened] (HBASE-25729) Upgrade to latest hbase-thirdparty

2021-06-07 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar reopened HBASE-25729:
--

> Upgrade to latest hbase-thirdparty
> --
>
> Key: HBASE-25729
> URL: https://issues.apache.org/jira/browse/HBASE-25729
> Project: HBase
>  Issue Type: Sub-task
>  Components: build, thirdparty
>Affects Versions: 2.4.2
>Reporter: Andrew Kyle Purtell
>Priority: Major
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25918) Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar commented on HBASE-25918:
--

There is some discussion in HBASE-25729 for upgrading hbase-thirdparty in 2.3 & 
2.4 branch, We may need to revert this from 2.4 or cherry-pick to 2.3 after 
[~stack] & [~apurtell] confirmation.

> Upgrade hbase-thirdparty dependency to 3.5.1
> 
>
> Key: HBASE-25918
> URL: https://issues.apache.org/jira/browse/HBASE-25918
> Project: HBase
>  Issue Type: Task
>  Components: dependencies
>Reporter: Pankaj Kumar
>Assignee: Pankaj Kumar
>Priority: Critical
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> Recently we have fixed multiple CVEs from jetty & netty as part of 
> HBASE-25728 & HBASE-25746.  This Jira is to upgrade hbase-thirdparty jar 
> version.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (HBASE-25981) JVM crash when displaying regionserver UI

2021-06-07 Thread Xiaolin Ha (Jira)
Xiaolin Ha created HBASE-25981:
--

 Summary: JVM crash when displaying regionserver UI
 Key: HBASE-25981
 URL: https://issues.apache.org/jira/browse/HBASE-25981
 Project: HBase
  Issue Type: Bug
  Components: rpc, UI
Affects Versions: 2.0.0, 3.0.0-alpha-1
Reporter: Xiaolin Ha
Assignee: Xiaolin Ha
 Attachments: hs_err_pid116190.log-gha-data-hbase-cat0085-ui

The MonitoredRPCHandlerImpl refers to the params of a request, and will show 
them when we call 'toJson()'. But the running RPC call may be cleaned up and 
the ByteBuffer be released  before the displaying in UI.  We need to let the 
life cycle of RPC status monitor be inner the life cycle of RPC.
{code:java}
J 19267 C2 
org.apache.hbase.thirdparty.com.google.protobuf.TextFormat$Printer.printMessage(Lorg/apache/hbase/thirdparty/com/google/protobuf/MessageOrBuilder;Lorg/apache/hbase/thirdparty/com/google/protobuf/TextFormat$TextGenerator;)V
 (73 bytes) @ 0x7f1ac7e54640 [0x7f1ac7e53f60+0x6e0]
J 20932 C2 
org.apache.hbase.thirdparty.com.google.protobuf.TextFormat$Printer.print(Lorg/apache/hbase/thirdparty/com/google/protobuf/MessageOrBuilder;Lorg/apache/hbase/thirdparty/com/google/protobuf/TextFormat$TextGenerator;)V
 (34 bytes) @ 0x7f1ac68ab9b0 [0x7f1ac68ab880+0x130]
J 21843 C1 
org.apache.hbase.thirdparty.com.google.protobuf.AbstractMessage.toString()Ljava/lang/String;
 (8 bytes) @ 0x7f1ac620e14c [0x7f1ac620dba0+0x5ac]
J 21835 C1 
org.apache.hadoop.hbase.monitoring.MonitoredRPCHandlerImpl.toMap()Ljava/util/Map;
 (240 bytes) @ 0x7f1ac5009bf4 [0x7f1ac50071c0+0x2a34]
J 21833 C1 
org.apache.hadoop.hbase.monitoring.MonitoredRPCHandlerImpl.toJSON()Ljava/lang/String;
 (5 bytes) @ 0x7f1ac74efb74 [0x7f1ac74efaa0+0xd4]
j  
org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmplImpl.renderNoFlush(Ljava/io/Writer;)V+259
j  
org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl.renderNoFlush(Ljava/io/Writer;)V+16
j  
org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmplImpl.renderNoFlush(Ljava/io/Writer;)V+129
{code}
[^hs_err_pid116190.log-gha-data-hbase-cat0085-ui]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (HBASE-25918) Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread Duo Zhang (Jira)


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

Duo Zhang commented on HBASE-25918:
---

OK, no problem.

> Upgrade hbase-thirdparty dependency to 3.5.1
> 
>
> Key: HBASE-25918
> URL: https://issues.apache.org/jira/browse/HBASE-25918
> Project: HBase
>  Issue Type: Task
>  Components: dependencies
>Reporter: Pankaj Kumar
>Assignee: Pankaj Kumar
>Priority: Critical
> Fix For: 3.0.0-alpha-1, 2.5.0, 2.4.5
>
>
> Recently we have fixed multiple CVEs from jetty & netty as part of 
> HBASE-25728 & HBASE-25746.  This Jira is to upgrade hbase-thirdparty jar 
> version.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [hbase] Apache-HBase commented on pull request #3363: HBASE-25918 Upgrade hbase-thirdparty dependency to 3.5.1

2021-06-07 Thread GitBox


Apache-HBase commented on pull request #3363:
URL: https://github.com/apache/hbase/pull/3363#issuecomment-856477343


   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime | Comment |
   |::|--:|:|:|
   | +0 :ok: |  reexec  |   1m 37s |  Docker mode activated.  |
   ||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  No case conflicting files 
found.  |
   | +1 :green_heart: |  @author  |   0m  0s |  The patch does not contain any 
@author tags.  |
   ||| _ branch-2 Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 44s |  branch-2 passed  |
   | +1 :green_heart: |  compile  |   8m 42s |  branch-2 passed  |
   ||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 19s |  the patch passed  |
   | +1 :green_heart: |  compile  |   8m 43s |  the patch passed  |
   | -0 :warning: |  javac  |   8m 43s |  root generated 1 new + 1886 unchanged 
- 1 fixed = 1887 total (was 1887)  |
   | +1 :green_heart: |  whitespace  |   0m  0s |  The patch has no whitespace 
issues.  |
   | +1 :green_heart: |  xml  |   0m  2s |  The patch has no ill-formed XML 
file.  |
   | +1 :green_heart: |  hadoopcheck  |  11m 56s |  Patch does not cause any 
errors with Hadoop 3.1.2 3.2.1.  |
   ||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 19s |  The patch does not generate 
ASF License warnings.  |
   |  |   |  45m 42s |   |
   
   
   | Subsystem | Report/Notes |
   |--:|:-|
   | Docker | ClientAPI=1.41 ServerAPI=1.41 base: 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3363/1/artifact/yetus-general-check/output/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hbase/pull/3363 |
   | Optional Tests | dupname asflicense javac hadoopcheck xml compile |
   | uname | Linux 9c732496afc0 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 
23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | branch-2 / e4dd4901a8 |
   | Default Java | AdoptOpenJDK-1.8.0_282-b08 |
   | javac | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3363/1/artifact/yetus-general-check/output/diff-compile-javac-root.txt
 |
   | Max. process+thread count | 141 (vs. ulimit of 12500) |
   | modules | C: . U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3363/1/console
 |
   | versions | git=2.17.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.12.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




  1   2   >