This is an automated email from the ASF dual-hosted git repository.

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

commit c3206d23d30de4332ad3a9db93923865f6e4eb5c
Author: Andrew Purtell <[email protected]>
AuthorDate: Fri Mar 13 18:40:47 2026 -0700

    Preparing hbase release 2.6.5RC0; tagging and updates to CHANGES.md and 
RELEASENOTES.md
    
    Signed-off-by: Andrew Purtell <[email protected]>
---
 CHANGES.md      | 178 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 RELEASENOTES.md | 141 ++++++++++++++++++++++++++++++++++++++++++++
 pom.xml         |   2 +-
 3 files changed, 320 insertions(+), 1 deletion(-)

diff --git a/CHANGES.md b/CHANGES.md
index 6196ef7f06c..bccc0880713 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -18,6 +18,184 @@
 -->
 # HBASE Changelog
 
+## Release 2.6.5 - 2026-03-20
+
+
+
+### IMPROVEMENTS:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-29988](https://issues.apache.org/jira/browse/HBASE-29988) | Upgrade 
hbase-archetypes to use junit5 |  Major | test |
+| [HBASE-29969](https://issues.apache.org/jira/browse/HBASE-29969) | Bump 
lz4-java 1.10.4 |  Major | dependencies |
+| [HBASE-29982](https://issues.apache.org/jira/browse/HBASE-29982) | Upgrade 
TestTags to JUnit5 and polish the code |  Major | test |
+| [HBASE-29949](https://issues.apache.org/jira/browse/HBASE-29949) | Downgrade 
info log in GlobalMetricRegistriesAdapter |  Major | metrics |
+| [HBASE-29978](https://issues.apache.org/jira/browse/HBASE-29978) | Remove 
redundant imports in regionserver.jsp file |  Trivial | UI |
+| [HBASE-29954](https://issues.apache.org/jira/browse/HBASE-29954) | Support 
magic links to PR and JIRA in IDEA |  Minor | community |
+| [HBASE-29980](https://issues.apache.org/jira/browse/HBASE-29980) | Polish 
jenkinsfiles after splitting integration test out |  Major | jenkins |
+| [HBASE-28601](https://issues.apache.org/jira/browse/HBASE-28601) | Enable 
setting memstore on-heap sizes in bytes |  Major | regionserver |
+| [HBASE-29966](https://issues.apache.org/jira/browse/HBASE-29966) | Fix race 
in FlushRegionProcedure and rewrite TestAcidGuarantees |  Major | proc-v2, test 
|
+| [HBASE-29979](https://issues.apache.org/jira/browse/HBASE-29979) | Remove 
JUnit5 related dependencies in hbase-protocol-shaded |  Major | test |
+| [HBASE-29967](https://issues.apache.org/jira/browse/HBASE-29967) | Upgrade 
hbase-backup to use junit5 |  Major | backup&restore, test |
+| [HBASE-29938](https://issues.apache.org/jira/browse/HBASE-29938) | Upgrade 
hbase-it to use junit5 |  Major | integration tests, test |
+| [HBASE-29940](https://issues.apache.org/jira/browse/HBASE-29940) | GC 
Collector stats can't be displayed properly in JDK21 |  Major | UI |
+| [HBASE-29939](https://issues.apache.org/jira/browse/HBASE-29939) | Upgrade 
hbase-logging to use junit5 |  Major | logging, test |
+| [HBASE-29937](https://issues.apache.org/jira/browse/HBASE-29937) | Upgrade 
hbase-metrics-api to use junit5 |  Major | metrics, test |
+| [HBASE-29934](https://issues.apache.org/jira/browse/HBASE-29934) | Quota 
Info in Table Attributes should display more clearly |  Major | Quotas, UI |
+| [HBASE-29935](https://issues.apache.org/jira/browse/HBASE-29935) | Update 
copyright notices year to 2026 |  Minor | documentation |
+| [HBASE-29926](https://issues.apache.org/jira/browse/HBASE-29926) | Upgrade 
hbase-hadoop-compat to use junit5 |  Major | test |
+| [HBASE-29932](https://issues.apache.org/jira/browse/HBASE-29932) | Upgrade 
hbase-http to use junit5 |  Major | test |
+| [HBASE-23644](https://issues.apache.org/jira/browse/HBASE-23644) | Thrift2 
DemoClient.py is not running |  Minor | . |
+| [HBASE-29457](https://issues.apache.org/jira/browse/HBASE-29457) | 
thrift1/DemoClient.py is not running |  Minor | . |
+| [HBASE-29910](https://issues.apache.org/jira/browse/HBASE-29910) | Upgrade 
hbase-client to use junit5 |  Major | Client, test |
+| [HBASE-29925](https://issues.apache.org/jira/browse/HBASE-29925) | 
TestCheckTestClasses fails on branch-2.x with JDK8 |  Major | test |
+| [HBASE-29874](https://issues.apache.org/jira/browse/HBASE-29874) | Removing 
the useless parameters from ScanQueryMatcher.isCellTTLExpired |  Major | . |
+| [HBASE-29919](https://issues.apache.org/jira/browse/HBASE-29919) | Test case 
TestSecureIPC#testRpcServerDisallowFallbackToSimpleAuth failed |  Major | test |
+| [HBASE-29911](https://issues.apache.org/jira/browse/HBASE-29911) | Upgrade 
hbase-examples to use junit5 |  Major | test |
+| [HBASE-29871](https://issues.apache.org/jira/browse/HBASE-29871) | During 
WAL write times out add DataNode address in. the exception message |  Minor | 
Filesystem Integration, io |
+| [HBASE-29902](https://issues.apache.org/jira/browse/HBASE-29902) | Upgrade 
hbase-thrift to use junit5 |  Major | test, Thrift |
+| [HBASE-29887](https://issues.apache.org/jira/browse/HBASE-29887) | Upgrade 
hbase-hbtop to use junit5 |  Major | hbtop, test |
+| [HBASE-29721](https://issues.apache.org/jira/browse/HBASE-29721) | Add 
validation for Mutations without column families |  Minor | Client |
+| [HBASE-29901](https://issues.apache.org/jira/browse/HBASE-29901) | Upgrade 
hbase-zookeeper to use junit5 |  Major | test, Zookeeper |
+| [HBASE-29898](https://issues.apache.org/jira/browse/HBASE-29898) | Upgrade 
hbase-replication to use junit5 |  Major | Replication, test |
+| [HBASE-29903](https://issues.apache.org/jira/browse/HBASE-29903) | hbtop 
should display default replica id |  Major | hbtop |
+| [HBASE-29885](https://issues.apache.org/jira/browse/HBASE-29885) | Enable 
Disabled UT TestNamespacesInstanceResource.testInvalidNamespacePostsAndPuts |  
Minor | REST, test |
+| [HBASE-29900](https://issues.apache.org/jira/browse/HBASE-29900) | Correct 
logger initialization under hbase-procedure |  Major | proc-v2, test |
+| [HBASE-29844](https://issues.apache.org/jira/browse/HBASE-29844) | Upgrade 
hbase-metrics to use junit5 |  Major | metrics, test |
+| [HBASE-29562](https://issues.apache.org/jira/browse/HBASE-29562) | Add 
RegionServer Metrics for excluded DataNodes |  Minor | metrics |
+| [HBASE-29879](https://issues.apache.org/jira/browse/HBASE-29879) | Upgrade 
hbase-procedure to use junit5 |  Major | . |
+| [HBASE-29876](https://issues.apache.org/jira/browse/HBASE-29876) | Upgrade 
hbase-shell to use junit5 |  Major | shell, test |
+| [HBASE-25508](https://issues.apache.org/jira/browse/HBASE-25508) | Add a 
python example of using the thrift proxy in thrift-over-http mode |  Minor | 
Thrift |
+| [HBASE-29858](https://issues.apache.org/jira/browse/HBASE-29858) | Upgrade 
hbase-rest to use junit5 |  Major | test |
+| [HBASE-29867](https://issues.apache.org/jira/browse/HBASE-29867) | Promote 
some medium tests to large tests |  Major | test |
+| [HBASE-29866](https://issues.apache.org/jira/browse/HBASE-29866) | Generate 
job summary for our yetus check github action |  Major | build |
+| [HBASE-29845](https://issues.apache.org/jira/browse/HBASE-29845) | 
Description of the hbase:slowlog is not displayed correctly |  Major | UI |
+| [HBASE-29820](https://issues.apache.org/jira/browse/HBASE-29820) | Bump the 
syntax of velocity template to align with velocity 2.x syntax |  Minor | . |
+| [HBASE-29828](https://issues.apache.org/jira/browse/HBASE-29828) | Upgrade 
TestIPC related tests to junit5 |  Major | rpc, test |
+| [HBASE-29821](https://issues.apache.org/jira/browse/HBASE-29821) | Fix 
maven-source-plugin duplicate jar failure |  Minor | . |
+| [HBASE-29819](https://issues.apache.org/jira/browse/HBASE-29819) | Upgrade 
hbase-asyncfs to use junit5 |  Major | Filesystem Integration, test |
+| [HBASE-29817](https://issues.apache.org/jira/browse/HBASE-29817) | Stop 
retrying on DoNotRetryIOException when waiting procedure result |  Major | 
Admin, asyncclient |
+| [HBASE-29727](https://issues.apache.org/jira/browse/HBASE-29727) | Introduce 
a String pool for repeating filename, region and cf string fields in 
BlockCacheKey |  Major | . |
+| [HBASE-29808](https://issues.apache.org/jira/browse/HBASE-29808) | Simplify 
backup history retrieval |  Minor | backup&restore |
+| [HBASE-29810](https://issues.apache.org/jira/browse/HBASE-29810) | Polish 
TestFileChangeWatcher |  Major | test |
+| [HBASE-29796](https://issues.apache.org/jira/browse/HBASE-29796) | Allow 
sleepForRetry replication config to be overridden by replication peers |  Minor 
| Replication |
+| [HBASE-29794](https://issues.apache.org/jira/browse/HBASE-29794) | Only 
exclude tests when its failure rate above a threshold |  Major | flakies, 
jenkins |
+| [HBASE-29706](https://issues.apache.org/jira/browse/HBASE-29706) | Modify 
table with lazy mode should pass if coprocessors have not changed |  Major | . |
+| [HBASE-29732](https://issues.apache.org/jira/browse/HBASE-29732) | Add 
hbase.rs.evictblocksonsplit to UI and CacheConfig logs |  Major | BlockCache |
+| [HBASE-29729](https://issues.apache.org/jira/browse/HBASE-29729) | Add 
per-region table descriptor hash to RegionServer JMX metrics |  Minor | 
metrics, regionserver |
+| [HBASE-29767](https://issues.apache.org/jira/browse/HBASE-29767) | Fix 
IOTimePerHit NaN issue in BucketCacheStats |  Minor | BlockCache |
+| [HBASE-29645](https://issues.apache.org/jira/browse/HBASE-29645) | 
AsyncBufferedMutatorImpl concurrency improvement |  Major | Client |
+| [HBASE-29731](https://issues.apache.org/jira/browse/HBASE-29731) | Add L1 
and L2 cache hit/miss caching metrics |  Trivial | BlockCache |
+| [HBASE-29725](https://issues.apache.org/jira/browse/HBASE-29725) | Refactor 
the testScan method of TestDefaultMemStore |  Minor | in-memory-compaction |
+| [HBASE-29714](https://issues.apache.org/jira/browse/HBASE-29714) | Increase 
DEFAULT\_RS\_REMOTE\_PROC\_RETRY\_LIMIT to 10 |  Major | proc-v2 |
+| [HBASE-29033](https://issues.apache.org/jira/browse/HBASE-29033) | Add a 
shell command for inspecting the state of enable/disable\_rpc\_throttle |  
Major | Quotas, shell |
+| [HBASE-29703](https://issues.apache.org/jira/browse/HBASE-29703) | Remove 
duplicate calls to withNextBlockOnDiskSize |  Minor | BucketCache |
+| [HBASE-29473](https://issues.apache.org/jira/browse/HBASE-29473) | Obtain 
target cluster's token for cross clusters job |  Major | . |
+
+
+### BUG FIXES:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-29955](https://issues.apache.org/jira/browse/HBASE-29955) | HMaster 
getting aborted due to NPE while creating snapshot for invalid table name |  
Major | snapshots |
+| [HBASE-29987](https://issues.apache.org/jira/browse/HBASE-29987) | 
Replication position corruption when WAL file switch detected in 
ReplicationSourceWALReader run loop |  Minor | Replication, wal, Zookeeper |
+| [HBASE-29800](https://issues.apache.org/jira/browse/HBASE-29800) | WAL logs 
are unprotected during first full backup |  Major | backup&restore |
+| [HBASE-29977](https://issues.apache.org/jira/browse/HBASE-29977) | 
TestFSUtils fails with class not found |  Major | . |
+| [HBASE-29777](https://issues.apache.org/jira/browse/HBASE-29777) | Slow and 
Large Response RPC StartTime in SlowLog Operation Details page is incorrect |  
Major | . |
+| [HBASE-29834](https://issues.apache.org/jira/browse/HBASE-29834) | 
MILLIS\_BETWEEN\_NEXTS metric is not updated on branch-3+ |  Minor | 
asyncclient, Client, scan |
+| [HBASE-29759](https://issues.apache.org/jira/browse/HBASE-29759) | 
TestAsyncTableScan fails with tracing assert error |  Major | asyncclient, 
tracing |
+| [HBASE-29862](https://issues.apache.org/jira/browse/HBASE-29862) | Test case 
TestClearRegionBlockCache#testClearBlockCache failed |  Major | BlockCache, 
test |
+| [HBASE-28913](https://issues.apache.org/jira/browse/HBASE-28913) | 
LoadBalancerPerformanceEvaluation fails with NPE |  Major | tooling |
+| [HBASE-29907](https://issues.apache.org/jira/browse/HBASE-29907) | ROWCOL 
bloom filter + StoreScanner.trySkipToNextColumn can surface out-of-order cells, 
causing read failure “isDelete failed” |  Blocker | Filters, Scanners |
+| [HBASE-29915](https://issues.apache.org/jira/browse/HBASE-29915) | Rewrite 
TestMultiRowResource and TestSchemaResource |  Major | REST, test |
+| [HBASE-29917](https://issues.apache.org/jira/browse/HBASE-29917) | 
TestCheckTestClasses fails with JDK8 + hadoop3 |  Major | test |
+| [HBASE-28985](https://issues.apache.org/jira/browse/HBASE-28985) | Fix 
memStoreSize metric for a table and add heap and off-heap size metrics |  Minor 
| metrics |
+| [HBASE-29886](https://issues.apache.org/jira/browse/HBASE-29886) | 
list\_namespace will throw instance vars on non-persistent Java type warning |  
Minor | shell |
+| [HBASE-29846](https://issues.apache.org/jira/browse/HBASE-29846) | Fix 
backup history ordering |  Minor | backup&restore |
+| [HBASE-29877](https://issues.apache.org/jira/browse/HBASE-29877) | Load Test 
Tool doesn't read with TIMELINE consistency, because it sets replica id 
explicitly |  Major | test, util |
+| [HBASE-29859](https://issues.apache.org/jira/browse/HBASE-29859) | 
Initialization log for DataTieringManager is incorrect |  Minor | regionserver |
+| [HBASE-29896](https://issues.apache.org/jira/browse/HBASE-29896) | Raw scan 
incorrectly skips cells expired by cell-level TTL |  Minor | Scanners |
+| [HBASE-29870](https://issues.apache.org/jira/browse/HBASE-29870) | Correct 
the UI Column name from Stats to State in rsgroup.jsp |  Major | UI |
+| [HBASE-29868](https://issues.apache.org/jira/browse/HBASE-29868) | Can not 
start mini dfs cluster when building against hadoop 3.3.x |  Major | hadoop3, 
logging |
+| [HBASE-29857](https://issues.apache.org/jira/browse/HBASE-29857) | 
BucketCache fails to start when persistence file was written with empty cache | 
 Critical | regionserver |
+| [HBASE-29831](https://issues.apache.org/jira/browse/HBASE-29831) | Region 
replica's can fall behind due to a NPE during processing |  Minor | read 
replicas |
+| [HBASE-29860](https://issues.apache.org/jira/browse/HBASE-29860) | Fix 
NullPointerException on Maven site build |  Blocker | build, site |
+| [HBASE-29854](https://issues.apache.org/jira/browse/HBASE-29854) | Add osgi 
annotations dependency when generating javadoc |  Major | build, site |
+| [HBASE-29788](https://issues.apache.org/jira/browse/HBASE-29788) | Bump the 
version for Maven Project Info Reports Plugin |  Major | build, pom, site |
+| [HBASE-29141](https://issues.apache.org/jira/browse/HBASE-29141) | Calculate 
default maxQueueLength call queues correctly |  Major | master, regionserver |
+| [HBASE-29830](https://issues.apache.org/jira/browse/HBASE-29830) | Manage 
org.bouncycastle:bcutil-jdk18on version |  Major | . |
+| [HBASE-29836](https://issues.apache.org/jira/browse/HBASE-29836) | Add 
org.bouncycastle:bcpkix-jdk18on as explicit test dependency to hbase-http |  
Major | test |
+| [HBASE-29783](https://issues.apache.org/jira/browse/HBASE-29783) | Fix flaky 
TestVerifyBucketCacheFile.testRetrieveFromFile test |  Minor | . |
+| [HBASE-29144](https://issues.apache.org/jira/browse/HBASE-29144) | Client 
request fails for KERBEROS with RpcConnectionRegistry |  Blocker | Client, rpc, 
security |
+| [HBASE-29802](https://issues.apache.org/jira/browse/HBASE-29802) | NPE when 
shutting down mini cluster cause tests hang |  Major | mapreduce, test |
+| [HBASE-29795](https://issues.apache.org/jira/browse/HBASE-29795) | 
RegionServer abort because of NPE when closing compacted store file |  Major | 
Compaction, regionserver |
+| [HBASE-29793](https://issues.apache.org/jira/browse/HBASE-29793) | 
TestDefaultHandlerUsageQuota fails 100% on flaky dashboard |  Major | Quotas, 
test |
+| [HBASE-29797](https://issues.apache.org/jira/browse/HBASE-29797) | Should 
not create wal directory when creating WAL instance |  Blocker | Region 
Assignment |
+| [HBASE-29775](https://issues.apache.org/jira/browse/HBASE-29775) | Allow 
inspecting log levels in Master UI in read-only mode |  Minor | UI |
+| [HBASE-29742](https://issues.apache.org/jira/browse/HBASE-29742) | 
Compaction scan returns single cells instead of rows after 10MB |  Major | 
Compaction |
+| [HBASE-29744](https://issues.apache.org/jira/browse/HBASE-29744) | Data loss 
scenario for WAL files belonging to RS added between backups |  Major | 
backup&restore |
+| [HBASE-29526](https://issues.apache.org/jira/browse/HBASE-29526) | Dynamic 
configuration not working for coprocessor |  Major | Coprocessors |
+| [HBASE-29771](https://issues.apache.org/jira/browse/HBASE-29771) | 
TestThreadHandlerUsageQuota fails on flaky dashboard |  Major | Quotas |
+| [HBASE-29586](https://issues.apache.org/jira/browse/HBASE-29586) | Setting 
\`hbase.oldwals.cleaner.thread.size\` to negative value will throw 
IllegalArgumentException |  Minor | . |
+| [HBASE-29760](https://issues.apache.org/jira/browse/HBASE-29760) | 
TestIncrementalBackup fails 100% on flaky dashboard |  Major | backup&restore |
+| [HBASE-29501](https://issues.apache.org/jira/browse/HBASE-29501) | 
IOException in SerialReplicationChecker.canPush causes entries to be pushed out 
of order |  Major | Replication |
+| [HBASE-28158](https://issues.apache.org/jira/browse/HBASE-28158) | Decouple 
RIT list management from TRSP invocation |  Major | master, Region Assignment |
+| [HBASE-29709](https://issues.apache.org/jira/browse/HBASE-29709) | NPE may 
occur when compacting table via RawAsyncHBaseAdmin |  Minor | asyncclient |
+| [HBASE-29698](https://issues.apache.org/jira/browse/HBASE-29698) | Correct 
log message in ReplicationSourceShipper.clearWALEntryBatch |  Major | 
Replication |
+| [HBASE-29145](https://issues.apache.org/jira/browse/HBASE-29145) | Table 
Stats shows store file size as zero always for hbase:meta table |  Major | UI |
+| [HBASE-29707](https://issues.apache.org/jira/browse/HBASE-29707) | Fix 
region cache % metrics miss calculation |  Major | BucketCache |
+| [HBASE-29701](https://issues.apache.org/jira/browse/HBASE-29701) | Update 
README.txt in hbase-protocol-shaded |  Minor | . |
+| [HBASE-29704](https://issues.apache.org/jira/browse/HBASE-29704) | Replace 
unsupported forkMode failsafe parameter in hbase-it |  Major | integration 
tests |
+| [HBASE-29702](https://issues.apache.org/jira/browse/HBASE-29702) | Remove 
shade plugin from hbase-protocol-shaded |  Minor | . |
+| [HBASE-29667](https://issues.apache.org/jira/browse/HBASE-29667) | The block 
priority is initialized as MULTI when the data block is first written into the 
BucketCache |  Major | BucketCache |
+| [HBASE-29700](https://issues.apache.org/jira/browse/HBASE-29700) | Always 
close RPC servers in AbstractTestIPC |  Minor | test |
+| [HBASE-29686](https://issues.apache.org/jira/browse/HBASE-29686) | 
Compatible issue of HFileOutputFormat2#configureRemoteCluster |  Minor | . |
+| [HBASE-28839](https://issues.apache.org/jira/browse/HBASE-28839) | Exception 
handling during retrieval of bucket-cache from persistence. |  Major | 
BucketCache |
+
+
+### SUB-TASKS:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-29807](https://issues.apache.org/jira/browse/HBASE-29807) | Depend on 
jcip-annotations explicitly |  Major | build, dependencies, hadoop3 |
+| [HBASE-29569](https://issues.apache.org/jira/browse/HBASE-29569) | Implement 
a built-in TieringValueProvider for parsing the date value from the rowkey |  
Minor | . |
+| [HBASE-29837](https://issues.apache.org/jira/browse/HBASE-29837) | Backport 
HBASE-27355 Separate meta read requests from master and client to branch-2 |  
Minor | . |
+| [HBASE-29596](https://issues.apache.org/jira/browse/HBASE-29596) | Migrate 
Canary Status Jamon page back to JSP |  Major | UI |
+| [HBASE-29531](https://issues.apache.org/jira/browse/HBASE-29531) | Migrate 
RegionServer Status Jamon page back to JSP |  Major | UI |
+| [HBASE-29223](https://issues.apache.org/jira/browse/HBASE-29223) | Migrate 
Master Status Jamon page back to JSP |  Major | UI |
+| [HBASE-29568](https://issues.apache.org/jira/browse/HBASE-29568) | Allow for 
a configurable "grace period" when using Time Based Priority |  Major | . |
+
+
+### OTHER:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-29582](https://issues.apache.org/jira/browse/HBASE-29582) | Migrate 
Jamon pages back to JSP |  Major | UI |
+| [HBASE-29971](https://issues.apache.org/jira/browse/HBASE-29971) | Upgrade 
to hbase-thirdparty 4.1.13 |  Major | dependencies, thirdparty |
+| [HBASE-29893](https://issues.apache.org/jira/browse/HBASE-29893) | Add 
zizmor for GitHub Actions workflows security analysis |  Major | build |
+| [HBASE-29930](https://issues.apache.org/jira/browse/HBASE-29930) | Separate 
packaging and integration check in nightly job to new jenkins job |  Major | 
jenkins |
+| [HBASE-29454](https://issues.apache.org/jira/browse/HBASE-29454) | Update 
hbase-examples scripts to be compatible with Python 3 |  Minor | . |
+| [HBASE-29928](https://issues.apache.org/jira/browse/HBASE-29928) | Bump 
io.airlift:aircompressor from 0.27 to 2.0.3 |  Major | compression, dependabot, 
dependencies, security |
+| [HBASE-29916](https://issues.apache.org/jira/browse/HBASE-29916) | Correct 
alter\_async help text examples |  Trivial | shell |
+| [HBASE-29897](https://issues.apache.org/jira/browse/HBASE-29897) | Bump 
org.apache.avro:avro from 1.11.4 to 1.11.5 |  Major | dependabot, security |
+| [HBASE-29873](https://issues.apache.org/jira/browse/HBASE-29873) | Improve 
the job summary for unit check |  Major | build, test |
+| [HBASE-29888](https://issues.apache.org/jira/browse/HBASE-29888) | GitHub 
Actions job summary should show which tests failed |  Major | build |
+| [HBASE-29838](https://issues.apache.org/jira/browse/HBASE-29838) | Run 
Hadoop Check as a GitHub Action |  Major | build |
+| [HBASE-29792](https://issues.apache.org/jira/browse/HBASE-29792) | Bump 
org.apache.logging.log4j:log4j-core from 2.17.2 to 2.25.3 |  Major | 
dependabot, dependencies, logging, security |
+| [HBASE-29855](https://issues.apache.org/jira/browse/HBASE-29855) | Bump 
maven-site-plugin to 3.21.0 |  Blocker | build, site |
+| [HBASE-29851](https://issues.apache.org/jira/browse/HBASE-29851) | Add more 
directories to yetus skip-dirs |  Major | build |
+| [HBASE-29852](https://issues.apache.org/jira/browse/HBASE-29852) | GHA 
general check broken on branch-2\* |  Major | build |
+| [HBASE-29829](https://issues.apache.org/jira/browse/HBASE-29829) | 
Pagination support for Hide Old Comments in PRs |  Major | build |
+| [HBASE-29787](https://issues.apache.org/jira/browse/HBASE-29787) | Run Yetus 
General Checks as a GitHub Action |  Major | build |
+| [HBASE-29791](https://issues.apache.org/jira/browse/HBASE-29791) | Backport 
'HBASE-29761: The HBase UI's Debug Dump is not redacting sensitive information' 
to branch-2.6 |  Critical | security, UI |
+| [HBASE-28804](https://issues.apache.org/jira/browse/HBASE-28804) | Implement 
asynchronous retrieval of bucket-cache data from persistence. |  Major | 
BucketCache |
+| [HBASE-29743](https://issues.apache.org/jira/browse/HBASE-29743) | Fix typos 
in documentation for BulkLoadObserver |  Trivial | documentation |
+| [HBASE-29740](https://issues.apache.org/jira/browse/HBASE-29740) | Upgrade 
lz4-java to 1.8.1+ |  Major | security |
+| [HBASE-29695](https://issues.apache.org/jira/browse/HBASE-29695) | Fix typo 
in RestoreRequest's "Builder.withOvewrite()" method |  Minor | backup&restore |
+| [HBASE-29724](https://issues.apache.org/jira/browse/HBASE-29724) | Backport 
missing changes of "HBASE-25334: TestRSGroupsFallback.testFallback is flaky" 
into branch-2 and branch-2.6 |  Major | . |
+| [HBASE-29723](https://issues.apache.org/jira/browse/HBASE-29723) | Backport 
"HBASE-25282: Remove processingServers in DeadServer as we can get this 
information by Procedure of master" to branch-2.6 |  Major | . |
+
+
 ## Release 2.6.4 - 2025-11-10
 
 
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index 8109d1783ba..b1caf20a942 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -16,6 +16,147 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 -->
+# HBASE  2.6.5 Release Notes
+
+These release notes cover new developer and user-facing incompatibilities, 
important issues, features, and major improvements.
+
+
+---
+
+* [HBASE-29930](https://issues.apache.org/jira/browse/HBASE-29930) | *Major* | 
**Separate packaging and integration check in nightly job to new jenkins job**
+
+Introduced a new HBase-Integration-Test jenkins job to run packaging and 
integration test.
+
+
+---
+
+* [HBASE-28985](https://issues.apache.org/jira/browse/HBASE-28985) | *Minor* | 
**Fix memStoreSize metric for a table and add heap and off-heap size metrics**
+
+The table-level memStoreSize metric was incorrectly summing data size, heap 
size, and off-heap size together, while the same metric at the region and 
region server levels reported only data size. This has been fixed so that 
memStoreSize now consistently reports data size at all levels.
+
+Two new metrics have been added at both the table and region levels:
+- memStoreHeapSize: on-heap memstore size
+- memStoreOffHeapSize: off-heap memstore size
+
+
+---
+
+* [HBASE-29877](https://issues.apache.org/jira/browse/HBASE-29877) | *Major* | 
**Load Test Tool doesn't read with TIMELINE consistency, because it sets 
replica id explicitly**
+
+New parameter for HBase LTT "--timeline": Use TIMELINE consistency in read 
operations.
+
+
+---
+
+* [HBASE-29569](https://issues.apache.org/jira/browse/HBASE-29569) | *Minor* | 
**Implement a built-in TieringValueProvider for parsing the date value from the 
rowkey**
+
+This introduces a regex based built-in tiering value provider for parsing 
dates directly from the rowkey portion of Cells.  enabling time-based priority 
comparison. The implementation utilizes a configurable regular expression and 
date format to isolate a date substring within the RowKey, returning the parsed 
epoch time in milliseconds.
+
+Usage:
+This feature is controlled via table-level configuration properties. To 
utilize this provider, specify the class in the TIERING\_VALUE\_PROVIDER 
property and define the
+
+Configuration properties :
+TIERING\_KEY\_DATE\_PATTERN: Regex pattern for date extraction.
+TIERING\_KEY\_DATE\_FORMAT: Expected date format.
+TIERING\_KEY\_DATE\_GROUP: The target regex extract group.
+
+Example using hbase shell:
+
+-----
+hbase(main):003:0\> alter 'orders', {NAME =\> 'cf1',
+  CONFIGURATION =\> {'hbase.hstore.datatiering.type' =\> 'CUSTOM',
+    'TIERING\_KEY\_DATE\_PATTERN' =\> '\_(\\\\d{4}-\\\\d{2}-\\\\d{2})\_',
+    'TIERING\_KEY\_DATE\_FORMAT' =\> 'yyyy-MM-dd',
+    'TIERING\_KEY\_DATE\_GROUP' =\> '1',
+    'hbase.hstore.datatiering.hot.age.millis' =\> '604800000',
+    'hbase.hstore.engine.class' =\> 
'org.apache.hadoop.hbase.regionserver.CustomTieredStoreEngine',
+    'hbase.hstore.compaction.date.tiered.custom.age.limit.millis' =\> 
'604800000'
+  }
+}
+-----
+
+Note: Please ensure strict validation of regex patterns and date formats to 
ensure accurate parsing.
+
+
+---
+
+* [HBASE-29837](https://issues.apache.org/jira/browse/HBASE-29837) | *Minor* | 
**Backport HBASE-27355 Separate meta read requests from master and client to 
branch-2**
+
+Dispatch the client's meta read request and the master's meta read request to 
different processing queues. Introduce a new configuration 
hbase.ipc.server.metacallqueue.handler.factor to determine the size of the meta 
request processing queue.
+
+
+---
+
+* [HBASE-29141](https://issues.apache.org/jira/browse/HBASE-29141) | *Major* | 
**Calculate default maxQueueLength call queues correctly**
+
+The default limit for RPC callqueue length was too high previously. The 
default was approximately the number of RPC handlers ^ 2 (squared), and is now 
approximately 10 \* number of RPC handlers. The length can still be overridden 
with hbase.ipc.server.max.callqueue.length.
+
+
+---
+
+* [HBASE-29144](https://issues.apache.org/jira/browse/HBASE-29144) | *Blocker* 
| **Client request fails for KERBEROS with RpcConnectionRegistry**
+
+SaslClientAuthenticationProviders and SaslServerAuthenticationProviders are 
not singleton now.
+
+As you are free to connect to different HBase clusters which have different 
authentication configurations from a single process, it does not make sense to 
let them share the same SaslClientAuthenticationProviders. Now we will create a 
SaslClientAuthenticationProviders for every Connection instance, even if you 
pass the same Configuration object when calling 
ConnectionFactory.createConnection.
+
+For SaslServerAuthenticationProviders, typically we will only initialize it 
once in production even if it is not singleton as we will only start a single 
service(like master or region server) in a process, making it not singleton can 
also benefit UTs as we will start multiple services when starting a mini 
cluster.
+
+
+---
+
+* [HBASE-29582](https://issues.apache.org/jira/browse/HBASE-29582) | *Major* | 
**Migrate Jamon pages back to JSP**
+
+Jamon is almost dead so in this issue, we moved our status page back to JSP, 
which is also old but a standard in Java EE that not easy to be dead.
+
+See https://lists.apache.org/thread/0c9to6rxzbf5f2x6t0x20408n15rdvmt for more 
details.
+
+
+---
+
+* [HBASE-29796](https://issues.apache.org/jira/browse/HBASE-29796) | *Minor* | 
**Allow sleepForRetry replication config to be overridden by replication peers**
+
+Setting a PeerConfig configuration value beginning with "replication.source" 
will override the value in the ReplicationSource for only that peer.
+
+If the default value for "replication.source.sleepforretries" is 1000 and 
there are two peers, '0' and '1', running "update\_peer\_config '0', CONFIG =\> 
{ "replication.source.sleepforretries" =\> "500" }" will result in '0' using a 
value of 500 and '1' using the default value of 1000.
+
+
+---
+
+* [HBASE-29794](https://issues.apache.org/jira/browse/HBASE-29794) | *Major* | 
**Only exclude tests when its failure rate above a threshold**
+
+Now we will only exclude a test from nightly and pre commit build when its 
failure rate on flakydashboard is above 20% and have been run for at least 10 
times.
+
+
+---
+
+* [HBASE-29526](https://issues.apache.org/jira/browse/HBASE-29526) | *Major* | 
**Dynamic configuration not working for coprocessor**
+
+This change fixed the dynamic configuration for coprocessor.
+
+
+---
+
+* [HBASE-29729](https://issues.apache.org/jira/browse/HBASE-29729) | *Minor* | 
**Add per-region table descriptor hash to RegionServer JMX metrics**
+
+Adds a tableDescriptorHash metric to region JMX output, exposing a SHA-256 
hash of the region's current table descriptor. This enables operators to track 
which regions have adopted new descriptors during lazy table modifications, 
supporting progressive canary rollouts without maintaining external state. The 
hash is computed once at region open and cached for the region's lifetime.
+
+
+---
+
+* [HBASE-29740](https://issues.apache.org/jira/browse/HBASE-29740) | *Major* | 
**Upgrade lz4-java to 1.8.1+**
+
+Upgrade lz4-java to 1.10.1 for addressing CVE‐2025‐12183 and CVE-2025-66566.
+
+
+---
+
+* [HBASE-29695](https://issues.apache.org/jira/browse/HBASE-29695) | *Minor* | 
**Fix typo in RestoreRequest's "Builder.withOvewrite()" method**
+
+fixed typo of an internal API by replacing withOvewrite with withOverwrite
+
+
+
 # HBASE  2.6.4 Release Notes
 
 These release notes cover new developer and user-facing incompatibilities, 
important issues, features, and major improvements.
diff --git a/pom.xml b/pom.xml
index 933fdba1254..29361bfb629 100644
--- a/pom.xml
+++ b/pom.xml
@@ -523,7 +523,7 @@
     </site>
   </distributionManagement>
   <properties>
-    <revision>2.6.5-SNAPSHOT</revision>
+    <revision>2.6.5</revision>
     <!-- override on command line to have generated LICENSE files include
          diagnostic info for verifying notice requirements -->
     <license.debug.print.included>false</license.debug.print.included>

Reply via email to