[hbase] 01/01: Preparing development version 2.4.17-SNAPSHOT

2023-01-29 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

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

commit 40c266c53d0217e82c79ab6baaa2975bf64f44b4
Author: Duo Zhang 
AuthorDate: Mon Jan 30 07:29:04 2023 +

Preparing development version 2.4.17-SNAPSHOT

Signed-off-by: Duo Zhang 
---
 hbase-annotations/pom.xml  | 2 +-
 hbase-archetypes/hbase-archetype-builder/pom.xml   | 2 +-
 hbase-archetypes/hbase-client-project/pom.xml  | 2 +-
 hbase-archetypes/hbase-shaded-client-project/pom.xml   | 2 +-
 hbase-archetypes/pom.xml   | 2 +-
 hbase-assembly/pom.xml | 2 +-
 hbase-asyncfs/pom.xml  | 2 +-
 hbase-build-configuration/pom.xml  | 2 +-
 hbase-checkstyle/pom.xml   | 4 ++--
 hbase-client/pom.xml   | 2 +-
 hbase-common/pom.xml   | 2 +-
 hbase-endpoint/pom.xml | 2 +-
 hbase-examples/pom.xml | 2 +-
 hbase-external-blockcache/pom.xml  | 2 +-
 hbase-hadoop-compat/pom.xml| 2 +-
 hbase-hadoop2-compat/pom.xml   | 2 +-
 hbase-hbtop/pom.xml| 2 +-
 hbase-http/pom.xml | 2 +-
 hbase-it/pom.xml   | 2 +-
 hbase-logging/pom.xml  | 2 +-
 hbase-mapreduce/pom.xml| 2 +-
 hbase-metrics-api/pom.xml  | 2 +-
 hbase-metrics/pom.xml  | 2 +-
 hbase-procedure/pom.xml| 2 +-
 hbase-protocol-shaded/pom.xml  | 2 +-
 hbase-protocol/pom.xml | 2 +-
 hbase-replication/pom.xml  | 2 +-
 hbase-resource-bundle/pom.xml  | 2 +-
 hbase-rest/pom.xml | 2 +-
 hbase-rsgroup/pom.xml  | 2 +-
 hbase-server/pom.xml   | 2 +-
 hbase-shaded/hbase-shaded-check-invariants/pom.xml | 2 +-
 hbase-shaded/hbase-shaded-client-byo-hadoop/pom.xml| 2 +-
 hbase-shaded/hbase-shaded-client/pom.xml   | 2 +-
 hbase-shaded/hbase-shaded-mapreduce/pom.xml| 2 +-
 hbase-shaded/hbase-shaded-testing-util-tester/pom.xml  | 2 +-
 hbase-shaded/hbase-shaded-testing-util/pom.xml | 2 +-
 hbase-shaded/hbase-shaded-with-hadoop-check-invariants/pom.xml | 2 +-
 hbase-shaded/pom.xml   | 2 +-
 hbase-shell/pom.xml| 2 +-
 hbase-testing-util/pom.xml | 2 +-
 hbase-thrift/pom.xml   | 2 +-
 hbase-zookeeper/pom.xml| 2 +-
 pom.xml| 2 +-
 44 files changed, 45 insertions(+), 45 deletions(-)

diff --git a/hbase-annotations/pom.xml b/hbase-annotations/pom.xml
index fb73c216c7d..bddfdf8ddb6 100644
--- a/hbase-annotations/pom.xml
+++ b/hbase-annotations/pom.xml
@@ -23,7 +23,7 @@
   
 org.apache.hbase
 hbase
-2.4.16
+2.4.17-SNAPSHOT
 ..
   
 
diff --git a/hbase-archetypes/hbase-archetype-builder/pom.xml 
b/hbase-archetypes/hbase-archetype-builder/pom.xml
index 2d759257abd..593b655b335 100644
--- a/hbase-archetypes/hbase-archetype-builder/pom.xml
+++ b/hbase-archetypes/hbase-archetype-builder/pom.xml
@@ -24,7 +24,7 @@
   
 org.apache.hbase
 hbase-archetypes
-2.4.16
+2.4.17-SNAPSHOT
 ..
   
 
diff --git a/hbase-archetypes/hbase-client-project/pom.xml 
b/hbase-archetypes/hbase-client-project/pom.xml
index 0ea3befd51d..2ba7f3ce8fe 100644
--- a/hbase-archetypes/hbase-client-project/pom.xml
+++ b/hbase-archetypes/hbase-client-project/pom.xml
@@ -23,7 +23,7 @@
   
 org.apache.hbase
 hbase-archetypes
-2.4.16
+2.4.17-SNAPSHOT
 ..
   
   hbase-client-project
diff --git a/hbase-archetypes/hbase-shaded-client-project/pom.xml 
b/hbase-archetypes/hbase-shaded-client-project/pom.xml
index 42659ac0cce..56f840270fa 100644
--- a/hbase-archetypes/hbase-shaded-client-project/pom.xml
+++ b/hbase-archetypes/hbase-shaded-client-project/pom.xml
@@ -23,7 +23,7 @@
   
 org.apache.hbase
 hbase-archetypes
-2.4.16
+2.4.17-SNAPSHOT
 ..
   
   

[hbase] branch branch-2.4 updated (32fe73eea43 -> 40c266c53d0)

2023-01-29 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

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


from 32fe73eea43 HBASE-26967 FilterList with FuzzyRowFilter and 
SingleColumnValueFilter evaluated with operator MUST_PASS_ONE doesn't work as 
expected(#4820)
 add b91e903536b Preparing hbase release 2.4.16RC0; tagging and updates to 
CHANGES.md and RELEASENOTES.md
 new 40c266c53d0 Preparing development version 2.4.17-SNAPSHOT

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.


Summary of changes:
 CHANGES.md | 107 -
 RELEASENOTES.md|  85 +++-
 hbase-annotations/pom.xml  |   2 +-
 hbase-archetypes/hbase-archetype-builder/pom.xml   |   2 +-
 hbase-archetypes/hbase-client-project/pom.xml  |   2 +-
 .../hbase-shaded-client-project/pom.xml|   2 +-
 hbase-archetypes/pom.xml   |   2 +-
 hbase-assembly/pom.xml |   2 +-
 hbase-asyncfs/pom.xml  |   2 +-
 hbase-build-configuration/pom.xml  |   2 +-
 hbase-checkstyle/pom.xml   |   4 +-
 hbase-client/pom.xml   |   2 +-
 hbase-common/pom.xml   |   2 +-
 hbase-endpoint/pom.xml |   2 +-
 hbase-examples/pom.xml |   2 +-
 hbase-external-blockcache/pom.xml  |   2 +-
 hbase-hadoop-compat/pom.xml|   2 +-
 hbase-hadoop2-compat/pom.xml   |   2 +-
 hbase-hbtop/pom.xml|   2 +-
 hbase-http/pom.xml |   2 +-
 hbase-it/pom.xml   |   2 +-
 hbase-logging/pom.xml  |   2 +-
 hbase-mapreduce/pom.xml|   2 +-
 hbase-metrics-api/pom.xml  |   2 +-
 hbase-metrics/pom.xml  |   2 +-
 hbase-procedure/pom.xml|   2 +-
 hbase-protocol-shaded/pom.xml  |   2 +-
 hbase-protocol/pom.xml |   2 +-
 hbase-replication/pom.xml  |   2 +-
 hbase-resource-bundle/pom.xml  |   2 +-
 hbase-rest/pom.xml |   2 +-
 hbase-rsgroup/pom.xml  |   2 +-
 hbase-server/pom.xml   |   2 +-
 hbase-shaded/hbase-shaded-check-invariants/pom.xml |   2 +-
 .../hbase-shaded-client-byo-hadoop/pom.xml |   2 +-
 hbase-shaded/hbase-shaded-client/pom.xml   |   2 +-
 hbase-shaded/hbase-shaded-mapreduce/pom.xml|   2 +-
 .../hbase-shaded-testing-util-tester/pom.xml   |   2 +-
 hbase-shaded/hbase-shaded-testing-util/pom.xml |   2 +-
 .../pom.xml|   2 +-
 hbase-shaded/pom.xml   |   2 +-
 hbase-shell/pom.xml|   2 +-
 hbase-testing-util/pom.xml |   2 +-
 hbase-thrift/pom.xml   |   2 +-
 hbase-zookeeper/pom.xml|   2 +-
 pom.xml|   2 +-
 46 files changed, 229 insertions(+), 53 deletions(-)



[hbase] 01/01: Preparing hbase release 2.4.16RC0; tagging and updates to CHANGES.md and RELEASENOTES.md

2023-01-29 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to annotated tag 2.4.16RC0
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit b91e903536bb689a01e0b25e93e9a7fe9294f100
Author: Duo Zhang 
AuthorDate: Mon Jan 30 07:28:58 2023 +

Preparing hbase release 2.4.16RC0; tagging and updates to CHANGES.md and 
RELEASENOTES.md

Signed-off-by: Duo Zhang 
---
 CHANGES.md | 107 -
 RELEASENOTES.md|  85 +++-
 hbase-annotations/pom.xml  |   2 +-
 hbase-archetypes/hbase-archetype-builder/pom.xml   |   2 +-
 hbase-archetypes/hbase-client-project/pom.xml  |   2 +-
 .../hbase-shaded-client-project/pom.xml|   2 +-
 hbase-archetypes/pom.xml   |   2 +-
 hbase-assembly/pom.xml |   2 +-
 hbase-asyncfs/pom.xml  |   2 +-
 hbase-build-configuration/pom.xml  |   2 +-
 hbase-checkstyle/pom.xml   |   4 +-
 hbase-client/pom.xml   |   2 +-
 hbase-common/pom.xml   |   2 +-
 hbase-endpoint/pom.xml |   2 +-
 hbase-examples/pom.xml |   2 +-
 hbase-external-blockcache/pom.xml  |   2 +-
 hbase-hadoop-compat/pom.xml|   2 +-
 hbase-hadoop2-compat/pom.xml   |   2 +-
 hbase-hbtop/pom.xml|   2 +-
 hbase-http/pom.xml |   2 +-
 hbase-it/pom.xml   |   2 +-
 hbase-logging/pom.xml  |   2 +-
 hbase-mapreduce/pom.xml|   2 +-
 hbase-metrics-api/pom.xml  |   2 +-
 hbase-metrics/pom.xml  |   2 +-
 hbase-procedure/pom.xml|   2 +-
 hbase-protocol-shaded/pom.xml  |   2 +-
 hbase-protocol/pom.xml |   2 +-
 hbase-replication/pom.xml  |   2 +-
 hbase-resource-bundle/pom.xml  |   2 +-
 hbase-rest/pom.xml |   2 +-
 hbase-rsgroup/pom.xml  |   2 +-
 hbase-server/pom.xml   |   2 +-
 hbase-shaded/hbase-shaded-check-invariants/pom.xml |   2 +-
 .../hbase-shaded-client-byo-hadoop/pom.xml |   2 +-
 hbase-shaded/hbase-shaded-client/pom.xml   |   2 +-
 hbase-shaded/hbase-shaded-mapreduce/pom.xml|   2 +-
 .../hbase-shaded-testing-util-tester/pom.xml   |   2 +-
 hbase-shaded/hbase-shaded-testing-util/pom.xml |   2 +-
 .../pom.xml|   2 +-
 hbase-shaded/pom.xml   |   2 +-
 hbase-shell/pom.xml|   2 +-
 hbase-testing-util/pom.xml |   2 +-
 hbase-thrift/pom.xml   |   2 +-
 hbase-zookeeper/pom.xml|   2 +-
 pom.xml|   2 +-
 46 files changed, 229 insertions(+), 53 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index d942685ad47..d1dc39d2984 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,4 +1,3 @@
-# HBASE Changelog
 
 
+# HBASE Changelog
+
+## Release 2.4.16 - Unreleased (as of 2023-01-30)
+
+
+
+### IMPROVEMENTS:
+
+| JIRA | Summary | Priority | Component |
+|: |: | :--- |: |
+| [HBASE-27159](https://issues.apache.org/jira/browse/HBASE-27159) | Emit 
source metrics for BlockCacheExpressHitPercent |  Minor | BlockCache, metrics |
+| [HBASE-27450](https://issues.apache.org/jira/browse/HBASE-27450) | Update 
all our python scripts to use python3 |  Major | scripts |
+| [HBASE-27414](https://issues.apache.org/jira/browse/HBASE-27414) | Search 
order for locations in  HFileLink |  Minor | Performance |
+| [HBASE-27506](https://issues.apache.org/jira/browse/HBASE-27506) | 
Optionally disable sorting directories by size in CleanerChore |  Minor | . |
+| [HBASE-26320](https://issues.apache.org/jira/browse/HBASE-26320) | Separate 
Log Cleaner DirScanPool to prevent the OLDWALs from filling up the disk when 
archive is large |  Major | Operability |
+| [HBASE-27503](https://issues.apache.org/jira/browse/HBASE-27503) | Support 
replace \ in GC\_OPTS for ZGC |  Minor | scripts |
+| [HBASE-27512](https://issues.apache.org/jira/browse/HBASE-27512) | Add file 
\`.git-blame-ignore-revs\` for \`git blame\` |  Trivial | . |
+| [HBASE-27487](https://issues.apache.org/jira/browse/HBASE-27487) | Slow meta 
can create pathological feedback loop with multigets |  Major | . |
+| [HBASE-22924](https://issues.apache.org/jira/browse/HBASE-22924) | GitHUB PR 
job should use when clause to filter to just PRs. |  Minor | build, 

[hbase] annotated tag 2.4.16RC0 created (now c3a5b48bca2)

2023-01-29 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a change to annotated tag 2.4.16RC0
in repository https://gitbox.apache.org/repos/asf/hbase.git


  at c3a5b48bca2 (tag)
 tagging b91e903536bb689a01e0b25e93e9a7fe9294f100 (commit)
 replaces rel/2.4.15
  by Duo Zhang
  on Mon Jan 30 07:28:58 2023 +

- Log -
Via create-release
-BEGIN PGP SIGNATURE-

iQIzBAABCgAdFiEE5Uu+PpfPpIqvdkfnqskz15rSrkkFAmPXcboACgkQqskz15rS
rkkS5hAAn0WzyH3G5jK1dVLQJ3gCAo4Ia3lc7U6xuAW4Of5FimQ7vTrHOjzp/S/k
4OrJzoz07UJnEQenjDEvjX9Db6oL6/CAQcP6yCKCHnCqJ8ct2+hJ3xAekMC8OJXy
tl1I09oBePudLe/gsEtrDiGVf0lrQ3gE37cVJ13R4/A5gWkefjCNiwSt064RQMet
npKMiTOgrQnXYy8ajJ2PoMR+mSt/ee+LP4UZqaT9yr5+S79sDABgRVi4TUviePrk
xV6vYkXaJJnwrIBN95hEVdu2oPD+M2DCMGV/ydvKUilz+xRBdTomQQA5VIwgQCCJ
iVKYderFEuqw3srt/Aze349swdJYHUAbGdj4CSRC8Oa8d9vP4/+BjLsR0BkrPCqG
nd9FgoXH7b+zt0JEYEZ//HZyeN54n1DtAlR/ArjrGiHozBkYkJOkjtXV3ReihaO3
SLhJMFFBuRw5KoQ/imJBfta/h4077sf/51yiBgkSgGT/eCH8JR7io2pP0WHoLs/Y
Wms1M4OyFEXvw7wvJTrEjxwx4iYpUY8YyIB/GWfmZH6szeY2eLxn9i0UpVNDX3Xh
DXZ4kfczVflv33na7hPlZhw7Qtm3+bYk9x5ozeAVBq53sZFihKLiRk/58bhQY3RZ
LJUzW/AOIeohZ05xFQx930VqTtmLXHsR+6oqk38SPO+JcCNdZbI=
=Uaar
-END PGP SIGNATURE-
---

This annotated tag includes the following new commits:

 new b91e903536b Preparing hbase release 2.4.16RC0; tagging and updates to 
CHANGES.md and RELEASENOTES.md

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.




svn commit: r59648 [3/4] - /dev/hbase/2.5.3RC1/

2023-01-29 Thread taklwu
Added: dev/hbase/2.5.3RC1/RELEASENOTES.md
==
--- dev/hbase/2.5.3RC1/RELEASENOTES.md (added)
+++ dev/hbase/2.5.3RC1/RELEASENOTES.md Sun Jan 29 20:52:49 2023
@@ -0,0 +1,11325 @@
+# RELEASENOTES
+
+# HBASE  2.5.3 Release Notes
+
+These release notes cover new developer and user-facing incompatibilities, 
important issues, features, and major improvements.
+
+
+---
+
+* [HBASE-27506](https://issues.apache.org/jira/browse/HBASE-27506) | *Minor* | 
**Optionally disable sorting directories by size in CleanerChore**
+
+Added \`hbase.cleaner.directory.sorting\` configuration to enable the 
CleanerChore to sort the subdirectories by consumed space and start the 
cleaning with the largest subdirectory. Enabled by default.
+
+
+---
+
+* [HBASE-27494](https://issues.apache.org/jira/browse/HBASE-27494) | *Minor* | 
**Client meta cache clear by exception metrics are missing some cases**
+
+Patch available at https://github.com/apache/hbase/pull/4902
+
+
+---
+
+* [HBASE-27490](https://issues.apache.org/jira/browse/HBASE-27490) | *Major* | 
**Locating regions for all actions of batch requests can exceed operation 
timeout**
+
+The first step of submitting a multi request is to resolve all region 
locations for all actions in the request. If meta is slow, previously it was 
possible to exceed the configured operation timeout in this phase. Now, the 
operation timeout will be checked before each region location lookup. Once 
exceeded, the multi request will be failed but the region locations that had 
been looked up should remain in the cache (making future requests more likely 
to succeed).
+
+
+---
+
+* [HBASE-27513](https://issues.apache.org/jira/browse/HBASE-27513) | *Major* | 
**Modify README.txt to mention how to contribue**
+
+Remove README.txt and replace it with README.md.
+Add a 'How to Contribute' section to tell contributors how to acquire a jira 
account.
+
+
+---
+
+* [HBASE-27498](https://issues.apache.org/jira/browse/HBASE-27498) | *Major* | 
**Observed lot of threads blocked in 
ConnectionImplementation.getKeepAliveMasterService**
+
+added hbase.client.master.state.cache.timeout.sec for sync connection 
implementation ConnectionImplementation such that cached the master is running 
state instead always refresh the master states per RPC call.
+
+
+---
+
+* [HBASE-27233](https://issues.apache.org/jira/browse/HBASE-27233) | *Major* | 
**Read blocks into off-heap if caching is disabled for read**
+
+Using Scan.setCacheBlocks(false) with on-heap LRUBlockCache will now result in 
significantly less heap allocations for those scans if 
hbase.server.allocator.pool.enabled is enabled. Previously all allocations went 
to on-heap if LRUBlockCache was used, but now it will go to the off-heap pool 
if cache blocks is enabled.
+
+
+---
+
+* [HBASE-27565](https://issues.apache.org/jira/browse/HBASE-27565) | *Major* | 
**Make the initial corePoolSize configurable for ChoreService**
+
+Add 'hbase.choreservice.initial.pool.size' configuration property to set the 
initial number of threads for the ChoreService.
+
+
+---
+
+* [HBASE-27529](https://issues.apache.org/jira/browse/HBASE-27529) | *Major* | 
**Provide RS coproc ability to attach WAL extended attributes to mutations at 
replication sink**
+
+New regionserver coproc endpoints that can be used by coproc at the 
replication sink cluster if WAL has extended attributes. 
+Using the new endpoints, WAL extended attributes can be transferred to 
Mutation attributes at the replication sink cluster.
+
+
+---
+
+* [HBASE-27575](https://issues.apache.org/jira/browse/HBASE-27575) | *Minor* | 
**Bump future from 0.18.2 to 0.18.3 in /dev-support**
+
+pushed to 2.4, 2.5, branch-2, and master
+
+
+
+# HBASE  2.5.2 Release Notes
+
+These release notes cover new developer and user-facing incompatibilities, 
important issues, features, and major improvements.
+
+
+---
+
+* [HBASE-27434](https://issues.apache.org/jira/browse/HBASE-27434) | *Major* | 
**Use $revision as placeholder for maven version to make it easier to control 
the version from command line**
+
+Use ${revision} as placeholder for maven version in pom, so later you can use 
'mvn install -Drevision=xxx' to specify the version at build time.
+After this change, you can not use mvn versions:set to bump the version, 
instead. you should just modify the parent pom to change the value of the 
'revision' property in the properties section.
+
+
+---
+
+* [HBASE-27472](https://issues.apache.org/jira/browse/HBASE-27472) | *Major* | 
**The personality script set wrong hadoop2 check version for branch-2**
+
+This only affects branch-2 but for aliging the personality scripts across all 
active branches, we apply it to all active branches.
+
+
+---
+
+* [HBASE-27443](https://issues.apache.org/jira/browse/HBASE-27443) | *Major* | 
**Use java11 in the general check of our jenkins job**
+
+Change to use java 11 in nightly and pre commit jobs.
+
+Bump error prone 

svn commit: r59648 [4/4] - /dev/hbase/2.5.3RC1/

2023-01-29 Thread taklwu
Added: dev/hbase/2.5.3RC1/api_compare_2.5.2_to_2.5.3RC1.html
==
--- dev/hbase/2.5.3RC1/api_compare_2.5.2_to_2.5.3RC1.html (added)
+++ dev/hbase/2.5.3RC1/api_compare_2.5.2_to_2.5.3RC1.html Sun Jan 29 20:52:49 
2023
@@ -0,0 +1,576 @@
+
+
+http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;>
+http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
+
+
+
+
+
+hbase: rel/2.5.2 to 2.5.3RC1 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 

svn commit: r59648 [2/4] - /dev/hbase/2.5.3RC1/

2023-01-29 Thread taklwu


Added: dev/hbase/2.5.3RC1/CHANGES.md
==
--- dev/hbase/2.5.3RC1/CHANGES.md (added)
+++ dev/hbase/2.5.3RC1/CHANGES.md Sun Jan 29 20:52:49 2023
@@ -0,0 +1,8156 @@
+
+
+# HBASE Changelog
+
+## Release 2.5.3 - Unreleased (as of 2023-01-29)
+
+
+
+### IMPROVEMENTS:
+
+| JIRA | Summary | Priority | Component |
+|: |: | :--- |: |
+| [HBASE-27506](https://issues.apache.org/jira/browse/HBASE-27506) | 
Optionally disable sorting directories by size in CleanerChore |  Minor | . |
+| [HBASE-27503](https://issues.apache.org/jira/browse/HBASE-27503) | Support 
replace \ in GC\_OPTS for ZGC |  Minor | scripts |
+| [HBASE-27512](https://issues.apache.org/jira/browse/HBASE-27512) | Add file 
\`.git-blame-ignore-revs\` for \`git blame\` |  Trivial | . |
+| [HBASE-27487](https://issues.apache.org/jira/browse/HBASE-27487) | Slow meta 
can create pathological feedback loop with multigets |  Major | . |
+| [HBASE-27466](https://issues.apache.org/jira/browse/HBASE-27466) | hbase 
client metrics per user specified identity on hconnections. |  Major | Client |
+| [HBASE-27490](https://issues.apache.org/jira/browse/HBASE-27490) | Locating 
regions for all actions of batch requests can exceed operation timeout |  Major 
| . |
+| [HBASE-22924](https://issues.apache.org/jira/browse/HBASE-22924) | GitHUB PR 
job should use when clause to filter to just PRs. |  Minor | build, community |
+| [HBASE-27491](https://issues.apache.org/jira/browse/HBASE-27491) | 
AsyncProcess should not clear meta cache for RejectedExecutionException |  
Major | . |
+| [HBASE-27459](https://issues.apache.org/jira/browse/HBASE-27459) | Improve 
our hbase\_docker to be able to build and start standalone clusters other than 
master branch |  Major | scripts |
+| [HBASE-27530](https://issues.apache.org/jira/browse/HBASE-27530) | Fix 
comment syntax errors |  Trivial | documentation |
+| [HBASE-27253](https://issues.apache.org/jira/browse/HBASE-27253) | Make slow 
log configs updatable with configuration observer |  Major | . |
+| [HBASE-27540](https://issues.apache.org/jira/browse/HBASE-27540) | Client 
metrics for success/failure counts. |  Major | Client |
+| [HBASE-27233](https://issues.apache.org/jira/browse/HBASE-27233) | Read 
blocks into off-heap if caching is disabled for read |  Major | . |
+| [HBASE-27531](https://issues.apache.org/jira/browse/HBASE-27531) | 
AsyncRequestFutureImpl unnecessarily clears meta cache for full server |  Major 
| . |
+| [HBASE-27565](https://issues.apache.org/jira/browse/HBASE-27565) | Make the 
initial corePoolSize configurable for ChoreService |  Major | conf |
+| [HBASE-27529](https://issues.apache.org/jira/browse/HBASE-27529) | Provide 
RS coproc ability to attach WAL extended attributes to mutations at replication 
sink |  Major | Coprocessors, Replication |
+| [HBASE-27562](https://issues.apache.org/jira/browse/HBASE-27562) | Publish 
SBOM artifacts |  Major | java |
+| [HBASE-27583](https://issues.apache.org/jira/browse/HBASE-27583) | Remove -X 
option when building protoc check in nightly and pre commit job |  Major | 
jenkins, scripts |
+
+
+### BUG FIXES:
+
+| JIRA | Summary | Priority | Component |
+|: |: | :--- |: |
+| [HBASE-27463](https://issues.apache.org/jira/browse/HBASE-27463) | Reset 
sizeOfLogQueue when refresh replication source |  Minor | Replication |
+| [HBASE-27510](https://issues.apache.org/jira/browse/HBASE-27510) | Should 
use 'org.apache.hbase.thirdparty.io.netty.tryReflectionSetAccessible' |  Major 
| . |
+| [HBASE-27484](https://issues.apache.org/jira/browse/HBASE-27484) | FNFE on 
StoreFileScanner after a flush followed by a compaction |  Major | . |
+| [HBASE-27494](https://issues.apache.org/jira/browse/HBASE-27494) | Client 
meta cache clear by exception metrics are missing some cases |  Minor | . |
+| [HBASE-27519](https://issues.apache.org/jira/browse/HBASE-27519) | Another 
case for FNFE on StoreFileScanner after a flush followed by a compaction |  
Major | . |
+| [HBASE-27498](https://issues.apache.org/jira/browse/HBASE-27498) | Observed 
lot of threads blocked in ConnectionImplementation.getKeepAliveMasterService |  
Major | Client |
+| [HBASE-27524](https://issues.apache.org/jira/browse/HBASE-27524) | Fix 
python requirements problem |  Major | scripts, security |
+| [HBASE-27390](https://issues.apache.org/jira/browse/HBASE-27390) | 
getClusterMetrics NullPointerException when ServerTask status null |  Major | . 
|
+| [HBASE-27485](https://issues.apache.org/jira/browse/HBASE-27485) | 
HBaseTestingUtility minicluster requires log4j2 |  Major | test |
+| [HBASE-27566](https://issues.apache.org/jira/browse/HBASE-27566) | Bump 
gitpython from 3.1.29 to 3.1.30 in /dev-support |  Major | scripts, security |
+| [HBASE-27560](https://issues.apache.org/jira/browse/HBASE-27560) | 
CatalogJanitor consistencyCheck cannot report the hole on last region if next 
table is disabled in meta |  Minor | 

svn commit: r59648 [1/4] - /dev/hbase/2.5.3RC1/

2023-01-29 Thread taklwu
Author: taklwu
Date: Sun Jan 29 20:52:49 2023
New Revision: 59648

Log:
Apache hbase 2.5.3RC1

Added:
dev/hbase/2.5.3RC1/
dev/hbase/2.5.3RC1/CHANGES.md
dev/hbase/2.5.3RC1/RELEASENOTES.md
dev/hbase/2.5.3RC1/api_compare_2.5.2_to_2.5.3RC1.html
dev/hbase/2.5.3RC1/hbase-2.5.3-bin.tar.gz   (with props)
dev/hbase/2.5.3RC1/hbase-2.5.3-bin.tar.gz.asc
dev/hbase/2.5.3RC1/hbase-2.5.3-bin.tar.gz.sha512
dev/hbase/2.5.3RC1/hbase-2.5.3-client-bin.tar.gz   (with props)
dev/hbase/2.5.3RC1/hbase-2.5.3-client-bin.tar.gz.asc
dev/hbase/2.5.3RC1/hbase-2.5.3-client-bin.tar.gz.sha512
dev/hbase/2.5.3RC1/hbase-2.5.3-hadoop3-bin.tar.gz   (with props)
dev/hbase/2.5.3RC1/hbase-2.5.3-hadoop3-bin.tar.gz.asc
dev/hbase/2.5.3RC1/hbase-2.5.3-hadoop3-bin.tar.gz.sha512
dev/hbase/2.5.3RC1/hbase-2.5.3-hadoop3-client-bin.tar.gz   (with props)
dev/hbase/2.5.3RC1/hbase-2.5.3-hadoop3-client-bin.tar.gz.asc
dev/hbase/2.5.3RC1/hbase-2.5.3-hadoop3-client-bin.tar.gz.sha512
dev/hbase/2.5.3RC1/hbase-2.5.3-src.tar.gz   (with props)
dev/hbase/2.5.3RC1/hbase-2.5.3-src.tar.gz.asc
dev/hbase/2.5.3RC1/hbase-2.5.3-src.tar.gz.sha512



[hbase] branch branch-2.5 updated (4caa19f6a9e -> bd1e626051a)

2023-01-29 Thread taklwu
This is an automated email from the ASF dual-hosted git repository.

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


from 4caa19f6a9e HBASE-26967 FilterList with FuzzyRowFilter and 
SingleColumnValueFilter evaluated with operator MUST_PASS_ONE doesn't work as 
expected(#4820)
 add 601b1e394f0 Preparing hbase release 2.5.3RC1; tagging and updates to 
CHANGES.md and RELEASENOTES.md
 new bd1e626051a Preparing development version 2.5.4-SNAPSHOT

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.


Summary of changes:
 CHANGES.md | 1 +
 1 file changed, 1 insertion(+)



[hbase] 01/01: Preparing development version 2.5.4-SNAPSHOT

2023-01-29 Thread taklwu
This is an automated email from the ASF dual-hosted git repository.

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

commit bd1e626051a1ef3afbe33b8b6629dcf6b159a22c
Author: Tak Lon (Stephen) Wu 
AuthorDate: Sun Jan 29 14:20:46 2023 +

Preparing development version 2.5.4-SNAPSHOT

Signed-off-by: Tak Lon (Stephen) Wu 
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 37ed4041cca..fea4c547d68 100644
--- a/pom.xml
+++ b/pom.xml
@@ -521,7 +521,7 @@
 
   
   
-2.5.3
+2.5.4-SNAPSHOT
 
 false



[hbase] 01/01: Preparing hbase release 2.5.3RC1; tagging and updates to CHANGES.md and RELEASENOTES.md

2023-01-29 Thread taklwu
This is an automated email from the ASF dual-hosted git repository.

taklwu pushed a commit to annotated tag 2.5.3RC1
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 601b1e394f04bb539760b36b7e98ae121fed85ed
Author: Tak Lon (Stephen) Wu 
AuthorDate: Sun Jan 29 14:20:31 2023 +

Preparing hbase release 2.5.3RC1; tagging and updates to CHANGES.md and 
RELEASENOTES.md

Signed-off-by: Tak Lon (Stephen) Wu 
---
 CHANGES.md | 1 +
 pom.xml| 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGES.md b/CHANGES.md
index e20a5969854..f036d3d2a70 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -70,6 +70,7 @@
 | [HBASE-27586](https://issues.apache.org/jira/browse/HBASE-27586) | Bump up 
commons-codec to 1.15 |  Major | dependencies, security |
 | [HBASE-27585](https://issues.apache.org/jira/browse/HBASE-27585) | Bump up 
jruby to 9.3.9.0 and related joni and jcodings to 2.1.43 and 1.0.57 
respectively |  Major | jruby, security |
 | [HBASE-27547](https://issues.apache.org/jira/browse/HBASE-27547) | Close 
store file readers after region warmup |  Major | regionserver |
+| [HBASE-26967](https://issues.apache.org/jira/browse/HBASE-26967) | 
FilterList with FuzzyRowFilter and SingleColumnValueFilter evaluated with 
operator MUST\_PASS\_ONE doesn't work as expected |  Critical | Filters |
 
 
 ### SUB-TASKS:
diff --git a/pom.xml b/pom.xml
index fea4c547d68..37ed4041cca 100644
--- a/pom.xml
+++ b/pom.xml
@@ -521,7 +521,7 @@
 
   
   
-2.5.4-SNAPSHOT
+2.5.3
 
 false



[hbase] annotated tag 2.5.3RC1 created (now 5d487b693d9)

2023-01-29 Thread taklwu
This is an automated email from the ASF dual-hosted git repository.

taklwu pushed a change to annotated tag 2.5.3RC1
in repository https://gitbox.apache.org/repos/asf/hbase.git


  at 5d487b693d9 (tag)
 tagging 601b1e394f04bb539760b36b7e98ae121fed85ed (commit)
 replaces 2.5.3RC0
  by Tak Lon (Stephen) Wu
  on Sun Jan 29 14:20:32 2023 +

- Log -
Via create-release
-BEGIN PGP SIGNATURE-

iQIzBAABCgAdFiEEYVJfGm2bU3nrNAMbCSFVWuk1rVQFAmPWgLAACgkQCSFVWuk1
rVT54RAAhRzrld+MmxBQgmEgPk0hFhaqc7OZ+wS8GuDZqjsiWBgyJ1wJqRvX8DPV
HH099MHaHNU9YQzes2uqXwSNoOoOt3jgKP/kPpVE7aaYQkDe9K4sdYu/4Qt27ct/
TjU3zp+4PWaUte+0VP+jZByjrE1fqOZM+lBjF0w55goQtj+DPXwqOWYKiMm9ZmpR
DEOsU8plHNESQ6ytq2+h1/b6F8UexIjipvDZ6BUwcdJomH4OyfknBBOkZYbEOLP3
jkezI9nN6/R7neUUU/b11s2UNZhAcpMEbtrdo+h9iULFJ9uqKksB2QNEejGsCFfb
QDznfcA1at5X5TDVoP1Ns1cZwSYWOHm+pfqaXpCdukgSagD0iyXOYzYcnB3O+gla
0r0zBmJHaih/WQ7hiTlHqNUpY3EUCimH0s6JOK5a5K4pdb2bMgk+fc56dnWGUqwz
ym2ptlQNa9WkRfo1hEYZy89rkgWTwHcRCRbocMGcnU5olzd8eBlZO07FAQ+ZtGRx
T44ii0VAN27SNUUvNVTvSOWt4mFVfKg8nwgepwunt4wNwP7KvhLyMuEy0uhazJ2j
F9y2pOqC98so1ac1CTZe70RNSE/COJiXk/TEY9esDGQdcL/iNLv6T4Sxx+we7ogh
jIiewC5jXu0onA+GMKHidZSCsP8CI7qEtng48ShCLWOx0QbtRqc=
=ZBtM
-END PGP SIGNATURE-
---

This annotated tag includes the following new commits:

 new 601b1e394f0 Preparing hbase release 2.5.3RC1; tagging and updates to 
CHANGES.md and RELEASENOTES.md

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] branch branch-2 updated: HBASE-26967 FilterList with FuzzyRowFilter and SingleColumnValueFilter evaluated with operator MUST_PASS_ONE doesn't work as expected(#4820)

2023-01-29 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo 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 3a98d87030c HBASE-26967 FilterList with FuzzyRowFilter and 
SingleColumnValueFilter evaluated with operator MUST_PASS_ONE doesn't work as 
expected(#4820)
3a98d87030c is described below

commit 3a98d87030c30fa5e07ce40becd860ec9dbe85d4
Author: chaijunjie0101 <1340011...@qq.com>
AuthorDate: Sun Jan 29 17:18:18 2023 +0800

HBASE-26967 FilterList with FuzzyRowFilter and SingleColumnValueFilter 
evaluated with operator MUST_PASS_ONE doesn't work as expected(#4820)

Close #4820

Co-authored-by: Duo Zhang 
Signed-off-by: Duo Zhang 
(cherry picked from commit 382681e2d6b6c417145022d7df81390bf42f2773)
---
 .../org/apache/hadoop/hbase/filter/FilterBase.java |  2 +-
 .../apache/hadoop/hbase/filter/FuzzyRowFilter.java | 43 +---
 .../hbase/filter/TestFuzzyRowFilterEndToEnd.java   | 57 +-
 3 files changed, 91 insertions(+), 11 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
index 988725edad5..8c330d6aa9b 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
@@ -85,7 +85,7 @@ public abstract class FilterBase extends Filter {
   }
 
   /**
-   * Fitlers that never filter by modifying the returned List of Cells can 
inherit this
+   * Filters that never filter by modifying the returned List of Cells can 
inherit this
* implementation that does nothing. {@inheritDoc}
*/
   @Override
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
index cc09bdb94d7..5019f990484 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hbase.filter;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
@@ -48,13 +49,20 @@ import 
org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.BytesBytesP
  * 1 - means that this byte in provided row key is NOT fixed, i.e. row 
key's byte at this
  * position can be different from the one in provided row key
  * 
- * Example: Let's assume row key format is userId_actionId_year_month. Length 
of userId is fixed and
- * is 4, length of actionId is 2 and year and month are 4 and 2 bytes long 
respectively. Let's
- * assume that we need to fetch all users that performed certain action 
(encoded as "99") in Jan of
- * any year. Then the pair (row key, fuzzy info) would be the following: row 
key = "_99__01"
- * (one can use any value instead of "?") fuzzy info =
- * "\x01\x01\x01\x01\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00" I.e. fuzzy 
info tells the matching
- * mask is "_99__01", where at ? can be any value.
+ * Example:
+ * 
+ * Let's assume row key format is userId_actionId_year_month. Length of userId 
is fixed and is 4,
+ * length of actionId is 2 and year and month are 4 and 2 bytes long 
respectively.
+ * 
+ * Let's assume that we need to fetch all users that performed certain action 
(encoded as "99") in
+ * Jan of any year. Then the pair (row key, fuzzy info) would be the following:
+ *
+ * 
+ * row key = "_99__01" (one can use any value instead of "?")
+ * fuzzy info = "\x01\x01\x01\x01\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00"
+ * 
+ *
+ * I.e. fuzzy info tells the matching mask is "_99__01", where at ? 
can be any value.
  */
 @InterfaceAudience.Public
 public class FuzzyRowFilter extends FilterBase {
@@ -71,6 +79,15 @@ public class FuzzyRowFilter extends FilterBase {
 
   private final byte processedWildcardMask;
   private List> fuzzyKeysData;
+  // Used to record whether we want to skip the current row.
+  // Usually we should use filterRowKey here but in the current scan 
implementation, if filterRowKey
+  // returns true, we will just skip to next row, instead of calling 
getNextCellHint to determine
+  // the actual next row, so we need to implement filterCell and return 
SEEK_NEXT_USING_HINT to let
+  // upper layer call getNextCellHint.
+  // And if we do not implement filterRow, sometimes we will get incorrect 
result when using
+  // FuzzyRowFilter together with other filters, please see the description 
for HBASE-26967 for more
+  // details.
+  private boolean filterRow;
   private boolean done = false;
 
   /**
@@ -172,6 +189,16 @@ public class FuzzyRowFilter extends FilterBase {
 return filterCell(c);
   }
 
+  @Override
+  

[hbase] branch branch-2.5 updated: HBASE-26967 FilterList with FuzzyRowFilter and SingleColumnValueFilter evaluated with operator MUST_PASS_ONE doesn't work as expected(#4820)

2023-01-29 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/branch-2.5 by this push:
 new 4caa19f6a9e HBASE-26967 FilterList with FuzzyRowFilter and 
SingleColumnValueFilter evaluated with operator MUST_PASS_ONE doesn't work as 
expected(#4820)
4caa19f6a9e is described below

commit 4caa19f6a9e6d7e9cc9dafcc924633b29ec408d4
Author: chaijunjie0101 <1340011...@qq.com>
AuthorDate: Sun Jan 29 17:18:18 2023 +0800

HBASE-26967 FilterList with FuzzyRowFilter and SingleColumnValueFilter 
evaluated with operator MUST_PASS_ONE doesn't work as expected(#4820)

Close #4820

Co-authored-by: Duo Zhang 
Signed-off-by: Duo Zhang 
(cherry picked from commit 382681e2d6b6c417145022d7df81390bf42f2773)
---
 .../org/apache/hadoop/hbase/filter/FilterBase.java |  2 +-
 .../apache/hadoop/hbase/filter/FuzzyRowFilter.java | 43 +---
 .../hbase/filter/TestFuzzyRowFilterEndToEnd.java   | 57 +-
 3 files changed, 91 insertions(+), 11 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
index 988725edad5..8c330d6aa9b 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
@@ -85,7 +85,7 @@ public abstract class FilterBase extends Filter {
   }
 
   /**
-   * Fitlers that never filter by modifying the returned List of Cells can 
inherit this
+   * Filters that never filter by modifying the returned List of Cells can 
inherit this
* implementation that does nothing. {@inheritDoc}
*/
   @Override
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
index cc09bdb94d7..5019f990484 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hbase.filter;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
@@ -48,13 +49,20 @@ import 
org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.BytesBytesP
  * 1 - means that this byte in provided row key is NOT fixed, i.e. row 
key's byte at this
  * position can be different from the one in provided row key
  * 
- * Example: Let's assume row key format is userId_actionId_year_month. Length 
of userId is fixed and
- * is 4, length of actionId is 2 and year and month are 4 and 2 bytes long 
respectively. Let's
- * assume that we need to fetch all users that performed certain action 
(encoded as "99") in Jan of
- * any year. Then the pair (row key, fuzzy info) would be the following: row 
key = "_99__01"
- * (one can use any value instead of "?") fuzzy info =
- * "\x01\x01\x01\x01\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00" I.e. fuzzy 
info tells the matching
- * mask is "_99__01", where at ? can be any value.
+ * Example:
+ * 
+ * Let's assume row key format is userId_actionId_year_month. Length of userId 
is fixed and is 4,
+ * length of actionId is 2 and year and month are 4 and 2 bytes long 
respectively.
+ * 
+ * Let's assume that we need to fetch all users that performed certain action 
(encoded as "99") in
+ * Jan of any year. Then the pair (row key, fuzzy info) would be the following:
+ *
+ * 
+ * row key = "_99__01" (one can use any value instead of "?")
+ * fuzzy info = "\x01\x01\x01\x01\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00"
+ * 
+ *
+ * I.e. fuzzy info tells the matching mask is "_99__01", where at ? 
can be any value.
  */
 @InterfaceAudience.Public
 public class FuzzyRowFilter extends FilterBase {
@@ -71,6 +79,15 @@ public class FuzzyRowFilter extends FilterBase {
 
   private final byte processedWildcardMask;
   private List> fuzzyKeysData;
+  // Used to record whether we want to skip the current row.
+  // Usually we should use filterRowKey here but in the current scan 
implementation, if filterRowKey
+  // returns true, we will just skip to next row, instead of calling 
getNextCellHint to determine
+  // the actual next row, so we need to implement filterCell and return 
SEEK_NEXT_USING_HINT to let
+  // upper layer call getNextCellHint.
+  // And if we do not implement filterRow, sometimes we will get incorrect 
result when using
+  // FuzzyRowFilter together with other filters, please see the description 
for HBASE-26967 for more
+  // details.
+  private boolean filterRow;
   private boolean done = false;
 
   /**
@@ -172,6 +189,16 @@ public class FuzzyRowFilter extends FilterBase {
 return filterCell(c);
   }
 
+  @Override

[hbase] branch branch-2.4 updated: HBASE-26967 FilterList with FuzzyRowFilter and SingleColumnValueFilter evaluated with operator MUST_PASS_ONE doesn't work as expected(#4820)

2023-01-29 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/branch-2.4 by this push:
 new 32fe73eea43 HBASE-26967 FilterList with FuzzyRowFilter and 
SingleColumnValueFilter evaluated with operator MUST_PASS_ONE doesn't work as 
expected(#4820)
32fe73eea43 is described below

commit 32fe73eea43df2f687241910a32311e283638b76
Author: chaijunjie0101 <1340011...@qq.com>
AuthorDate: Sun Jan 29 17:18:18 2023 +0800

HBASE-26967 FilterList with FuzzyRowFilter and SingleColumnValueFilter 
evaluated with operator MUST_PASS_ONE doesn't work as expected(#4820)

Close #4820

Co-authored-by: Duo Zhang 
Signed-off-by: Duo Zhang 
(cherry picked from commit 382681e2d6b6c417145022d7df81390bf42f2773)
---
 .../org/apache/hadoop/hbase/filter/FilterBase.java |  2 +-
 .../apache/hadoop/hbase/filter/FuzzyRowFilter.java | 43 +---
 .../hbase/filter/TestFuzzyRowFilterEndToEnd.java   | 57 +-
 3 files changed, 91 insertions(+), 11 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
index 988725edad5..8c330d6aa9b 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
@@ -85,7 +85,7 @@ public abstract class FilterBase extends Filter {
   }
 
   /**
-   * Fitlers that never filter by modifying the returned List of Cells can 
inherit this
+   * Filters that never filter by modifying the returned List of Cells can 
inherit this
* implementation that does nothing. {@inheritDoc}
*/
   @Override
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
index c7c48419c00..424dd91f28c 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hbase.filter;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
@@ -48,13 +49,20 @@ import 
org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.BytesBytesP
  * 1 - means that this byte in provided row key is NOT fixed, i.e. row 
key's byte at this
  * position can be different from the one in provided row key
  * 
- * Example: Let's assume row key format is userId_actionId_year_month. Length 
of userId is fixed and
- * is 4, length of actionId is 2 and year and month are 4 and 2 bytes long 
respectively. Let's
- * assume that we need to fetch all users that performed certain action 
(encoded as "99") in Jan of
- * any year. Then the pair (row key, fuzzy info) would be the following: row 
key = "_99__01"
- * (one can use any value instead of "?") fuzzy info =
- * "\x01\x01\x01\x01\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00" I.e. fuzzy 
info tells the matching
- * mask is "_99__01", where at ? can be any value.
+ * Example:
+ * 
+ * Let's assume row key format is userId_actionId_year_month. Length of userId 
is fixed and is 4,
+ * length of actionId is 2 and year and month are 4 and 2 bytes long 
respectively.
+ * 
+ * Let's assume that we need to fetch all users that performed certain action 
(encoded as "99") in
+ * Jan of any year. Then the pair (row key, fuzzy info) would be the following:
+ *
+ * 
+ * row key = "_99__01" (one can use any value instead of "?")
+ * fuzzy info = "\x01\x01\x01\x01\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00"
+ * 
+ *
+ * I.e. fuzzy info tells the matching mask is "_99__01", where at ? 
can be any value.
  */
 @InterfaceAudience.Public
 public class FuzzyRowFilter extends FilterBase {
@@ -71,6 +79,15 @@ public class FuzzyRowFilter extends FilterBase {
 
   private final byte processedWildcardMask;
   private List> fuzzyKeysData;
+  // Used to record whether we want to skip the current row.
+  // Usually we should use filterRowKey here but in the current scan 
implementation, if filterRowKey
+  // returns true, we will just skip to next row, instead of calling 
getNextCellHint to determine
+  // the actual next row, so we need to implement filterCell and return 
SEEK_NEXT_USING_HINT to let
+  // upper layer call getNextCellHint.
+  // And if we do not implement filterRow, sometimes we will get incorrect 
result when using
+  // FuzzyRowFilter together with other filters, please see the description 
for HBASE-26967 for more
+  // details.
+  private boolean filterRow;
   private boolean done = false;
 
   /**
@@ -172,6 +189,16 @@ public class FuzzyRowFilter extends FilterBase {
 return filterCell(c);
   }
 
+  @Override

[hbase] branch master updated: HBASE-26967 FilterList with FuzzyRowFilter and SingleColumnValueFilter evaluated with operator MUST_PASS_ONE doesn't work as expected(#4820)

2023-01-29 Thread zhangduo
This is an automated email from the ASF dual-hosted git repository.

zhangduo 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 382681e2d6b HBASE-26967 FilterList with FuzzyRowFilter and 
SingleColumnValueFilter evaluated with operator MUST_PASS_ONE doesn't work as 
expected(#4820)
382681e2d6b is described below

commit 382681e2d6b6c417145022d7df81390bf42f2773
Author: chaijunjie0101 <1340011...@qq.com>
AuthorDate: Sun Jan 29 17:18:18 2023 +0800

HBASE-26967 FilterList with FuzzyRowFilter and SingleColumnValueFilter 
evaluated with operator MUST_PASS_ONE doesn't work as expected(#4820)

Close #4820

Co-authored-by: Duo Zhang 
Signed-off-by: Duo Zhang 
---
 .../org/apache/hadoop/hbase/filter/FilterBase.java |  2 +-
 .../apache/hadoop/hbase/filter/FuzzyRowFilter.java | 43 +---
 .../hbase/filter/TestFuzzyRowFilterEndToEnd.java   | 57 +-
 3 files changed, 91 insertions(+), 11 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
index 713c4acb270..c80da159b7e 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterBase.java
@@ -71,7 +71,7 @@ public abstract class FilterBase extends Filter {
   }
 
   /**
-   * Fitlers that never filter by modifying the returned List of Cells can 
inherit this
+   * Filters that never filter by modifying the returned List of Cells can 
inherit this
* implementation that does nothing. {@inheritDoc}
*/
   @Override
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
index 2feac5527f7..fd5a81d694e 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FuzzyRowFilter.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hbase.filter;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
@@ -48,18 +49,34 @@ import 
org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.BytesBytesP
  * 1 - means that this byte in provided row key is NOT fixed, i.e. row 
key's byte at this
  * position can be different from the one in provided row key
  * 
- * Example: Let's assume row key format is userId_actionId_year_month. Length 
of userId is fixed and
- * is 4, length of actionId is 2 and year and month are 4 and 2 bytes long 
respectively. Let's
- * assume that we need to fetch all users that performed certain action 
(encoded as "99") in Jan of
- * any year. Then the pair (row key, fuzzy info) would be the following: row 
key = "_99__01"
- * (one can use any value instead of "?") fuzzy info =
- * "\x01\x01\x01\x01\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00" I.e. fuzzy 
info tells the matching
- * mask is "_99__01", where at ? can be any value.
+ * Example:
+ * 
+ * Let's assume row key format is userId_actionId_year_month. Length of userId 
is fixed and is 4,
+ * length of actionId is 2 and year and month are 4 and 2 bytes long 
respectively.
+ * 
+ * Let's assume that we need to fetch all users that performed certain action 
(encoded as "99") in
+ * Jan of any year. Then the pair (row key, fuzzy info) would be the following:
+ *
+ * 
+ * row key = "_99__01" (one can use any value instead of "?")
+ * fuzzy info = "\x01\x01\x01\x01\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00"
+ * 
+ *
+ * I.e. fuzzy info tells the matching mask is "_99__01", where at ? 
can be any value.
  */
 @InterfaceAudience.Public
 public class FuzzyRowFilter extends FilterBase {
   private static final boolean UNSAFE_UNALIGNED = 
HBasePlatformDependent.unaligned();
   private List> fuzzyKeysData;
+  // Used to record whether we want to skip the current row.
+  // Usually we should use filterRowKey here but in the current scan 
implementation, if filterRowKey
+  // returns true, we will just skip to next row, instead of calling 
getNextCellHint to determine
+  // the actual next row, so we need to implement filterCell and return 
SEEK_NEXT_USING_HINT to let
+  // upper layer call getNextCellHint.
+  // And if we do not implement filterRow, sometimes we will get incorrect 
result when using
+  // FuzzyRowFilter together with other filters, please see the description 
for HBASE-26967 for more
+  // details.
+  private boolean filterRow;
   private boolean done = false;
 
   /**
@@ -144,6 +161,16 @@ public class FuzzyRowFilter extends FilterBase {
 return true;
   }
 
+  @Override
+  public void reset() throws IOException {
+filterRow = false;
+  }
+
+  @Override
+  public boolean filterRow()