svn commit: r41309 [3/4] - /dev/hbase/2.2.6RC2/

2020-09-03 Thread zghao
Added: dev/hbase/2.2.6RC2/RELEASENOTES.md
==
--- dev/hbase/2.2.6RC2/RELEASENOTES.md (added)
+++ dev/hbase/2.2.6RC2/RELEASENOTES.md Fri Sep  4 02:46:04 2020
@@ -0,0 +1,2112 @@
+# RELEASENOTES
+
+
+# HBASE  2.2.6 Release Notes
+
+These release notes cover new developer and user-facing incompatibilities, 
important issues, features, and major improvements.
+
+
+---
+
+* [HBASE-24892](https://issues.apache.org/jira/browse/HBASE-24892) | *Major* | 
**config 'hbase.hregion.memstore.mslab.indexchunksize' not be used**
+
+Remove the config "hbase.hregion.memstore.mslab.indexchunksize" which never 
used. And use "hbase.hregion.memstore.mslab.indexchunksize.percent" instead.
+
+
+---
+
+* [HBASE-24150](https://issues.apache.org/jira/browse/HBASE-24150) | *Major* | 
**Allow module tests run in parallel**
+
+Pass -T2 to mvn. Makes it so we do two modules-at-a-time dependencies willing. 
Helps speed build and testing. Doubles the resource usage when running modules 
in parallel.
+
+
+---
+
+* [HBASE-24126](https://issues.apache.org/jira/browse/HBASE-24126) | *Major* | 
**Up the container nproc uplimit from 1 to 12500**
+
+Start docker with upped ulimit for nproc passing '--ulimit nproc=12500'. It 
was 1, the default, but made it 12500. Then, set PROC\_LIMIT in 
hbase-personality so when yetus runs, it is w/ the new 12500 value.
+
+
+---
+
+* [HBASE-24625](https://issues.apache.org/jira/browse/HBASE-24625) | 
*Critical* | **AsyncFSWAL.getLogFileSizeIfBeingWritten does not return the 
expected synced file length.**
+
+We add a method getSyncedLength in  WALProvider.WriterBase interface for  
WALFileLengthProvider used for replication, considering the case if we use  
AsyncFSWAL,we write to 3 DNs concurrently,according to the visibility guarantee 
of HDFS, the data will be available immediately
+when arriving at DN since all the DNs will be considered as the last one in 
pipeline.This means replication may read uncommitted data and replicate it to 
the remote cluster and cause data inconsistency.The method WriterBase#getLength 
may return length which just in hdfs client buffer and not successfully synced 
to HDFS, so we use this method WriterBase#getSyncedLength to return the length 
successfully synced to HDFS and replication thread could only read writing WAL 
file limited by this length.
+see also HBASE-14004 and this document for more details:
+https://docs.google.com/document/d/11AyWtGhItQs6vsLRIx32PwTxmBY3libXwGXI25obVEY/edit#
+
+Before this patch, replication may read uncommitted data and replicate it to 
the slave cluster and cause data inconsistency between master and slave 
cluster, we could use FSHLog instead of AsyncFSWAL  to reduce probability of 
inconsistency without this patch applied.
+
+
+---
+
+* [HBASE-24578](https://issues.apache.org/jira/browse/HBASE-24578) | *Major* | 
**[WAL] Add a parameter to config RingBufferEventHandler's SyncFuture count**
+
+Introduce a new parameter "hbase.regionserver.wal.sync.batch.count" to control 
the wal sync batch size which is equals to "hbase.regionserver.handler.count" 
by default. It should work well if you use default wal provider---one wal per 
regionserver. But if you use read/write separated handlers, you can set 
"hbase.regionserver.wal.sync.batch.count" to the number of write handlers. And 
if you use wal-per-groups or wal-per-region, you can consider lower 
"hbase.regionserver.wal.sync.batch.count", the default number will be too big 
and consume more memories as the number of wals grows.
+
+
+---
+
+* [HBASE-24603](https://issues.apache.org/jira/browse/HBASE-24603) | 
*Critical* | **Zookeeper sync() call is async**
+
+
+
+Fixes a couple of bugs in ZooKeeper interaction. Firstly, zk sync() call that 
is used to sync the lagging followers with leader so that the client sees a 
consistent snapshot state was actually asynchronous under the hood. We make it 
synchronous for correctness. Second, zookeeper events are now processed in a 
separate thread rather than doing it in the thread context of zookeeper client 
connection. This decoupling frees up client connection quickly and avoids 
deadlocks.
+
+
+---
+
+* [HBASE-24205](https://issues.apache.org/jira/browse/HBASE-24205) | *Major* | 
**Create metric to know the number of reads that happens from memstore**
+
+Adds a new metric where we collect the number of read requests (tracked per 
row) whether the row was fetched completely from memstore or it was pulled from 
files  and memstore. 
+The metric is now collected under the mbean for Tables and under the mbean for 
regions.
+Under table mbean ie.-
+'name": "Hadoop:service=HBase,name=RegionServer,sub=Tables'
+The new metrics will be listed as
+{code}
+
"Namespace\_default\_table\_t3\_columnfamily\_f1\_metric\_memstoreOnlyRowReadsCount":
 5,
+ 
"Namespace\_default\_table\_t3\_columnfamily\_f1\_metric\_mixedRowReadsCount": 
1,
+{code}
+Where the format is 

svn commit: r41309 [1/4] - /dev/hbase/2.2.6RC2/

2020-09-03 Thread zghao
Author: zghao
Date: Fri Sep  4 02:46:04 2020
New Revision: 41309

Log:
Apache HBase 2.2.6RC2

Added:
dev/hbase/2.2.6RC2/
dev/hbase/2.2.6RC2/CHANGES.md
dev/hbase/2.2.6RC2/RELEASENOTES.md
dev/hbase/2.2.6RC2/api_compare_2.2.6RC2_to_2.2.5.html
dev/hbase/2.2.6RC2/hbase-2.2.6-bin.tar.gz   (with props)
dev/hbase/2.2.6RC2/hbase-2.2.6-bin.tar.gz.asc
dev/hbase/2.2.6RC2/hbase-2.2.6-bin.tar.gz.sha512
dev/hbase/2.2.6RC2/hbase-2.2.6-client-bin.tar.gz   (with props)
dev/hbase/2.2.6RC2/hbase-2.2.6-client-bin.tar.gz.asc
dev/hbase/2.2.6RC2/hbase-2.2.6-client-bin.tar.gz.sha512
dev/hbase/2.2.6RC2/hbase-2.2.6-src.tar.gz   (with props)
dev/hbase/2.2.6RC2/hbase-2.2.6-src.tar.gz.asc
dev/hbase/2.2.6RC2/hbase-2.2.6-src.tar.gz.sha512



svn commit: r41309 [2/4] - /dev/hbase/2.2.6RC2/

2020-09-03 Thread zghao


Added: dev/hbase/2.2.6RC2/CHANGES.md
==
--- dev/hbase/2.2.6RC2/CHANGES.md (added)
+++ dev/hbase/2.2.6RC2/CHANGES.md Fri Sep  4 02:46:04 2020
@@ -0,0 +1,1542 @@
+# HBASE Changelog
+
+
+## Release 2.2.6 - Unreleased (as of 2020-09-04)
+
+
+### IMPROVEMENTS:
+
+| JIRA | Summary | Priority | Component |
+|: |: | :--- |: |
+| [HBASE-24913](https://issues.apache.org/jira/browse/HBASE-24913) | Refactor 
TestJMXConnectorServer |  Major | test |
+| [HBASE-24898](https://issues.apache.org/jira/browse/HBASE-24898) | Use 
EnvironmentEdge.currentTime() instead of System.currentTimeMillis() in 
CurrentHourProvider |  Major | tooling |
+| [HBASE-24928](https://issues.apache.org/jira/browse/HBASE-24928) | 
balanceRSGroup should skip generating balance plan for disabled table and 
splitParent region |  Major | Balancer |
+| [HBASE-24686](https://issues.apache.org/jira/browse/HBASE-24686) | [LOG] Log 
improvement in Connection#close |  Major | Client, logging |
+| [HBASE-24912](https://issues.apache.org/jira/browse/HBASE-24912) | Enlarge 
MemstoreFlusherChore/CompactionChecker period for unit test |  Major | . |
+| [HBASE-24854](https://issues.apache.org/jira/browse/HBASE-24854) | Correct 
the help content of assign and unassign commands in hbase shell |  Minor | 
shell |
+| [HBASE-21721](https://issues.apache.org/jira/browse/HBASE-21721) | FSHLog : 
reduce write#syncs() times |  Major | . |
+| [HBASE-24821](https://issues.apache.org/jira/browse/HBASE-24821) | Simplify 
the logic of getRegionInfo in TestFlushFromClient to reduce redundancy code |  
Minor | test |
+| [HBASE-20226](https://issues.apache.org/jira/browse/HBASE-20226) | 
Performance Improvement Taking Large Snapshots In Remote Filesystems |  Minor | 
snapshots |
+| [HBASE-24757](https://issues.apache.org/jira/browse/HBASE-24757) | 
ReplicationSink should limit the batch rowcount for batch mutations based on 
hbase.rpc.rows.warning.threshold |  Major | . |
+| [HBASE-24777](https://issues.apache.org/jira/browse/HBASE-24777) | 
InfoServer support ipv6 host and port |  Minor | UI |
+| [HBASE-24696](https://issues.apache.org/jira/browse/HBASE-24696) | Include 
JVM information on Web UI under "Software Attributes" |  Minor | UI |
+| [HBASE-24740](https://issues.apache.org/jira/browse/HBASE-24740) | Enable 
journal logging for HBase snapshot operation |  Minor | master |
+| [HBASE-24578](https://issues.apache.org/jira/browse/HBASE-24578) | [WAL] Add 
a parameter to config RingBufferEventHandler's SyncFuture count |  Major | wal |
+| [HBASE-24467](https://issues.apache.org/jira/browse/HBASE-24467) | Backport 
HBASE-23963: Split TestFromClientSide; it takes too long to complete timing out 
|  Major | . |
+| [HBASE-24562](https://issues.apache.org/jira/browse/HBASE-24562) | Stabilize 
master startup with meta replicas enabled |  Major | meta, read replicas |
+| [HBASE-24603](https://issues.apache.org/jira/browse/HBASE-24603) | Zookeeper 
sync() call is async |  Critical | master, regionserver |
+| [HBASE-24205](https://issues.apache.org/jira/browse/HBASE-24205) | Create 
metric to know the number of reads that happens from memstore |  Major | 
metrics |
+| [HBASE-24605](https://issues.apache.org/jira/browse/HBASE-24605) | Break 
long region names in the web UI |  Minor | UI |
+| [HBASE-24102](https://issues.apache.org/jira/browse/HBASE-24102) | 
RegionMover should exclude draining/decommissioning nodes from target RSs |  
Major | . |
+| [HBASE-24592](https://issues.apache.org/jira/browse/HBASE-24592) | 
[brnach-2.2] Upgrade junit to 4.13 |  Major | . |
+| [HBASE-24478](https://issues.apache.org/jira/browse/HBASE-24478) | The 
regionInfo parameter for MasterProcedureScheduler#waitRegions and 
MasterProcedureScheduler#wakeRegions should be plural |  Minor | proc-v2 |
+| [HBASE-24524](https://issues.apache.org/jira/browse/HBASE-24524) | SyncTable 
logging improvements |  Minor | . |
+| [HBASE-24483](https://issues.apache.org/jira/browse/HBASE-24483) | Add 
repeated prefix logging for MultipleColumnPrefixFilter |  Minor | Filters |
+| [HBASE-24504](https://issues.apache.org/jira/browse/HBASE-24504) | refactor 
call setupCluster/tearDownCluster in TestTableSnapshotInputFormat |  Minor | 
mapreduce, test |
+| [HBASE-24412](https://issues.apache.org/jira/browse/HBASE-24412) | Canary 
support check only one column family per RegionTask |  Major | canary |
+| [HBASE-24455](https://issues.apache.org/jira/browse/HBASE-24455) | Correct 
the doc of "On the number of column families" |  Minor | documentation |
+| [HBASE-24470](https://issues.apache.org/jira/browse/HBASE-24470) | Add store 
file info when log meessages in HStore. |  Minor | logging, regionserver |
+| [HBASE-24416](https://issues.apache.org/jira/browse/HBASE-24416) | 
RegionNormalizer spliting region should not be limited by 
hbase.normalizer.min.region.count |  Major | . |
+| 

svn commit: r41309 [4/4] - /dev/hbase/2.2.6RC2/

2020-09-03 Thread zghao
Added: dev/hbase/2.2.6RC2/api_compare_2.2.6RC2_to_2.2.5.html
==
--- dev/hbase/2.2.6RC2/api_compare_2.2.6RC2_to_2.2.5.html (added)
+++ dev/hbase/2.2.6RC2/api_compare_2.2.6RC2_to_2.2.5.html Fri Sep  4 02:46:04 
2020
@@ -0,0 +1,619 @@
+
+
+http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;>
+http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
+
+
+
+
+
+hbase: rel/2.2.5 to 2.2.6RC2 compatibility report
+
+body {
+font-family:Arial, sans-serif;
+background-color:White;
+color:Black;
+}
+hr {
+color:Black;
+background-color:Black;
+height:1px;
+border:0;
+}
+h1 {
+margin-bottom:0px;
+padding-bottom:0px;
+font-size:1.625em;
+}
+h2 {
+margin-bottom:0px;
+padding-bottom:0px;
+font-size:1.25em;
+white-space:nowrap;
+}
+div.symbols {
+color:#003E69;
+}
+div.symbols i {
+color:Brown;
+}
+span.section {
+font-weight:bold;
+cursor:pointer;
+color:#003E69;
+white-space:nowrap;
+margin-left:0.3125em;
+}
+span:hover.section {
+color:#336699;
+}
+span.sect_aff {
+cursor:pointer;
+padding-left:1.55em;
+font-size:0.875em;
+color:#cc3300;
+}
+span.ext {
+font-weight:normal;
+}
+span.jar {
+color:#cc3300;
+font-size:0.875em;
+font-weight:bold;
+}
+div.jar_list {
+padding-left:0.4em;
+font-size:0.94em;
+}
+span.pkg_t {
+color:#408080;
+font-size:0.875em;
+}
+span.pkg {
+color:#408080;
+font-size:0.875em;
+font-weight:bold;
+}
+span.cname {
+color:Green;
+font-size:0.875em;
+font-weight:bold;
+}
+span.iname_b {
+font-weight:bold;
+}
+span.iname_a {
+color:#33;
+font-weight:bold;
+font-size:0.94em;
+}
+span.sym_p {
+font-weight:normal;
+white-space:normal;
+}
+span.sym_pd {
+white-space:normal;
+}
+span.sym_p span, span.sym_pd span {
+white-space:nowrap;
+}
+span.attr {
+color:Black;
+font-weight:normal;
+}
+span.deprecated {
+color:Red;
+font-weight:bold;
+font-family:Monaco, monospace;
+}
+div.affect {
+padding-left:1em;
+padding-bottom:10px;
+font-size:0.87em;
+font-style:italic;
+line-height:0.9em;
+}
+div.affected {
+padding-left:2em;
+padding-top:10px;
+}
+table.ptable {
+border-collapse:collapse;
+border:1px outset black;
+margin-left:0.95em;
+margin-top:3px;
+margin-bottom:3px;
+width:56.25em;
+}
+table.ptable td {
+border:1px solid Gray;
+padding:3px;
+font-size:0.875em;
+text-align:left;
+vertical-align:top;
+max-width:28em;
+word-wrap:break-word;
+}
+table.ptable th {
+background-color:#ee;
+font-weight:bold;
+color:#33;
+font-family:Verdana, Arial;
+font-size:0.875em;
+border:1px solid Gray;
+text-align:center;
+vertical-align:top;
+white-space:nowrap;
+padding:3px;
+}
+table.summary {
+border-collapse:collapse;
+border:1px outset black;
+}
+table.summary th {
+background-color:#ee;
+font-weight:normal;
+text-align:left;
+font-size:0.94em;
+white-space:nowrap;
+border:1px inset Gray;
+padding:3px;
+}
+table.summary td {
+text-align:right;
+white-space:nowrap;
+border:1px inset Gray;
+padding:3px 5px 3px 10px;
+}
+span.mngl {
+padding-left:1em;
+font-size:0.875em;
+cursor:text;
+color:#44;
+font-weight:bold;
+}
+span.pleft {
+padding-left:2.5em;
+}
+span.color_p {
+font-style:italic;
+color:Brown;
+}
+span.param {
+font-style:italic;
+}
+span.focus_p {
+font-style:italic;
+background-color:#DCDCDC;
+}
+span.ttype {
+font-weight:normal;
+}
+span.nowrap {
+white-space:nowrap;
+}
+span.value {
+white-space:nowrap;
+font-weight:bold;
+}
+.passed {
+background-color:#CCFFCC;
+font-weight:normal;
+}
+.warning {
+background-color:#F4F4AF;
+font-weight:normal;
+}
+.failed {
+background-color:#FF;
+font-weight:normal;
+}
+.new {
+background-color:#C6DEFF;
+font-weight:normal;
+}
+
+.compatible {
+background-color:#CCFFCC;
+font-weight:normal;
+}
+.almost_compatible {
+background-color:#FFDAA3;
+font-weight:normal;
+}
+.incompatible {
+background-color:#FF;
+font-weight:normal;
+}
+.gray {
+background-color:#DCDCDC;
+font-weight:normal;
+}
+
+.top_ref {
+font-size:0.69em;
+}
+.footer {
+font-size:0.8125em;
+}
+.tabset {
+float:left;
+}
+a.tab {
+border:1px solid Black;
+float:left;
+margin:0px 5px -1px 0px;
+padding:3px 5px 3px 5px;
+position:relative;
+font-size:0.875em;
+background-color:#DDD;
+text-decoration:none;
+color:Black;
+}
+a.disabled:hover
+{
+color:Black;
+background:#EEE;
+}
+a.active:hover
+{
+color:Black;
+background:White;
+}
+a.active {
+border-bottom-color:White;
+background-color:White;
+}
+div.tab {
+border-top:1px solid 

[hbase] annotated tag 2.2.6RC2 created (now a44cf62)

2020-09-03 Thread zghao
This is an automated email from the ASF dual-hosted git repository.

zghao pushed a change to annotated tag 2.2.6RC2
in repository https://gitbox.apache.org/repos/asf/hbase.git.


  at a44cf62  (tag)
 tagging 88c9a386176e2c2b5fd9915d0e9d3ce17d0e456e (commit)
 replaces 2.2.6RC1
  by Guanghao Zhang
  on Fri Sep 4 09:44:20 2020 +0800

- Log -
Tagging the 2.2.6 third Release Candidate
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQIcBAABAgAGBQJfUZv0AAoJEAKVRF0X8TRurPcP/39bAqL6rjafzmz1slvY5gmd
h2zfUlRFn0pxMg/2EudFCqo6gt5L65TyXFUvsH707pxStXSA35B6kcgYEwO2J9b2
0buSNCnFcTBWHZM5BjFdlpxkBnYOBJDh/bVNnxf9yklnQT3fE06sgcDNLqHkLqLO
F+4VJj/64YtaRjvbwjI4cubv/X4VSTKoaP+t6HREFSALYX2qWsGcgGRkeYmejdOZ
8xwFwzOy/e0+jPbA/+h0QNzKI8XXwuiqGKT3m5pKe7Y/TiiE6YJhtDF0nLnEM6+7
LJpE0aOhB0Qjs+M0Q1Yhd1J9LFnNVzMJt6OXcMvt8rwu0a+IEZKxn3YEjAy2WEDW
EbnF6aFFzjVseQny2vygiHIR0I2Hqxfn0LA7mdJ7iFsZ/bqiJoE4dEnQssFD6NNG
fb4nH7uKIu8jE7wEHSyLMgaZgeuXbDsCCV7wa23QWZfMTz/mt+MOSiABu7LKXkE1
Kw+Q1A2EhyIuMgurxgVtImRXmE6HJLzXgDd8hVsbK9C/cE8eLFdzLaPq60Xbzt0U
z+xlGTbhyAJ3zqcElErt0il0E3RIbgoBAtNIn4q6zEsntm5P+77183qI0buAVStn
InRuQlHVFj7/guV+tXXTBpXlaeptlTDYuHCn7jc6vx6uFuk2dQnaVA01xBN535et
Tq0iapccPGVkhtBsbjr0
=uEg/
-END PGP SIGNATURE-
---

No new revisions were added by this update.



[hbase] branch branch-2.2 updated: HBASE-24689 Generate CHANGES.md and RELEASENOTES.md for 2.2.6 (addendum)

2020-09-03 Thread zghao
This is an automated email from the ASF dual-hosted git repository.

zghao pushed a commit to branch branch-2.2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.2 by this push:
 new 88c9a38  HBASE-24689 Generate CHANGES.md and RELEASENOTES.md for 2.2.6 
(addendum)
88c9a38 is described below

commit 88c9a386176e2c2b5fd9915d0e9d3ce17d0e456e
Author: Guanghao Zhang 
AuthorDate: Fri Sep 4 09:32:31 2020 +0800

HBASE-24689 Generate CHANGES.md and RELEASENOTES.md for 2.2.6 (addendum)
---
 CHANGES.md  | 10 --
 RELEASENOTES.md |  8 
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 15f25c1..e754cc1 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -20,13 +20,15 @@
 # Be careful doing manual edits in this file. Do not change format
 # of release header or remove the below marker. This file is generated.
 # DO NOT REMOVE THIS MARKER; FOR INTERPOLATING CHANGES!-->
-## Release 2.2.6 - Unreleased (as of 2020-08-26)
+## Release 2.2.6 - Unreleased (as of 2020-09-04)
 
 
 ### IMPROVEMENTS:
 
 | JIRA | Summary | Priority | Component |
 |: |: | :--- |: |
+| [HBASE-24913](https://issues.apache.org/jira/browse/HBASE-24913) | Refactor 
TestJMXConnectorServer |  Major | test |
+| [HBASE-24898](https://issues.apache.org/jira/browse/HBASE-24898) | Use 
EnvironmentEdge.currentTime() instead of System.currentTimeMillis() in 
CurrentHourProvider |  Major | tooling |
 | [HBASE-24928](https://issues.apache.org/jira/browse/HBASE-24928) | 
balanceRSGroup should skip generating balance plan for disabled table and 
splitParent region |  Major | Balancer |
 | [HBASE-24686](https://issues.apache.org/jira/browse/HBASE-24686) | [LOG] Log 
improvement in Connection#close |  Major | Client, logging |
 | [HBASE-24912](https://issues.apache.org/jira/browse/HBASE-24912) | Enlarge 
MemstoreFlusherChore/CompactionChecker period for unit test |  Major | . |
@@ -64,6 +66,10 @@
 
 | JIRA | Summary | Priority | Component |
 |: |: | :--- |: |
+| [HBASE-24656](https://issues.apache.org/jira/browse/HBASE-24656) | [Flakey 
Tests] branch-2 TestMasterNoCluster.testStopDuringStart |  Major | . |
+| [HBASE-19352](https://issues.apache.org/jira/browse/HBASE-19352) | Port 
HADOOP-10379: Protect authentication cookies with the HttpOnly and Secure flags 
|  Major | . |
+| [HBASE-24971](https://issues.apache.org/jira/browse/HBASE-24971) | Upgrade 
JQuery to 3.5.1 |  Major | security, UI |
+| [HBASE-24892](https://issues.apache.org/jira/browse/HBASE-24892) | config 
'hbase.hregion.memstore.mslab.indexchunksize' not be used |  Major | . |
 | [HBASE-24897](https://issues.apache.org/jira/browse/HBASE-24897) | 
RegionReplicaFlushHandler should handle NoServerForRegionException to avoid 
aborting RegionServer |  Major | . |
 | [HBASE-23987](https://issues.apache.org/jira/browse/HBASE-23987) | 
NettyRpcClientConfigHelper will not share event loop by default which is 
incorrect |  Major | Client, rpc |
 | [HBASE-24871](https://issues.apache.org/jira/browse/HBASE-24871) | 
Replication may loss data when refresh recovered replication sources |  Major | 
Replication |
@@ -129,6 +135,7 @@
 
 | JIRA | Summary | Priority | Component |
 |: |: | :--- |: |
+| [HBASE-24689](https://issues.apache.org/jira/browse/HBASE-24689) | Generate 
CHANGES.md and RELEASENOTES.md for 2.2.6 |  Major | . |
 | [HBASE-24881](https://issues.apache.org/jira/browse/HBASE-24881) | Fix flaky 
TestMasterAbortAndRSGotKilled for branch-2.2 |  Major | . |
 | [HBASE-24870](https://issues.apache.org/jira/browse/HBASE-24870) | Ignore 
TestAsyncTableRSCrashPublish |  Major | . |
 | [HBASE-24946](https://issues.apache.org/jira/browse/HBASE-24946) | Remove 
the metrics assert in TestClusterRestartFailover |  Major | . |
@@ -150,7 +157,6 @@
 | [HBASE-24819](https://issues.apache.org/jira/browse/HBASE-24819) | Fix flaky 
test TestRaceBetweenSCPAndDTP and TestRaceBetweenSCPAndTRSP for branch-2.2 |  
Major | . |
 | [HBASE-24756](https://issues.apache.org/jira/browse/HBASE-24756) | Backport 
HBASE-24336 to branch-2.2 |  Minor | metrics |
 | [HBASE-24690](https://issues.apache.org/jira/browse/HBASE-24690) | Set 
version to 2.2.6 in branch-2.2 for first RC of 2.2.6 |  Major | . |
-| [HBASE-24689](https://issues.apache.org/jira/browse/HBASE-24689) | Generate 
CHANGES.md and RELEASENOTES.md for 2.2.6 |  Major | . |
 | [HBASE-24630](https://issues.apache.org/jira/browse/HBASE-24630) | Purge dev 
javadoc from client bin tarball |  Major | build |
 | [HBASE-24598](https://issues.apache.org/jira/browse/HBASE-24598) | Port 
HBASE-24380 (Improve WAL splitting log lines to enable sessionization) to 
branch-2.2 |  Major | logging, Operability, wal |
 | [HBASE-24347](https://issues.apache.org/jira/browse/HBASE-24347) | 
Hadoop2 profiles are both active when pre-commit PR builds run |  Major 
| build |
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index 

[hbase] branch branch-2.2 updated: HBASE-24656 [Flakey Tests] branch-2 TestMasterNoCluster.testStopDuringStart (#1998)

2020-09-03 Thread zghao
This is an automated email from the ASF dual-hosted git repository.

zghao pushed a commit to branch branch-2.2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.2 by this push:
 new 23f295d  HBASE-24656 [Flakey Tests] branch-2 
TestMasterNoCluster.testStopDuringStart (#1998)
23f295d is described below

commit 23f295d9f271f8d991936b01d41dc97c70fa82eb
Author: Michael Stack 
AuthorDate: Mon Jun 29 11:10:14 2020 -0700

HBASE-24656 [Flakey Tests] branch-2 TestMasterNoCluster.testStopDuringStart 
(#1998)
---
 .../hadoop/hbase/master/TestMasterNoCluster.java   | 18 +-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java
index 15b14b4..7322836 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java
@@ -34,6 +34,7 @@ import org.apache.hadoop.hbase.ServerLoad;
 import org.apache.hadoop.hbase.ServerMetricsBuilder;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.Waiter;
 import org.apache.hadoop.hbase.ZooKeeperConnectionException;
 import org.apache.hadoop.hbase.client.ClusterConnection;
 import org.apache.hadoop.hbase.client.HConnectionTestingUtility;
@@ -117,7 +118,22 @@ public class TestMasterNoCluster {
 return false;
   }
 });
-ZKUtil.deleteNodeRecursively(zkw, zkw.getZNodePaths().baseZNode);
+// Before fails sometimes so retry.
+try {
+  TESTUTIL.waitFor(1, new Waiter.Predicate() {
+@Override public boolean evaluate() throws Exception {
+  try {
+ZKUtil.deleteNodeRecursively(zkw, zkw.getZNodePaths().baseZNode);
+return true;
+  } catch (KeeperException.NotEmptyException e) {
+LOG.info("Failed delete, retrying", e);
+  }
+  return false;
+}
+  });
+} catch (Exception e) {
+  LOG.info("Failed zk clear", e);
+}
 zkw.close();
   }
 



[hbase] branch master updated (c2721c8 -> 19d0140)

2020-09-03 Thread zghao
This is an automated email from the ASF dual-hosted git repository.

zghao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git.


from c2721c8  HBASE-24759 Refuse to update configuration of default group 
(#2126)
 add 19d0140  HBASE-24980 Fix dead links in HBase book (#2349)

No new revisions were added by this update.

Summary of changes:
 src/main/asciidoc/_chapters/architecture.adoc | 2 +-
 src/main/asciidoc/_chapters/other_info.adoc   | 3 +--
 src/site/asciidoc/metrics.adoc| 4 ++--
 3 files changed, 4 insertions(+), 5 deletions(-)



[hbase] branch master updated (19b8a2a -> c2721c8)

2020-09-03 Thread zghao
This is an automated email from the ASF dual-hosted git repository.

zghao pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git.


from 19b8a2a  HBASE-19352 Port HADOOP-10379: Protect authentication 
cookies with the HttpOnly and Secure flags (#2348)
 add c2721c8  HBASE-24759 Refuse to update configuration of default group 
(#2126)

No new revisions were added by this update.

Summary of changes:
 .../apache/hadoop/hbase/rsgroup/RSGroupInfo.java   | 11 +++---
 .../hbase/rsgroup/RSGroupInfoManagerImpl.java  |  8 -
 .../hadoop/hbase/rsgroup/TestRSGroupConfig.java| 42 +-
 3 files changed, 30 insertions(+), 31 deletions(-)



[hbase] branch branch-2 updated: HBASE-19352 Port HADOOP-10379: Protect authentication cookies with the HttpOnly and Secure flags

2020-09-03 Thread esteban
This is an automated email from the ASF dual-hosted git repository.

esteban pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2 by this push:
 new 800a4d9  HBASE-19352 Port HADOOP-10379: Protect authentication cookies 
with the HttpOnly and Secure flags
800a4d9 is described below

commit 800a4d9868a0f0eec4ca203e8f0f4d12a54f9d8e
Author: Esteban Gutierrez 
AuthorDate: Thu Sep 3 13:20:44 2020 -0500

HBASE-19352 Port HADOOP-10379: Protect authentication cookies with the 
HttpOnly and Secure flags

Signed-off-by: Sean Busbey 
---
 .../org/apache/hadoop/hbase/http/HttpServer.java   |   2 +
 .../hadoop/hbase/http/TestHttpCookieFlag.java  | 191 +
 2 files changed, 193 insertions(+)

diff --git 
a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java 
b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
index 50a6fe5..8a47ca9 100644
--- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
+++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
@@ -857,6 +857,8 @@ public class HttpServer implements FilterContainer {
   fmap.setFilterName(AdminAuthorizedFilter.class.getSimpleName());
   webAppContext.getServletHandler().addFilter(filter, fmap);
 }
+
webAppContext.getSessionHandler().getSessionCookieConfig().setHttpOnly(true);
+webAppContext.getSessionHandler().getSessionCookieConfig().setSecure(true);
 webAppContext.addServlet(holder, pathSpec);
   }
 
diff --git 
a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java 
b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java
new file mode 100644
index 000..d373d60
--- /dev/null
+++ 
b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java
@@ -0,0 +1,191 @@
+/**
+ * Licensed 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. See accompanying LICENSE file.
+ */
+package org.apache.hadoop.hbase.http;
+
+import java.util.List;
+import java.io.File;
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.HttpCookie;
+import java.net.URI;
+import java.net.URL;
+import javax.net.ssl.HttpsURLConnection;
+import javax.servlet.Filter;
+import javax.servlet.FilterConfig;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletResponse;
+import java.security.GeneralSecurityException;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.testclassification.MiscTests;
+import org.apache.hadoop.hbase.testclassification.SmallTests;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileUtil;
+import org.apache.hadoop.net.NetUtils;
+import org.apache.hadoop.security.authentication.server.AuthenticationFilter;
+import org.apache.hadoop.security.ssl.KeyStoreTestUtil;
+import org.apache.hadoop.security.ssl.SSLFactory;
+
+import org.junit.Assert;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+@Category({ MiscTests.class, SmallTests.class})
+public class TestHttpCookieFlag {
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+  HBaseClassTestRule.forClass(TestHttpCookieFlag.class);
+
+  private static final String BASEDIR = System.getProperty("test.build.dir",
+  "target/test-dir") + "/" +
+  org.apache.hadoop.hbase.http.TestHttpCookieFlag.class.getSimpleName();
+  private static String keystoresDir;
+  private static String sslConfDir;
+  private static SSLFactory clientSslFactory;
+  private static HttpServer server;
+
+  public static class DummyAuthenticationFilter implements Filter {
+
+@Override
+public void init(FilterConfig filterConfig) throws ServletException {
+}
+
+@Override
+public void doFilter(ServletRequest request, ServletResponse response,
+ FilterChain chain) throws IOException,
+   ServletException {
+  HttpServletResponse resp = (HttpServletResponse) response;
+  boolean isHttps = "https".equals(request.getScheme());
+  AuthenticationFilter.createAuthCookie(resp, "token", null, null, -1,
+  

[hbase] branch branch-2.3 updated: HBASE-19352 Port HADOOP-10379: Protect authentication cookies with the HttpOnly and Secure flags

2020-09-03 Thread esteban
This is an automated email from the ASF dual-hosted git repository.

esteban pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.3 by this push:
 new b9fcd1c  HBASE-19352 Port HADOOP-10379: Protect authentication cookies 
with the HttpOnly and Secure flags
b9fcd1c is described below

commit b9fcd1c4f2b4b1bc959718d631e83c87f4d5deb2
Author: Esteban Gutierrez 
AuthorDate: Thu Sep 3 13:20:44 2020 -0500

HBASE-19352 Port HADOOP-10379: Protect authentication cookies with the 
HttpOnly and Secure flags

Signed-off-by: Sean Busbey 
---
 .../org/apache/hadoop/hbase/http/HttpServer.java   |   4 +
 .../hadoop/hbase/http/TestHttpCookieFlag.java  | 191 +
 2 files changed, 195 insertions(+)

diff --git 
a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java 
b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
index d3176ca..f3c4a59 100644
--- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
+++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
@@ -858,6 +858,10 @@ public class HttpServer implements FilterContainer {
   fmap.setFilterName(AdminAuthorizedFilter.class.getSimpleName());
   webAppContext.getServletHandler().addFilter(filter, fmap);
 }
+webAppContext.getSessionHandler().getSessionManager().
+getSessionCookieConfig().setHttpOnly(true);
+webAppContext.getSessionHandler().getSessionManager().
+getSessionCookieConfig().setSecure(true);
 webAppContext.addServlet(holder, pathSpec);
   }
 
diff --git 
a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java 
b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java
new file mode 100644
index 000..d373d60
--- /dev/null
+++ 
b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java
@@ -0,0 +1,191 @@
+/**
+ * Licensed 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. See accompanying LICENSE file.
+ */
+package org.apache.hadoop.hbase.http;
+
+import java.util.List;
+import java.io.File;
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.HttpCookie;
+import java.net.URI;
+import java.net.URL;
+import javax.net.ssl.HttpsURLConnection;
+import javax.servlet.Filter;
+import javax.servlet.FilterConfig;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletResponse;
+import java.security.GeneralSecurityException;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.testclassification.MiscTests;
+import org.apache.hadoop.hbase.testclassification.SmallTests;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileUtil;
+import org.apache.hadoop.net.NetUtils;
+import org.apache.hadoop.security.authentication.server.AuthenticationFilter;
+import org.apache.hadoop.security.ssl.KeyStoreTestUtil;
+import org.apache.hadoop.security.ssl.SSLFactory;
+
+import org.junit.Assert;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+@Category({ MiscTests.class, SmallTests.class})
+public class TestHttpCookieFlag {
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+  HBaseClassTestRule.forClass(TestHttpCookieFlag.class);
+
+  private static final String BASEDIR = System.getProperty("test.build.dir",
+  "target/test-dir") + "/" +
+  org.apache.hadoop.hbase.http.TestHttpCookieFlag.class.getSimpleName();
+  private static String keystoresDir;
+  private static String sslConfDir;
+  private static SSLFactory clientSslFactory;
+  private static HttpServer server;
+
+  public static class DummyAuthenticationFilter implements Filter {
+
+@Override
+public void init(FilterConfig filterConfig) throws ServletException {
+}
+
+@Override
+public void doFilter(ServletRequest request, ServletResponse response,
+ FilterChain chain) throws IOException,
+   ServletException {
+  HttpServletResponse resp = (HttpServletResponse) response;
+  boolean isHttps = "https".equals(request.getScheme());
+  

[hbase] branch branch-2.2 updated: HBASE-19352 Port HADOOP-10379: Protect authentication cookies with the HttpOnly and Secure flags

2020-09-03 Thread esteban
This is an automated email from the ASF dual-hosted git repository.

esteban pushed a commit to branch branch-2.2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.2 by this push:
 new d234f1f  HBASE-19352 Port HADOOP-10379: Protect authentication cookies 
with the HttpOnly and Secure flags
d234f1f is described below

commit d234f1fbcc7a34bef57198742d0fc63e5ebf18c8
Author: Esteban Gutierrez 
AuthorDate: Thu Sep 3 13:20:44 2020 -0500

HBASE-19352 Port HADOOP-10379: Protect authentication cookies with the 
HttpOnly and Secure flags

Signed-off-by: Sean Busbey 
---
 .../org/apache/hadoop/hbase/http/HttpServer.java   |   4 +
 .../hadoop/hbase/http/TestHttpCookieFlag.java  | 191 +
 2 files changed, 195 insertions(+)

diff --git 
a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java 
b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
index 788fcfb..1e4adee 100644
--- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
+++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
@@ -823,6 +823,10 @@ public class HttpServer implements FilterContainer {
   fmap.setFilterName(AdminAuthorizedFilter.class.getSimpleName());
   webAppContext.getServletHandler().addFilter(filter, fmap);
 }
+webAppContext.getSessionHandler().getSessionManager().
+getSessionCookieConfig().setHttpOnly(true);
+webAppContext.getSessionHandler().getSessionManager().
+getSessionCookieConfig().setSecure(true);
 webAppContext.addServlet(holder, pathSpec);
   }
 
diff --git 
a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java 
b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java
new file mode 100644
index 000..d373d60
--- /dev/null
+++ 
b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java
@@ -0,0 +1,191 @@
+/**
+ * Licensed 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. See accompanying LICENSE file.
+ */
+package org.apache.hadoop.hbase.http;
+
+import java.util.List;
+import java.io.File;
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.HttpCookie;
+import java.net.URI;
+import java.net.URL;
+import javax.net.ssl.HttpsURLConnection;
+import javax.servlet.Filter;
+import javax.servlet.FilterConfig;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletResponse;
+import java.security.GeneralSecurityException;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.testclassification.MiscTests;
+import org.apache.hadoop.hbase.testclassification.SmallTests;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileUtil;
+import org.apache.hadoop.net.NetUtils;
+import org.apache.hadoop.security.authentication.server.AuthenticationFilter;
+import org.apache.hadoop.security.ssl.KeyStoreTestUtil;
+import org.apache.hadoop.security.ssl.SSLFactory;
+
+import org.junit.Assert;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+@Category({ MiscTests.class, SmallTests.class})
+public class TestHttpCookieFlag {
+  @ClassRule
+  public static final HBaseClassTestRule CLASS_RULE =
+  HBaseClassTestRule.forClass(TestHttpCookieFlag.class);
+
+  private static final String BASEDIR = System.getProperty("test.build.dir",
+  "target/test-dir") + "/" +
+  org.apache.hadoop.hbase.http.TestHttpCookieFlag.class.getSimpleName();
+  private static String keystoresDir;
+  private static String sslConfDir;
+  private static SSLFactory clientSslFactory;
+  private static HttpServer server;
+
+  public static class DummyAuthenticationFilter implements Filter {
+
+@Override
+public void init(FilterConfig filterConfig) throws ServletException {
+}
+
+@Override
+public void doFilter(ServletRequest request, ServletResponse response,
+ FilterChain chain) throws IOException,
+   ServletException {
+  HttpServletResponse resp = (HttpServletResponse) response;
+  boolean isHttps = "https".equals(request.getScheme());
+  

[hbase-site] branch asf-site updated: INFRA-10751 Empty commit

2020-09-03 Thread git-site-role
This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hbase-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
 new 64fc90b  INFRA-10751 Empty commit
64fc90b is described below

commit 64fc90b9873707c29eef1f7ff07abf82996f913d
Author: jenkins 
AuthorDate: Thu Sep 3 20:21:36 2020 +

INFRA-10751 Empty commit



[hbase] branch revert-2348-HBASE-19352 created (now 1c1a7be)

2020-09-03 Thread esteban
This is an automated email from the ASF dual-hosted git repository.

esteban pushed a change to branch revert-2348-HBASE-19352
in repository https://gitbox.apache.org/repos/asf/hbase.git.


  at 1c1a7be  Revert "HBASE-19352 Port HADOOP-10379: Protect 
authentication cookies with the HttpOnly and Secure flags (#2348)"

This branch includes the following new commits:

 new 1c1a7be  Revert "HBASE-19352 Port HADOOP-10379: Protect 
authentication cookies with the HttpOnly and Secure flags (#2348)"

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




[hbase] 01/01: Revert " HBASE-19352 Port HADOOP-10379: Protect authentication cookies with the HttpOnly and Secure flags (#2348)"

2020-09-03 Thread esteban
This is an automated email from the ASF dual-hosted git repository.

esteban pushed a commit to branch revert-2348-HBASE-19352
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 1c1a7be1a63525468a20180a0bb554abb0c8be3f
Author: Esteban Gutierrez 
AuthorDate: Thu Sep 3 13:38:45 2020 -0500

Revert "HBASE-19352 Port HADOOP-10379: Protect authentication cookies 
with the HttpOnly and Secure flags (#2348)"

This reverts commit 19b8a2a64a63e9e546af3497871b5346ea5b6b5b.
---
 .../org/apache/hadoop/hbase/http/HttpServer.java   |   2 -
 .../hadoop/hbase/http/TestHttpCookieFlag.java  | 191 -
 2 files changed, 193 deletions(-)

diff --git 
a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java 
b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
index 8a47ca9..50a6fe5 100644
--- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
+++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
@@ -857,8 +857,6 @@ public class HttpServer implements FilterContainer {
   fmap.setFilterName(AdminAuthorizedFilter.class.getSimpleName());
   webAppContext.getServletHandler().addFilter(filter, fmap);
 }
-
webAppContext.getSessionHandler().getSessionCookieConfig().setHttpOnly(true);
-webAppContext.getSessionHandler().getSessionCookieConfig().setSecure(true);
 webAppContext.addServlet(holder, pathSpec);
   }
 
diff --git 
a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java 
b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java
deleted file mode 100644
index d373d60..000
--- 
a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/**
- * Licensed 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. See accompanying LICENSE file.
- */
-package org.apache.hadoop.hbase.http;
-
-import java.util.List;
-import java.io.File;
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.HttpCookie;
-import java.net.URI;
-import java.net.URL;
-import javax.net.ssl.HttpsURLConnection;
-import javax.servlet.Filter;
-import javax.servlet.FilterConfig;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletResponse;
-import java.security.GeneralSecurityException;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
-import org.apache.hadoop.hbase.testclassification.MiscTests;
-import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileUtil;
-import org.apache.hadoop.net.NetUtils;
-import org.apache.hadoop.security.authentication.server.AuthenticationFilter;
-import org.apache.hadoop.security.ssl.KeyStoreTestUtil;
-import org.apache.hadoop.security.ssl.SSLFactory;
-
-import org.junit.Assert;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
-@Category({ MiscTests.class, SmallTests.class})
-public class TestHttpCookieFlag {
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-  HBaseClassTestRule.forClass(TestHttpCookieFlag.class);
-
-  private static final String BASEDIR = System.getProperty("test.build.dir",
-  "target/test-dir") + "/" +
-  org.apache.hadoop.hbase.http.TestHttpCookieFlag.class.getSimpleName();
-  private static String keystoresDir;
-  private static String sslConfDir;
-  private static SSLFactory clientSslFactory;
-  private static HttpServer server;
-
-  public static class DummyAuthenticationFilter implements Filter {
-
-@Override
-public void init(FilterConfig filterConfig) throws ServletException {
-}
-
-@Override
-public void doFilter(ServletRequest request, ServletResponse response,
- FilterChain chain) throws IOException,
-   ServletException {
-  HttpServletResponse resp = (HttpServletResponse) response;
-  boolean isHttps = "https".equals(request.getScheme());
-  AuthenticationFilter.createAuthCookie(resp, "token", null, null, -1,
-  true, isHttps);
-  chain.doFilter(request, resp);
-}
-
-@Override
-public void destroy() {
-}
-  }
-  public static class 

[hbase] branch master updated (a352706 -> 19b8a2a)

2020-09-03 Thread esteban
This is an automated email from the ASF dual-hosted git repository.

esteban pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git.


from a352706  HBASE-24940: runCatalogJanitor() API should return -1 to 
indicate already running status
 add 19b8a2a  HBASE-19352 Port HADOOP-10379: Protect authentication 
cookies with the HttpOnly and Secure flags (#2348)

No new revisions were added by this update.

Summary of changes:
 .../org/apache/hadoop/hbase/http/HttpServer.java   |   2 +
 .../hadoop/hbase/http/TestHttpCookieFlag.java  | 191 +
 2 files changed, 193 insertions(+)
 create mode 100644 
hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestHttpCookieFlag.java



[hbase] branch branch-1 updated: HBASE-24940: runCatalogJanitor() API should return -1 to indicate already running status

2020-09-03 Thread vjasani
This is an automated email from the ASF dual-hosted git repository.

vjasani pushed a commit to branch branch-1
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-1 by this push:
 new 76db1e1  HBASE-24940: runCatalogJanitor() API should return -1 to 
indicate already running status
76db1e1 is described below

commit 76db1e1791cfa2a6685580af254a8180363a8dba
Author: Mohammad Arshad 
AuthorDate: Thu Sep 3 15:46:10 2020 +0530

HBASE-24940: runCatalogJanitor() API should return -1 to indicate already 
running status

Closes #2331

Co-authored-by: Viraj Jasani 

Signed-off-by: Viraj Jasani 
---
 .../java/org/apache/hadoop/hbase/client/Admin.java |  2 +-
 .../apache/hadoop/hbase/master/CatalogJanitor.java |  4 ++-
 .../hadoop/hbase/master/TestCatalogJanitor.java| 32 ++
 3 files changed, 36 insertions(+), 2 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
index 4896df9..c32b391 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
@@ -779,7 +779,7 @@ public interface Admin extends Abortable, Closeable {
   /**
* Ask for a scan of the catalog table
*
-   * @return the number of entries cleaned
+   * @return the number of entries cleaned. Returns -1 if previous run is in 
progress.
* @throws IOException if a remote or network exception occurs
*/
   int runCatalogScan() throws IOException;
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
index 549c38f..911248c 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
@@ -238,7 +238,9 @@ public class CatalogJanitor extends ScheduledChore {
   int scan() throws IOException {
 try {
   if (!alreadyRunning.compareAndSet(false, true)) {
-return 0;
+LOG.debug("CatalogJanitor already running");
+// -1 indicates previous scan is in progress
+return -1;
   }
   Triple, Map> 
scanTriple =
 getMergedRegionsAndSplitParents();
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
index 9416620..397d5a8 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
@@ -26,6 +26,7 @@ import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.SortedMap;
@@ -1068,6 +1069,37 @@ public class TestCatalogJanitor {
 janitor.cancel(true);
   }
 
+  @Test
+  public void testAlreadyRunningStatus() throws Exception {
+int numberOfThreads = 2;
+final List gcValues = new ArrayList<>();
+Thread[] threads = new Thread[numberOfThreads];
+HBaseTestingUtility hBaseTestingUtility = new HBaseTestingUtility();
+
hBaseTestingUtility.getConfiguration().setInt("hbase.client.retries.number", 5);
+Server server = new MockServer(hBaseTestingUtility);
+MasterServices services = new MockMasterServices(server);
+final CatalogJanitor catalogJanitor = new CatalogJanitor(server, services);
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i] = new Thread(new Runnable() {
+@Override
+public void run() {
+  try {
+gcValues.add(catalogJanitor.scan());
+  } catch (IOException e) {
+throw new RuntimeException(e);
+  }
+}
+  });
+}
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i].start();
+}
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i].join();
+}
+assertTrue("One janitor.scan() call should have returned -1", 
gcValues.contains(-1));
+  }
+
   private FileStatus[] addMockStoreFiles(int count, MasterServices services, 
Path storedir)
   throws IOException {
 // get the existing store files



[hbase] branch branch-2.3 updated: HBASE-24940: runCatalogJanitor() API should return -1 to indicate already running status

2020-09-03 Thread vjasani
This is an automated email from the ASF dual-hosted git repository.

vjasani pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.3 by this push:
 new dc79b26  HBASE-24940: runCatalogJanitor() API should return -1 to 
indicate already running status
dc79b26 is described below

commit dc79b267618c3c05ae0cb26c6be925abb415bc5e
Author: Mohammad Arshad 
AuthorDate: Thu Sep 3 15:46:10 2020 +0530

HBASE-24940: runCatalogJanitor() API should return -1 to indicate already 
running status

Closes #2331

Signed-off-by: Viraj Jasani 
---
 .../java/org/apache/hadoop/hbase/client/Admin.java |  2 +-
 .../apache/hadoop/hbase/master/CatalogJanitor.java |  4 +++-
 .../hadoop/hbase/master/TestCatalogJanitor.java| 25 ++
 3 files changed, 29 insertions(+), 2 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
index d34f56f..75c71a3 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
@@ -1333,7 +1333,7 @@ public interface Admin extends Abortable, Closeable {
   /**
* Ask for a scan of the catalog table.
*
-   * @return the number of entries cleaned
+   * @return the number of entries cleaned. Returns -1 if previous run is in 
progress.
* @throws IOException if a remote or network exception occurs
* @deprecated Since 2.0.0. Will be removed in 3.0.0. Use {@link 
#runCatalogJanitor()}}
* instead.
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
index af413f3..33ba382 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
@@ -160,6 +160,7 @@ public class CatalogJanitor extends ScheduledChore {
* Run janitorial scan of catalog hbase:meta table looking for
* garbage to collect.
* @return How many items gc'd whether for merge or split.
+   *   Returns -1 if previous scan is in progress.
*/
   @VisibleForTesting
   public int scan() throws IOException {
@@ -167,7 +168,8 @@ public class CatalogJanitor extends ScheduledChore {
 try {
   if (!alreadyRunning.compareAndSet(false, true)) {
 LOG.debug("CatalogJanitor already running");
-return gcs;
+// -1 indicates previous scan is in progress
+return -1;
   }
   this.lastReport = scanForReport();
   if (!this.lastReport.isEmpty()) {
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
index 97a0f6f..5486817 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
@@ -25,6 +25,8 @@ import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 import java.util.NavigableMap;
 import java.util.Objects;
@@ -555,6 +557,29 @@ public class TestCatalogJanitor {
 assertArchiveEqualToOriginal(storeFiles, archivedStoreFiles, fs, true);
   }
 
+  @Test
+  public void testAlreadyRunningStatus() throws Exception {
+int numberOfThreads = 2;
+List gcValues = new ArrayList<>();
+Thread[] threads = new Thread[numberOfThreads];
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i] = new Thread(() -> {
+try {
+  gcValues.add(janitor.scan());
+} catch (IOException e) {
+  throw new RuntimeException(e);
+}
+  });
+}
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i].start();
+}
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i].join();
+}
+assertTrue("One janitor.scan() call should have returned -1", 
gcValues.contains(-1));
+  }
+
   private FileStatus[] addMockStoreFiles(int count, MasterServices services, 
Path storedir)
   throws IOException {
 // get the existing store files



[hbase] branch branch-2 updated: HBASE-24940: runCatalogJanitor() API should return -1 to indicate already running status

2020-09-03 Thread vjasani
This is an automated email from the ASF dual-hosted git repository.

vjasani pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2 by this push:
 new 17eeaef  HBASE-24940: runCatalogJanitor() API should return -1 to 
indicate already running status
17eeaef is described below

commit 17eeaef6d96f3d70fba26f37216b75efc35b987e
Author: Mohammad Arshad 
AuthorDate: Thu Sep 3 15:46:10 2020 +0530

HBASE-24940: runCatalogJanitor() API should return -1 to indicate already 
running status

Closes #2331

Signed-off-by: Viraj Jasani 
---
 .../java/org/apache/hadoop/hbase/client/Admin.java |  2 +-
 .../apache/hadoop/hbase/master/CatalogJanitor.java |  4 +++-
 .../hadoop/hbase/master/TestCatalogJanitor.java| 25 ++
 3 files changed, 29 insertions(+), 2 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
index 20b1fc0..d76ca51 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
@@ -1366,7 +1366,7 @@ public interface Admin extends Abortable, Closeable {
   /**
* Ask for a scan of the catalog table.
*
-   * @return the number of entries cleaned
+   * @return the number of entries cleaned. Returns -1 if previous run is in 
progress.
* @throws IOException if a remote or network exception occurs
* @deprecated Since 2.0.0. Will be removed in 3.0.0. Use {@link 
#runCatalogJanitor()}}
* instead.
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
index af413f3..33ba382 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
@@ -160,6 +160,7 @@ public class CatalogJanitor extends ScheduledChore {
* Run janitorial scan of catalog hbase:meta table looking for
* garbage to collect.
* @return How many items gc'd whether for merge or split.
+   *   Returns -1 if previous scan is in progress.
*/
   @VisibleForTesting
   public int scan() throws IOException {
@@ -167,7 +168,8 @@ public class CatalogJanitor extends ScheduledChore {
 try {
   if (!alreadyRunning.compareAndSet(false, true)) {
 LOG.debug("CatalogJanitor already running");
-return gcs;
+// -1 indicates previous scan is in progress
+return -1;
   }
   this.lastReport = scanForReport();
   if (!this.lastReport.isEmpty()) {
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
index 97a0f6f..5486817 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
@@ -25,6 +25,8 @@ import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 import java.util.NavigableMap;
 import java.util.Objects;
@@ -555,6 +557,29 @@ public class TestCatalogJanitor {
 assertArchiveEqualToOriginal(storeFiles, archivedStoreFiles, fs, true);
   }
 
+  @Test
+  public void testAlreadyRunningStatus() throws Exception {
+int numberOfThreads = 2;
+List gcValues = new ArrayList<>();
+Thread[] threads = new Thread[numberOfThreads];
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i] = new Thread(() -> {
+try {
+  gcValues.add(janitor.scan());
+} catch (IOException e) {
+  throw new RuntimeException(e);
+}
+  });
+}
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i].start();
+}
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i].join();
+}
+assertTrue("One janitor.scan() call should have returned -1", 
gcValues.contains(-1));
+  }
+
   private FileStatus[] addMockStoreFiles(int count, MasterServices services, 
Path storedir)
   throws IOException {
 // get the existing store files



[hbase] branch master updated: HBASE-24940: runCatalogJanitor() API should return -1 to indicate already running status

2020-09-03 Thread vjasani
This is an automated email from the ASF dual-hosted git repository.

vjasani pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
 new a352706  HBASE-24940: runCatalogJanitor() API should return -1 to 
indicate already running status
a352706 is described below

commit a3527067004e7496dd892f37a2ebcd5b76a71e26
Author: Mohammad Arshad 
AuthorDate: Thu Sep 3 15:46:10 2020 +0530

HBASE-24940: runCatalogJanitor() API should return -1 to indicate already 
running status

Closes #2331

Signed-off-by: Viraj Jasani 
---
 .../java/org/apache/hadoop/hbase/client/Admin.java |  2 +-
 .../apache/hadoop/hbase/master/CatalogJanitor.java |  4 +++-
 .../hadoop/hbase/master/TestCatalogJanitor.java| 25 ++
 3 files changed, 29 insertions(+), 2 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
index 40db1c1..f4fd14a 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
@@ -903,7 +903,7 @@ public interface Admin extends Abortable, Closeable {
   /**
* Ask for a scan of the catalog table.
*
-   * @return the number of entries cleaned
+   * @return the number of entries cleaned. Returns -1 if previous run is in 
progress.
* @throws IOException if a remote or network exception occurs
*/
   int runCatalogJanitor() throws IOException;
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
index 9e9a00f..b860d64 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
@@ -162,6 +162,7 @@ public class CatalogJanitor extends ScheduledChore {
* Run janitorial scan of catalog hbase:meta table looking for
* garbage to collect.
* @return How many items gc'd whether for merge or split.
+   *   Returns -1 if previous scan is in progress.
*/
   @VisibleForTesting
   public int scan() throws IOException {
@@ -169,7 +170,8 @@ public class CatalogJanitor extends ScheduledChore {
 try {
   if (!alreadyRunning.compareAndSet(false, true)) {
 LOG.debug("CatalogJanitor already running");
-return gcs;
+// -1 indicates previous scan is in progress
+return -1;
   }
   this.lastReport = scanForReport();
   if (!this.lastReport.isEmpty()) {
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
index 2e668f3..695b8b9 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
@@ -25,6 +25,8 @@ import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 import java.util.NavigableMap;
 import java.util.Objects;
@@ -551,6 +553,29 @@ public class TestCatalogJanitor {
 assertArchiveEqualToOriginal(storeFiles, archivedStoreFiles, fs, true);
   }
 
+  @Test
+  public void testAlreadyRunningStatus() throws Exception {
+int numberOfThreads = 2;
+List gcValues = new ArrayList<>();
+Thread[] threads = new Thread[numberOfThreads];
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i] = new Thread(() -> {
+try {
+  gcValues.add(janitor.scan());
+} catch (IOException e) {
+  throw new RuntimeException(e);
+}
+  });
+}
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i].start();
+}
+for (int i = 0; i < numberOfThreads; i++) {
+  threads[i].join();
+}
+assertTrue("One janitor.scan() call should have returned -1", 
gcValues.contains(-1));
+  }
+
   private FileStatus[] addMockStoreFiles(int count, MasterServices services, 
Path storedir)
 throws IOException {
 // get the existing store files



[hbase] branch branch-1 updated (1dc75e7 -> a48515a)

2020-09-03 Thread vjasani
This is an automated email from the ASF dual-hosted git repository.

vjasani pushed a change to branch branch-1
in repository https://gitbox.apache.org/repos/asf/hbase.git.


from 1dc75e7  [HBASE-24893] Fix failing TestLogLevel Unit Test (#2338)
 add a48515a  HBASE-24970 Backport HBASE-20985 to branch-1

No new revisions were added by this update.

Summary of changes:
 .../org/apache/hadoop/hbase/HTableDescriptor.java  |  36 ++
 .../master/normalizer/SimpleRegionNormalizer.java  |  32 -
 .../normalizer/TestSimpleRegionNormalizer.java | 131 ++---
 hbase-shell/src/main/ruby/hbase/admin.rb   |  12 +-
 hbase-shell/src/main/ruby/shell/commands/alter.rb  |   3 +-
 hbase-shell/src/test/ruby/hbase/admin_test.rb  |   7 ++
 6 files changed, 200 insertions(+), 21 deletions(-)