[hbase] 01/01: Preparing development version 2.4.17-SNAPSHOT
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)
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
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)
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/
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/
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/
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/
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)
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
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
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)
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)
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)
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)
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)
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()