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

Signed-off-by: Andrew Purtell <apurtell@apache.org>
This commit is contained in:
Andrew Purtell 2022-05-31 20:06:29 -07:00
parent 4d6636dfea
commit 2da2dd917f
53 changed files with 1754 additions and 52 deletions

View File

@ -20,6 +20,741 @@
# Be careful doing manual edits in this file. Do not change format
# of release header or remove the below marker. This file is generated.
# DO NOT REMOVE THIS MARKER; FOR INTERPOLATING CHANGES!-->
## Release 2.5.0 - Unreleased (as of 2022-06-01)
### NEW FEATURES:
| JIRA | Summary | Priority | Component |
|:---- |:---- | :--- |:---- |
| [HBASE-26342](https://issues.apache.org/jira/browse/HBASE-26342) | Support custom paths of independent configuration and pool for hfile cleaner | Major | master |
| [HBASE-27018](https://issues.apache.org/jira/browse/HBASE-27018) | Add a tool command list\_liveservers | Major | . |
| [HBASE-26617](https://issues.apache.org/jira/browse/HBASE-26617) | Use spotless to reduce the pain on fixing checkstyle issues | Major | build, community |
| [HBASE-26959](https://issues.apache.org/jira/browse/HBASE-26959) | Brotli compression support | Minor | . |
| [HBASE-25865](https://issues.apache.org/jira/browse/HBASE-25865) | Visualize current state of region assignment | Blocker | master, Operability, Usability |
| [HBASE-26703](https://issues.apache.org/jira/browse/HBASE-26703) | Allow configuration of IPC queue balancer | Minor | . |
| [HBASE-26576](https://issues.apache.org/jira/browse/HBASE-26576) | Allow Pluggable Queue to belong to FastPath or normal Balanced Executor | Minor | regionserver, rpc |
| [HBASE-26347](https://issues.apache.org/jira/browse/HBASE-26347) | Support detect and exclude slow DNs in fan-out of WAL | Major | wal |
| [HBASE-26284](https://issues.apache.org/jira/browse/HBASE-26284) | Add HBase Thrift API to get all table names along with whether it is enabled or not | Major | Thrift |
| [HBASE-26141](https://issues.apache.org/jira/browse/HBASE-26141) | Add tracing support for HTable and sync connection on branch-2 | Major | tracing |
| [HBASE-6908](https://issues.apache.org/jira/browse/HBASE-6908) | Pluggable Call BlockingQueue for HBaseServer | Major | IPC/RPC |
| [HBASE-25841](https://issues.apache.org/jira/browse/HBASE-25841) | Add basic jshell support | Minor | shell, Usability |
| [HBASE-25756](https://issues.apache.org/jira/browse/HBASE-25756) | Support alternate compression for major and minor compactions | Minor | Compaction |
| [HBASE-25751](https://issues.apache.org/jira/browse/HBASE-25751) | Add writable TimeToPurgeDeletes to ScanOptions | Major | . |
| [HBASE-25665](https://issues.apache.org/jira/browse/HBASE-25665) | Disable reverse DNS lookup for SASL Kerberos client connection | Major | . |
| [HBASE-25587](https://issues.apache.org/jira/browse/HBASE-25587) | [hbck2] Schedule SCP for all unknown servers | Major | hbase-operator-tools, hbck2 |
| [HBASE-25460](https://issues.apache.org/jira/browse/HBASE-25460) | Expose drainingServers as cluster metric | Major | metrics |
| [HBASE-25496](https://issues.apache.org/jira/browse/HBASE-25496) | add get\_namespace\_rsgroup command | Major | . |
| [HBASE-24620](https://issues.apache.org/jira/browse/HBASE-24620) | Add a ClusterManager which submits command to ZooKeeper and its Agent which picks and execute those Commands. | Major | integration tests |
### IMPROVEMENTS:
| JIRA | Summary | Priority | Component |
|:---- |:---- | :--- |:---- |
| [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-27043](https://issues.apache.org/jira/browse/HBASE-27043) | Let lock wait timeout to improve performance of SnapshotHFileCleaner | Major | snapshots |
| [HBASE-25465](https://issues.apache.org/jira/browse/HBASE-25465) | Use javac --release option for supporting cross version compilation | Minor | create-release |
| [HBASE-27013](https://issues.apache.org/jira/browse/HBASE-27013) | Introduce read all bytes when using pread for prefetch | Major | HFile, Performance |
| [HBASE-27003](https://issues.apache.org/jira/browse/HBASE-27003) | Optimize log format for PerformanceEvaluation | Minor | . |
| [HBASE-26990](https://issues.apache.org/jira/browse/HBASE-26990) | Add default implementation for BufferedMutator interface setters | Minor | . |
| [HBASE-26419](https://issues.apache.org/jira/browse/HBASE-26419) | Tracing Spans of RPCs should follow otel semantic conventions | Blocker | tracing |
| [HBASE-26961](https://issues.apache.org/jira/browse/HBASE-26961) | cache region locations when getAllRegionLocations() for branch-2.4+ | Minor | Client |
| [HBASE-26975](https://issues.apache.org/jira/browse/HBASE-26975) | Add on heap and off heap memstore info in rs web UI | Minor | UI |
| [HBASE-26980](https://issues.apache.org/jira/browse/HBASE-26980) | Update javadoc of BucketCache.java | Trivial | documentation |
| [HBASE-26971](https://issues.apache.org/jira/browse/HBASE-26971) | SnapshotInfo --snapshot param is marked as required even when trying to list all snapshots | Minor | . |
| [HBASE-26807](https://issues.apache.org/jira/browse/HBASE-26807) | Unify CallQueueTooBigException special pause with CallDroppedException | Major | . |
| [HBASE-26891](https://issues.apache.org/jira/browse/HBASE-26891) | Make MetricsConnection scope configurable | Minor | . |
| [HBASE-26947](https://issues.apache.org/jira/browse/HBASE-26947) | Implement a special TestAppender to limit the size of test output | Major | logging, test |
| [HBASE-26618](https://issues.apache.org/jira/browse/HBASE-26618) | Involving primary meta region in meta scan with CatalogReplicaLoadBalanceSimpleSelector | Minor | meta replicas |
| [HBASE-26885](https://issues.apache.org/jira/browse/HBASE-26885) | The TRSP should not go on when it get a bogus server name from AM | Major | proc-v2 |
| [HBASE-26872](https://issues.apache.org/jira/browse/HBASE-26872) | Load rate calculator for cost functions should be more precise | Major | Balancer |
| [HBASE-26832](https://issues.apache.org/jira/browse/HBASE-26832) | Avoid repeated releasing of flushed wal entries in AsyncFSWAL#syncCompleted | Major | wal |
| [HBASE-26878](https://issues.apache.org/jira/browse/HBASE-26878) | TableInputFormatBase should cache RegionSizeCalculator | Minor | . |
| [HBASE-26175](https://issues.apache.org/jira/browse/HBASE-26175) | MetricsHBaseServer should record all kinds of Exceptions | Minor | metrics |
| [HBASE-21065](https://issues.apache.org/jira/browse/HBASE-21065) | Try ROW\_INDEX\_V1 encoding on meta table (fix bloomfilters on meta while we are at it) | Major | meta, Performance |
| [HBASE-26858](https://issues.apache.org/jira/browse/HBASE-26858) | Refactor TestMasterRegionOnTwoFileSystems to avoid dead loop | Major | test |
| [HBASE-26833](https://issues.apache.org/jira/browse/HBASE-26833) | Avoid waiting to clear buffer usage of ReplicationSourceShipper when aborting the RS | Major | regionserver, Replication |
| [HBASE-26848](https://issues.apache.org/jira/browse/HBASE-26848) | Set java.io.tmpdir on mvn command when running jenkins job | Major | jenkins, test |
| [HBASE-26828](https://issues.apache.org/jira/browse/HBASE-26828) | Increase the concurrency when running UTs in pre commit job | Major | jenkins, test |
| [HBASE-26680](https://issues.apache.org/jira/browse/HBASE-26680) | Close and do not write trailer for the broken WAL writer | Major | wal |
| [HBASE-26720](https://issues.apache.org/jira/browse/HBASE-26720) | ExportSnapshot should validate the source snapshot before copying files | Major | snapshots |
| [HBASE-26275](https://issues.apache.org/jira/browse/HBASE-26275) | update error message when executing deleteall with ROWPREFIXFILTER in meta table | Minor | shell |
| [HBASE-26835](https://issues.apache.org/jira/browse/HBASE-26835) | Rewrite TestLruAdaptiveBlockCache to make it more stable | Major | test |
| [HBASE-26830](https://issues.apache.org/jira/browse/HBASE-26830) | Rewrite TestLruBlockCache to make it more stable | Major | test |
| [HBASE-26814](https://issues.apache.org/jira/browse/HBASE-26814) | Default StoreHotnessProtector to off, with logs to guide when to turn it on | Major | . |
| [HBASE-26784](https://issues.apache.org/jira/browse/HBASE-26784) | Use HIGH\_QOS for ResultScanner.close requests | Major | . |
| [HBASE-26552](https://issues.apache.org/jira/browse/HBASE-26552) | Introduce retry to logroller to avoid abort | Major | wal |
| [HBASE-26792](https://issues.apache.org/jira/browse/HBASE-26792) | Implement ScanInfo#toString | Minor | regionserver |
| [HBASE-26731](https://issues.apache.org/jira/browse/HBASE-26731) | Metrics for tracking of active scanners | Minor | . |
| [HBASE-26789](https://issues.apache.org/jira/browse/HBASE-26789) | Automatically add default security headers to http/rest if SSL enabled | Major | REST, UI |
| [HBASE-26765](https://issues.apache.org/jira/browse/HBASE-26765) | Minor refactor of async scanning code | Major | . |
| [HBASE-26659](https://issues.apache.org/jira/browse/HBASE-26659) | The ByteBuffer of metadata in RAMQueueEntry in BucketCache could be reused. | Major | BucketCache, Performance |
| [HBASE-26730](https://issues.apache.org/jira/browse/HBASE-26730) | Extend hbase shell 'status' command to support an option 'tasks' | Minor | Operability, shell |
| [HBASE-26709](https://issues.apache.org/jira/browse/HBASE-26709) | Ban the usage of junit 3 TestCase | Major | test |
| [HBASE-26724](https://issues.apache.org/jira/browse/HBASE-26724) | Backport the UT changes in HBASE-24510 to branch-2.x | Major | test |
| [HBASE-26702](https://issues.apache.org/jira/browse/HBASE-26702) | Make ageOfLastShip, ageOfLastApplied extend TimeHistogram instead of plain histogram. | Minor | metrics, Replication |
| [HBASE-26726](https://issues.apache.org/jira/browse/HBASE-26726) | Allow disable of region warmup before graceful move | Minor | master, Region Assignment |
| [HBASE-26657](https://issues.apache.org/jira/browse/HBASE-26657) | ProfileServlet should move the output location to hbase specific directory | Minor | . |
| [HBASE-26590](https://issues.apache.org/jira/browse/HBASE-26590) | Hbase-client Meta lookup performance regression between hbase-1 and hbase-2 | Major | meta |
| [HBASE-26567](https://issues.apache.org/jira/browse/HBASE-26567) | Remove IndexType from ChunkCreator | Major | in-memory-compaction |
| [HBASE-26641](https://issues.apache.org/jira/browse/HBASE-26641) | Split TestMasterFailoverWithProcedures | Major | proc-v2, test |
| [HBASE-26629](https://issues.apache.org/jira/browse/HBASE-26629) | Add expiration for long time vacant scanners in Thrift2 | Major | Performance, Thrift |
| [HBASE-26638](https://issues.apache.org/jira/browse/HBASE-26638) | Cherry-pick the ReflectionUtils improvements in HBASE-21515 to branch-2 | Major | util |
| [HBASE-26635](https://issues.apache.org/jira/browse/HBASE-26635) | Optimize decodeNumeric in OrderedBytes | Major | Performance |
| [HBASE-26623](https://issues.apache.org/jira/browse/HBASE-26623) | Report CallDroppedException in exception metrics | Minor | IPC/RPC, metrics, rpc |
| [HBASE-26609](https://issues.apache.org/jira/browse/HBASE-26609) | Round the size to MB or KB at the end of calculation in HRegionServer.createRegionLoad | Major | regionserver |
| [HBASE-26598](https://issues.apache.org/jira/browse/HBASE-26598) | Fix excessive connections in MajorCompactor | Major | Compaction, tooling |
| [HBASE-26579](https://issues.apache.org/jira/browse/HBASE-26579) | Set storage policy of recovered edits when wal storage type is configured | Major | Recovery |
| [HBASE-26601](https://issues.apache.org/jira/browse/HBASE-26601) | maven-gpg-plugin failing with "Inappropriate ioctl for device" | Major | build |
| [HBASE-26556](https://issues.apache.org/jira/browse/HBASE-26556) | IT and Chaos Monkey improvements | Minor | integration tests |
| [HBASE-25547](https://issues.apache.org/jira/browse/HBASE-25547) | Thread pools should release unused resources | Minor | master, regionserver |
| [HBASE-26525](https://issues.apache.org/jira/browse/HBASE-26525) | Use unique thread name for group WALs | Major | wal |
| [HBASE-26517](https://issues.apache.org/jira/browse/HBASE-26517) | Add auth method information to AccessChecker audit log | Trivial | security |
| [HBASE-26512](https://issues.apache.org/jira/browse/HBASE-26512) | Make timestamp format configurable in HBase shell scan output | Major | shell |
| [HBASE-26485](https://issues.apache.org/jira/browse/HBASE-26485) | Introduce a method to clean restore directory after Snapshot Scan | Minor | snapshots |
| [HBASE-26479](https://issues.apache.org/jira/browse/HBASE-26479) | Print too slow/big scan's operation\_id in region server log | Minor | regionserver, scan |
| [HBASE-26475](https://issues.apache.org/jira/browse/HBASE-26475) | The flush and compact methods in HTU should skip processing secondary replicas | Major | test |
| [HBASE-26249](https://issues.apache.org/jira/browse/HBASE-26249) | Ameliorate compaction made by bulk-loading files | Major | . |
| [HBASE-26421](https://issues.apache.org/jira/browse/HBASE-26421) | Use HFileLink file to replace entire files reference when splitting | Major | . |
| [HBASE-26267](https://issues.apache.org/jira/browse/HBASE-26267) | Master initialization fails if Master Region WAL dir is missing | Major | master |
| [HBASE-26446](https://issues.apache.org/jira/browse/HBASE-26446) | CellCounter should report serialized cell size counts too | Minor | . |
| [HBASE-26432](https://issues.apache.org/jira/browse/HBASE-26432) | Add tracing support in hbase shell | Minor | shell, tracing |
| [HBASE-26337](https://issues.apache.org/jira/browse/HBASE-26337) | Optimization for weighted random generators | Major | Balancer |
| [HBASE-26363](https://issues.apache.org/jira/browse/HBASE-26363) | OpenTelemetry configuration support for per-process service names | Major | tracing |
| [HBASE-26309](https://issues.apache.org/jira/browse/HBASE-26309) | Balancer tends to move regions to the server at the end of list | Major | Balancer |
| [HBASE-26305](https://issues.apache.org/jira/browse/HBASE-26305) | Move NavigableSet add operation to writer thread in BucketCache | Minor | BucketCache, Performance |
| [HBASE-26251](https://issues.apache.org/jira/browse/HBASE-26251) | StochasticLoadBalancer metrics should update even if balancer doesn't run | Minor | Balancer |
| [HBASE-26270](https://issues.apache.org/jira/browse/HBASE-26270) | Provide getConfiguration method for Region and Store interface | Minor | . |
| [HBASE-26273](https://issues.apache.org/jira/browse/HBASE-26273) | TableSnapshotInputFormat/TableSnapshotInputFormatImpl should use ReadType.STREAM for scanning HFiles | Major | mapreduce |
| [HBASE-26276](https://issues.apache.org/jira/browse/HBASE-26276) | Allow HashTable/SyncTable to perform rawScan when comparing cells | Major | . |
| [HBASE-26229](https://issues.apache.org/jira/browse/HBASE-26229) | Limit count and size of L0 files compaction in StripeCompactionPolicy | Major | Compaction |
| [HBASE-26243](https://issues.apache.org/jira/browse/HBASE-26243) | Fix typo for file 'hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java' | Trivial | . |
| [HBASE-25773](https://issues.apache.org/jira/browse/HBASE-25773) | TestSnapshotScannerHDFSAclController.setupBeforeClass is flaky | Major | . |
| [HBASE-26147](https://issues.apache.org/jira/browse/HBASE-26147) | Add dry run mode to hbase balancer | Major | Balancer, master |
| [HBASE-25642](https://issues.apache.org/jira/browse/HBASE-25642) | Fix or stop warning about already cached block | Major | BlockCache, Operability, regionserver |
| [HBASE-26212](https://issues.apache.org/jira/browse/HBASE-26212) | Allow AuthUtil automatic renewal to be disabled | Minor | Client, security |
| [HBASE-26187](https://issues.apache.org/jira/browse/HBASE-26187) | Write straight into the store directory when Splitting and Merging | Major | . |
| [HBASE-26193](https://issues.apache.org/jira/browse/HBASE-26193) | Do not store meta region location as permanent state on zookeeper | Major | meta, Zookeeper |
| [HBASE-24652](https://issues.apache.org/jira/browse/HBASE-24652) | master-status UI make date type fields sortable | Minor | master, Operability, UI, Usability |
| [HBASE-25680](https://issues.apache.org/jira/browse/HBASE-25680) | Non-idempotent test in TestReplicationHFileCleaner | Minor | test |
| [HBASE-26179](https://issues.apache.org/jira/browse/HBASE-26179) | TestRequestTooBigException spends too much time to finish | Major | test |
| [HBASE-26160](https://issues.apache.org/jira/browse/HBASE-26160) | Configurable disallowlist for live editing of loglevels | Minor | . |
| [HBASE-25469](https://issues.apache.org/jira/browse/HBASE-25469) | Add detailed RIT info in JSON format for consumption as metrics | Minor | master |
| [HBASE-26154](https://issues.apache.org/jira/browse/HBASE-26154) | Provide exception metric for quota exceeded and throttling | Minor | . |
| [HBASE-26144](https://issues.apache.org/jira/browse/HBASE-26144) | The HStore.snapshot method is never called in main code | Major | regionserver |
| [HBASE-26105](https://issues.apache.org/jira/browse/HBASE-26105) | Rectify the expired TODO comment in CombinedBC | Trivial | BlockCache |
| [HBASE-26146](https://issues.apache.org/jira/browse/HBASE-26146) | Allow custom opts for hbck in hbase bin | Minor | . |
| [HBASE-26118](https://issues.apache.org/jira/browse/HBASE-26118) | The HStore.commitFile and HStore.moveFileIntoPlace almost have the same logic | Major | Compaction, regionserver |
| [HBASE-26119](https://issues.apache.org/jira/browse/HBASE-26119) | Polish TestAsyncNonMetaRegionLocator | Major | meta replicas, test |
| [HBASE-21946](https://issues.apache.org/jira/browse/HBASE-21946) | Use ByteBuffer pread instead of byte[] pread in HFileBlock when applicable | Critical | Offheaping |
| [HBASE-26025](https://issues.apache.org/jira/browse/HBASE-26025) | Add a flag to mark if the IOError can be solved by retry in thrift IOError | Major | Thrift |
| [HBASE-25986](https://issues.apache.org/jira/browse/HBASE-25986) | Expose the NORMALIZARION\_ENABLED table descriptor through a property in hbase-site | Minor | Normalizer |
| [HBASE-25700](https://issues.apache.org/jira/browse/HBASE-25700) | Enhance znode parent validation when add\_peer | Minor | Replication |
| [HBASE-26069](https://issues.apache.org/jira/browse/HBASE-26069) | Remove HStore.compactRecentForTestingAssumingDefaultPolicy and DefaultCompactor.compactForTesting | Major | Compaction, test |
| [HBASE-26065](https://issues.apache.org/jira/browse/HBASE-26065) | StripeStoreFileManager does not need to throw IOException for most methods | Major | Compaction, HFile |
| [HBASE-25914](https://issues.apache.org/jira/browse/HBASE-25914) | Provide slow/large logs on RegionServer UI | Major | regionserver, UI |
| [HBASE-26012](https://issues.apache.org/jira/browse/HBASE-26012) | Improve logging and dequeue logic in DelayQueue | Minor | . |
| [HBASE-26020](https://issues.apache.org/jira/browse/HBASE-26020) | Split TestWALEntryStream.testDifferentCounts out | Major | Replication, test |
| [HBASE-25937](https://issues.apache.org/jira/browse/HBASE-25937) | Clarify UnknownRegionException | Minor | Client |
| [HBASE-25998](https://issues.apache.org/jira/browse/HBASE-25998) | Revisit synchronization in SyncFuture | Major | Performance, regionserver, wal |
| [HBASE-26000](https://issues.apache.org/jira/browse/HBASE-26000) | Optimize the display of ZK dump in the master web UI | Minor | . |
| [HBASE-25995](https://issues.apache.org/jira/browse/HBASE-25995) | Change the method name for DoubleArrayCost.setCosts | Major | Balancer |
| [HBASE-26002](https://issues.apache.org/jira/browse/HBASE-26002) | MultiRowMutationEndpoint should return the result of the conditional update | Major | Coprocessors |
| [HBASE-25993](https://issues.apache.org/jira/browse/HBASE-25993) | Make excluded SSL cipher suites configurable for all Web UIs | Major | . |
| [HBASE-25987](https://issues.apache.org/jira/browse/HBASE-25987) | Make SSL keystore type configurable for HBase ThriftServer | Major | Thrift |
| [HBASE-25666](https://issues.apache.org/jira/browse/HBASE-25666) | Explain why balancer is skipping runs | Major | Balancer, master, UI |
| [HBASE-25942](https://issues.apache.org/jira/browse/HBASE-25942) | Get rid of null regioninfo in wrapped connection exceptions | Trivial | logging |
| [HBASE-25745](https://issues.apache.org/jira/browse/HBASE-25745) | Deprecate/Rename config \`hbase.normalizer.min.region.count\` to \`hbase.normalizer.merge.min.region.count\` | Minor | master, Normalizer |
| [HBASE-25908](https://issues.apache.org/jira/browse/HBASE-25908) | Exclude jakarta.activation-api | Major | hadoop3, shading |
| [HBASE-25933](https://issues.apache.org/jira/browse/HBASE-25933) | Log trace raw exception, instead of cause message in NettyRpcServerRequestDecoder | Minor | . |
| [HBASE-25534](https://issues.apache.org/jira/browse/HBASE-25534) | Honor TableDescriptor settings earlier in normalization | Major | Normalizer |
| [HBASE-25906](https://issues.apache.org/jira/browse/HBASE-25906) | UI of master-status to show recent history of balancer desicion | Major | Balancer, master, UI |
| [HBASE-25899](https://issues.apache.org/jira/browse/HBASE-25899) | Improve efficiency of SnapshotHFileCleaner | Major | master |
| [HBASE-25682](https://issues.apache.org/jira/browse/HBASE-25682) | Add a new command to update the configuration of all RSs in a RSGroup | Major | Admin, shell |
| [HBASE-25032](https://issues.apache.org/jira/browse/HBASE-25032) | Do not assign regions to region server which has not called regionServerReport yet | Major | . |
| [HBASE-25860](https://issues.apache.org/jira/browse/HBASE-25860) | Add metric for successful wal roll requests. | Major | metrics, wal |
| [HBASE-25754](https://issues.apache.org/jira/browse/HBASE-25754) | StripeCompactionPolicy should support compacting cold regions | Minor | Compaction |
| [HBASE-25766](https://issues.apache.org/jira/browse/HBASE-25766) | Introduce RegionSplitRestriction that restricts the pattern of the split point | Major | . |
| [HBASE-25798](https://issues.apache.org/jira/browse/HBASE-25798) | typo in MetricsAssertHelper | Minor | . |
| [HBASE-25770](https://issues.apache.org/jira/browse/HBASE-25770) | Http InfoServers should honor gzip encoding when requested | Major | UI |
| [HBASE-25776](https://issues.apache.org/jira/browse/HBASE-25776) | Use Class.asSubclass to fix the warning in StochasticLoadBalancer.loadCustomCostFunctions | Minor | Balancer |
| [HBASE-25767](https://issues.apache.org/jira/browse/HBASE-25767) | CandidateGenerator.getRandomIterationOrder is too slow on large cluster | Major | Balancer, Performance |
| [HBASE-25762](https://issues.apache.org/jira/browse/HBASE-25762) | Improvement for some debug-logging guards | Minor | logging, Performance |
| [HBASE-25653](https://issues.apache.org/jira/browse/HBASE-25653) | Add units and round off region size to 2 digits after decimal | Major | master, Normalizer |
| [HBASE-25482](https://issues.apache.org/jira/browse/HBASE-25482) | Improve SimpleRegionNormalizer#getAverageRegionSizeMb | Minor | Normalizer |
| [HBASE-25759](https://issues.apache.org/jira/browse/HBASE-25759) | The master services field in LocalityBasedCostFunction is never used | Major | Balancer |
| [HBASE-25744](https://issues.apache.org/jira/browse/HBASE-25744) | Change default of \`hbase.normalizer.merge.min\_region\_size.mb\` to \`0\` | Major | master, Normalizer |
| [HBASE-25747](https://issues.apache.org/jira/browse/HBASE-25747) | Remove unused getWriteAvailable method in OperationQuota | Minor | Quotas |
| [HBASE-25558](https://issues.apache.org/jira/browse/HBASE-25558) | Adding audit log for execMasterService | Major | . |
| [HBASE-25703](https://issues.apache.org/jira/browse/HBASE-25703) | Support conditional update in MultiRowMutationEndpoint | Major | Coprocessors |
| [HBASE-25686](https://issues.apache.org/jira/browse/HBASE-25686) | [hbtop] Add some javadoc | Minor | hbtop |
| [HBASE-25627](https://issues.apache.org/jira/browse/HBASE-25627) | HBase replication should have a metric to represent if the source is stuck getting initialized | Major | Replication |
| [HBASE-25688](https://issues.apache.org/jira/browse/HBASE-25688) | Use CustomRequestLog instead of Slf4jRequestLog for jetty | Major | logging, UI |
| [HBASE-25678](https://issues.apache.org/jira/browse/HBASE-25678) | Support nonce operations for Increment/Append in RowMutations and CheckAndMutate | Major | . |
| [HBASE-25679](https://issues.apache.org/jira/browse/HBASE-25679) | Size of log queue metric is incorrect in branch-1/branch-2 | Major | . |
| [HBASE-25518](https://issues.apache.org/jira/browse/HBASE-25518) | Support separate child regions to different region servers | Major | . |
| [HBASE-25643](https://issues.apache.org/jira/browse/HBASE-25643) | The delayed FlushRegionEntry should be removed when we need a non-delayed one | Major | regionserver |
| [HBASE-25621](https://issues.apache.org/jira/browse/HBASE-25621) | Balancer should check region plan source to avoid misplace region groups | Major | Balancer |
| [HBASE-25374](https://issues.apache.org/jira/browse/HBASE-25374) | Make REST Client connection and socket time out configurable | Minor | REST |
| [HBASE-25597](https://issues.apache.org/jira/browse/HBASE-25597) | Add row info in Exception when cell size exceeds maxCellSize | Minor | . |
| [HBASE-25660](https://issues.apache.org/jira/browse/HBASE-25660) | Print split policy in use on Region open (as well as split policy vitals) | Trivial | . |
| [HBASE-25635](https://issues.apache.org/jira/browse/HBASE-25635) | CandidateGenerator may miss some region balance actions | Major | Balancer |
| [HBASE-25622](https://issues.apache.org/jira/browse/HBASE-25622) | Result#compareResults should compare tags. | Major | Client |
| [HBASE-25570](https://issues.apache.org/jira/browse/HBASE-25570) | On largish cluster, "CleanerChore: Could not delete dir..." makes master log unreadable | Major | . |
| [HBASE-25566](https://issues.apache.org/jira/browse/HBASE-25566) | RoundRobinTableInputFormat | Major | mapreduce |
| [HBASE-25636](https://issues.apache.org/jira/browse/HBASE-25636) | Expose HBCK report as metrics | Minor | metrics |
| [HBASE-25548](https://issues.apache.org/jira/browse/HBASE-25548) | Optionally allow snapshots to preserve cluster's max filesize config by setting it into table descriptor | Major | . |
| [HBASE-25582](https://issues.apache.org/jira/browse/HBASE-25582) | Support setting scan ReadType to be STREAM at cluster level | Major | . |
| [HBASE-23578](https://issues.apache.org/jira/browse/HBASE-23578) | [UI] Master UI shows long stack traces when table is broken | Minor | master, UI |
| [HBASE-25637](https://issues.apache.org/jira/browse/HBASE-25637) | Rename method completeCompaction to refreshStoreSizeCount | Minor | . |
| [HBASE-25492](https://issues.apache.org/jira/browse/HBASE-25492) | Create table with rsgroup info in branch-2 | Major | rsgroup |
| [HBASE-25603](https://issues.apache.org/jira/browse/HBASE-25603) | Add switch for compaction after bulkload | Major | Compaction |
| [HBASE-25539](https://issues.apache.org/jira/browse/HBASE-25539) | Add metric for age of oldest wal. | Major | metrics, regionserver |
| [HBASE-25574](https://issues.apache.org/jira/browse/HBASE-25574) | Revisit put/delete/increment/append related RegionObserver methods | Major | Coprocessors |
| [HBASE-25541](https://issues.apache.org/jira/browse/HBASE-25541) | In WALEntryStream, set the current path to null while dequeing the log | Major | . |
| [HBASE-23887](https://issues.apache.org/jira/browse/HBASE-23887) | New L1 cache : AdaptiveLRU | Major | BlockCache, Performance |
| [HBASE-25364](https://issues.apache.org/jira/browse/HBASE-25364) | Redo the getMidPoint() in HFileWriterImpl to get rid of the double comparison process | Minor | . |
| [HBASE-25519](https://issues.apache.org/jira/browse/HBASE-25519) | BLOCKSIZE needs to support pretty print | Major | . |
| [HBASE-24772](https://issues.apache.org/jira/browse/HBASE-24772) | Use GetoptLong or OptionParser in hbase-shell | Minor | shell |
| [HBASE-25542](https://issues.apache.org/jira/browse/HBASE-25542) | Add client detail to scan name so when lease expires, we have clue on who was scanning | Major | scan |
| [HBASE-25553](https://issues.apache.org/jira/browse/HBASE-25553) | It is better for ReplicationTracker.getListOfRegionServers to return ServerName instead of String | Major | . |
| [HBASE-25528](https://issues.apache.org/jira/browse/HBASE-25528) | Dedicated merge dispatch threadpool on master | Minor | master |
| [HBASE-25536](https://issues.apache.org/jira/browse/HBASE-25536) | Remove 0 length wal file from logQueue if it belongs to old sources. | Major | Replication |
| [HBASE-25329](https://issues.apache.org/jira/browse/HBASE-25329) | Dump region hashes in logs for the regions that are stuck in transition for more than a configured amount of time | Minor | . |
| [HBASE-25475](https://issues.apache.org/jira/browse/HBASE-25475) | Improve unit test for HBASE-25445 : SplitWALRemoteProcedure failed to archive split WAL | Minor | wal |
| [HBASE-25431](https://issues.apache.org/jira/browse/HBASE-25431) | MAX\_FILESIZE and MEMSTORE\_FLUSHSIZE should not be set negative number | Major | . |
| [HBASE-25439](https://issues.apache.org/jira/browse/HBASE-25439) | Add BYTE unit in PrettyPrinter.Unit | Major | . |
| [HBASE-25249](https://issues.apache.org/jira/browse/HBASE-25249) | Adding StoreContext | Major | . |
| [HBASE-23340](https://issues.apache.org/jira/browse/HBASE-23340) | hmaster /hbase/replication/rs session expired (hbase replication default value is true, we don't use ) causes logcleaner can not clean oldWALs, which resulits in oldWALs too large (more than 2TB) | Major | master |
| [HBASE-25449](https://issues.apache.org/jira/browse/HBASE-25449) | 'dfs.client.read.shortcircuit' should not be set in hbase-default.xml | Major | conf |
| [HBASE-25476](https://issues.apache.org/jira/browse/HBASE-25476) | Enable error prone check in pre commit | Major | build |
| [HBASE-25211](https://issues.apache.org/jira/browse/HBASE-25211) | Rack awareness in region\_mover | Major | . |
| [HBASE-25483](https://issues.apache.org/jira/browse/HBASE-25483) | set the loadMeta log level to debug. | Major | MTTR, Region Assignment |
| [HBASE-25471](https://issues.apache.org/jira/browse/HBASE-25471) | Move RegionScannerImpl out of HRegion | Major | regionserver |
| [HBASE-25458](https://issues.apache.org/jira/browse/HBASE-25458) | HRegion methods cleanup | Major | regionserver |
| [HBASE-25435](https://issues.apache.org/jira/browse/HBASE-25435) | Slow metric value can be configured | Minor | metrics |
| [HBASE-25318](https://issues.apache.org/jira/browse/HBASE-25318) | Configure where IntegrationTestImportTsv generates HFiles | Minor | integration tests |
| [HBASE-25450](https://issues.apache.org/jira/browse/HBASE-25450) | The parameter "hbase.bucketcache.size" is misdescribed | Major | conf |
| [HBASE-24751](https://issues.apache.org/jira/browse/HBASE-24751) | Display Task completion time and/or processing duration on Web UI | Minor | UI |
| [HBASE-25379](https://issues.apache.org/jira/browse/HBASE-25379) | Make retry pause time configurable for regionserver short operation RPC (reportRegionStateTransition/reportProcedureDone) | Minor | regionserver |
| [HBASE-24850](https://issues.apache.org/jira/browse/HBASE-24850) | CellComparator perf improvement | Critical | Performance, scan |
| [HBASE-25443](https://issues.apache.org/jira/browse/HBASE-25443) | Improve the experience of using the Master webpage by change the loading process of snapshot list to asynchronous | Minor | master, UI |
| [HBASE-25425](https://issues.apache.org/jira/browse/HBASE-25425) | Some notes on RawCell | Trivial | . |
| [HBASE-25084](https://issues.apache.org/jira/browse/HBASE-25084) | RegexStringComparator in ParseFilter should support case-insensitive regexes | Major | Thrift |
| [HBASE-25420](https://issues.apache.org/jira/browse/HBASE-25420) | Some minor improvements in rpc implementation | Minor | rpc |
| [HBASE-25246](https://issues.apache.org/jira/browse/HBASE-25246) | Backup/Restore hbase cell tags. | Major | backup&restore |
| [HBASE-25363](https://issues.apache.org/jira/browse/HBASE-25363) | Improve performance of HFileLinkCleaner by using ReadWriteLock instead of synchronize | Major | master |
| [HBASE-25328](https://issues.apache.org/jira/browse/HBASE-25328) | Add builder method to create Tags. | Minor | . |
| [HBASE-25187](https://issues.apache.org/jira/browse/HBASE-25187) | Improve SizeCachedKV variants initialization | Minor | . |
| [HBASE-23303](https://issues.apache.org/jira/browse/HBASE-23303) | Add security headers to REST server/info page | Major | REST |
### BUG FIXES:
| JIRA | Summary | Priority | Component |
|:---- |:---- | :--- |:---- |
| [HBASE-27081](https://issues.apache.org/jira/browse/HBASE-27081) | Fix disallowed compatibility breaks on branch-2.5 and branch-2 | Blocker | . |
| [HBASE-27079](https://issues.apache.org/jira/browse/HBASE-27079) | Lower some DEBUG level logs in ReplicationSourceWALReader to TRACE | Minor | . |
| [HBASE-27068](https://issues.apache.org/jira/browse/HBASE-27068) | NPE occurs when the active master has not yet been elected | Major | . |
| [HBASE-27064](https://issues.apache.org/jira/browse/HBASE-27064) | CME in TestRegionNormalizerWorkQueue | Minor | test |
| [HBASE-27069](https://issues.apache.org/jira/browse/HBASE-27069) | Hbase SecureBulkload permission regression | Major | . |
| [HBASE-27066](https://issues.apache.org/jira/browse/HBASE-27066) | The Region Visualizer display failed | Major | . |
| [HBASE-27065](https://issues.apache.org/jira/browse/HBASE-27065) | Build against Hadoop 3.3.3 | Major | build |
| [HBASE-26854](https://issues.apache.org/jira/browse/HBASE-26854) | Shell startup logs a bunch of noise | Major | . |
| [HBASE-27061](https://issues.apache.org/jira/browse/HBASE-27061) | two phase bulkload is broken when SFT is in use. | Major | . |
| [HBASE-27055](https://issues.apache.org/jira/browse/HBASE-27055) | Add additional comments when using HBASE\_TRACE\_OPTS with standalone mode | Minor | tracing |
| [HBASE-27030](https://issues.apache.org/jira/browse/HBASE-27030) | Fix undefined local variable error in draining\_servers.rb | Major | jruby, shell |
| [HBASE-27047](https://issues.apache.org/jira/browse/HBASE-27047) | Fix typo for metric drainingRegionServers | Minor | metrics |
| [HBASE-27027](https://issues.apache.org/jira/browse/HBASE-27027) | Deprecated jetty SslContextFactory cause HMaster startup failure due to multiple certificates in KeyStores | Major | security |
| [HBASE-27032](https://issues.apache.org/jira/browse/HBASE-27032) | The draining region servers metric description is incorrect | Minor | . |
| [HBASE-27019](https://issues.apache.org/jira/browse/HBASE-27019) | Minor compression performance improvements | Trivial | . |
| [HBASE-26905](https://issues.apache.org/jira/browse/HBASE-26905) | ReplicationPeerManager#checkPeerExists should throw ReplicationPeerNotFoundException if peer doesn't exists | Major | Replication |
| [HBASE-27021](https://issues.apache.org/jira/browse/HBASE-27021) | StoreFileInfo should set its initialPath in a consistent way | Major | . |
| [HBASE-26994](https://issues.apache.org/jira/browse/HBASE-26994) | MasterFileSystem create directory without permission check | Major | master |
| [HBASE-26963](https://issues.apache.org/jira/browse/HBASE-26963) | ReplicationSource#removePeer hangs if we try to remove bad peer. | Major | regionserver, Replication |
| [HBASE-27000](https://issues.apache.org/jira/browse/HBASE-27000) | Block cache stats (Misses Caching) display error in RS web UI | Major | . |
| [HBASE-26984](https://issues.apache.org/jira/browse/HBASE-26984) | Chaos Monkey thread dies in ITBLL Chaos GracefulRollingRestartRsAction | Major | integration tests |
| [HBASE-26992](https://issues.apache.org/jira/browse/HBASE-26992) | Brotli compressor has unexpected behavior during reinitialization | Minor | . |
| [HBASE-26988](https://issues.apache.org/jira/browse/HBASE-26988) | Balancer should reset to default setting for hbase.master.loadbalance.bytable if dynamically reloading configuration | Minor | Balancer |
| [HBASE-26917](https://issues.apache.org/jira/browse/HBASE-26917) | Do not add --threads when running 'mvn site' | Major | build, scripts |
| [HBASE-22349](https://issues.apache.org/jira/browse/HBASE-22349) | Stochastic Load Balancer skips balancing when node is replaced in cluster | Major | Balancer |
| [HBASE-26979](https://issues.apache.org/jira/browse/HBASE-26979) | StoreFileListFile logs frequent stacktraces at INFO level | Minor | . |
| [HBASE-26941](https://issues.apache.org/jira/browse/HBASE-26941) | LocalHBaseCluster.waitOnRegionServer should not call join while interrupted | Critical | test |
| [HBASE-26938](https://issues.apache.org/jira/browse/HBASE-26938) | Compaction failures after StoreFileTracker integration | Blocker | Compaction |
| [HBASE-26944](https://issues.apache.org/jira/browse/HBASE-26944) | Possible resource leak while creating new region scanner | Major | . |
| [HBASE-26895](https://issues.apache.org/jira/browse/HBASE-26895) | on hbase shell, 'delete/deleteall' for a columnfamily is not working | Major | shell |
| [HBASE-26901](https://issues.apache.org/jira/browse/HBASE-26901) | delete with null columnQualifier occurs NullPointerException when NewVersionBehavior is on | Major | Deletes, Scanners |
| [HBASE-26880](https://issues.apache.org/jira/browse/HBASE-26880) | Misspelling commands in hbase shell will crash the shell | Minor | shell |
| [HBASE-26939](https://issues.apache.org/jira/browse/HBASE-26939) | Typo in admin.rb "COMPRESSION\_COMPACT\_MAJPR" | Trivial | . |
| [HBASE-26924](https://issues.apache.org/jira/browse/HBASE-26924) | [Documentation] Fix log parameter error and spelling error | Trivial | logging |
| [HBASE-26811](https://issues.apache.org/jira/browse/HBASE-26811) | Secondary replica may be disabled for read incorrectly forever | Major | read replicas |
| [HBASE-26812](https://issues.apache.org/jira/browse/HBASE-26812) | ShortCircuitingClusterConnection fails to close RegionScanners when making short-circuited calls | Critical | . |
| [HBASE-26838](https://issues.apache.org/jira/browse/HBASE-26838) | Junit jar is not included in the hbase tar ball, causing issues for some hbase tools that do rely on it | Major | integration tests, tooling |
| [HBASE-26871](https://issues.apache.org/jira/browse/HBASE-26871) | shaded mapreduce and shaded byo-hadoop client artifacts contains no classes | Blocker | integration tests, jenkins, mapreduce |
| [HBASE-26896](https://issues.apache.org/jira/browse/HBASE-26896) | list\_quota\_snapshots fails with ERROR NameError: uninitialized constant Shell::Commands::ListQuotaSnapshots::TABLE | Major | shell |
| [HBASE-26718](https://issues.apache.org/jira/browse/HBASE-26718) | HFileArchiver can remove referenced StoreFiles from the archive | Major | Compaction, HFile, snapshots |
| [HBASE-26864](https://issues.apache.org/jira/browse/HBASE-26864) | SplitTableRegionProcedure calls openParentRegions() at a wrong state during rollback. | Major | Region Assignment |
| [HBASE-26876](https://issues.apache.org/jira/browse/HBASE-26876) | Use toStringBinary for rowkey in RegionServerCallable error string | Minor | . |
| [HBASE-26875](https://issues.apache.org/jira/browse/HBASE-26875) | RpcRetryingCallerImpl translateException ignores return value of recursive call | Minor | . |
| [HBASE-26869](https://issues.apache.org/jira/browse/HBASE-26869) | RSRpcServices.scan should deep clone cells when RpcCallContext is null | Major | regionserver |
| [HBASE-26870](https://issues.apache.org/jira/browse/HBASE-26870) | Log4j2 integration is incorrect in nighly's client integration test | Critical | jenkins, logging |
| [HBASE-26840](https://issues.apache.org/jira/browse/HBASE-26840) | Fix NPE in the retry of logroller | Minor | wal |
| [HBASE-26670](https://issues.apache.org/jira/browse/HBASE-26670) | HFileLinkCleaner should be added even if snapshot is disabled | Critical | snapshots |
| [HBASE-26761](https://issues.apache.org/jira/browse/HBASE-26761) | TestMobStoreScanner (testGetMassive) can OOME | Minor | mob, test |
| [HBASE-26816](https://issues.apache.org/jira/browse/HBASE-26816) | Fix CME in ReplicationSourceManager | Minor | Replication |
| [HBASE-26715](https://issues.apache.org/jira/browse/HBASE-26715) | Blocked on SyncFuture in AsyncProtobufLogWriter#write | Major | . |
| [HBASE-26804](https://issues.apache.org/jira/browse/HBASE-26804) | Missing opentelemetry agent in hadoop-two-compat.xml | Blocker | tracing |
| [HBASE-26815](https://issues.apache.org/jira/browse/HBASE-26815) | TestFanOutOneBlockAsyncDFSOutput is flakey | Major | test |
| [HBASE-26783](https://issues.apache.org/jira/browse/HBASE-26783) | ScannerCallable doubly clears meta cache on retries | Major | . |
| [HBASE-25709](https://issues.apache.org/jira/browse/HBASE-25709) | Close region may stuck when region is compacting and skipped most cells read | Major | Compaction |
| [HBASE-26777](https://issues.apache.org/jira/browse/HBASE-26777) | BufferedDataBlockEncoder$OffheapDecodedExtendedCell.deepClone throws UnsupportedOperationException | Major | regionserver |
| [HBASE-26745](https://issues.apache.org/jira/browse/HBASE-26745) | MetricsStochasticBalancerSource metrics don't render in /jmx endpoint | Minor | . |
| [HBASE-26776](https://issues.apache.org/jira/browse/HBASE-26776) | RpcServer failure to SASL handshake always logs user "unknown" to audit log | Major | security |
| [HBASE-26772](https://issues.apache.org/jira/browse/HBASE-26772) | Shell suspended in background | Minor | shell |
| [HBASE-26767](https://issues.apache.org/jira/browse/HBASE-26767) | Rest server should not use a large Header Cache. | Major | REST |
| [HBASE-26546](https://issues.apache.org/jira/browse/HBASE-26546) | hbase-shaded-client missing required thirdparty classes under hadoop 3.3.1 | Major | Client, hadoop3, shading |
| [HBASE-26727](https://issues.apache.org/jira/browse/HBASE-26727) | Fix CallDroppedException reporting | Minor | . |
| [HBASE-26712](https://issues.apache.org/jira/browse/HBASE-26712) | Balancer encounters NPE in rare case | Major | . |
| [HBASE-26742](https://issues.apache.org/jira/browse/HBASE-26742) | Comparator of NOT\_EQUAL NULL is invalid for checkAndMutate | Major | . |
| [HBASE-26688](https://issues.apache.org/jira/browse/HBASE-26688) | Threads shared EMPTY\_RESULT may lead to unexpected client job down. | Major | Client |
| [HBASE-26741](https://issues.apache.org/jira/browse/HBASE-26741) | Incorrect exception handling in shell | Critical | shell |
| [HBASE-26729](https://issues.apache.org/jira/browse/HBASE-26729) | Backport "HBASE-26714 Introduce path configuration for system coprocessors" to branch-2 | Major | Coprocessors |
| [HBASE-26713](https://issues.apache.org/jira/browse/HBASE-26713) | Increments submitted by 1.x clients will be stored with timestamp 0 on 2.x+ clusters | Major | . |
| [HBASE-26679](https://issues.apache.org/jira/browse/HBASE-26679) | Wait on the future returned by FanOutOneBlockAsyncDFSOutput.flush would stuck | Critical | wal |
| [HBASE-26662](https://issues.apache.org/jira/browse/HBASE-26662) | User.createUserForTesting should not reset UserProvider.groups every time if hbase.group.service.for.test.only is true | Major | . |
| [HBASE-26671](https://issues.apache.org/jira/browse/HBASE-26671) | Misspellings of hbck usage | Minor | hbck |
| [HBASE-26469](https://issues.apache.org/jira/browse/HBASE-26469) | correct HBase shell exit behavior to match code passed to exit | Critical | shell |
| [HBASE-26543](https://issues.apache.org/jira/browse/HBASE-26543) | correct parsing of hbase shell args with GetoptLong | Blocker | shell |
| [HBASE-26643](https://issues.apache.org/jira/browse/HBASE-26643) | LoadBalancer should not return empty map | Critical | proc-v2, Region Assignment, test |
| [HBASE-26646](https://issues.apache.org/jira/browse/HBASE-26646) | WALPlayer should obtain token from filesystem | Minor | . |
| [HBASE-26494](https://issues.apache.org/jira/browse/HBASE-26494) | Using RefCnt to fix the flawed MemStoreLABImpl | Major | regionserver |
| [HBASE-26625](https://issues.apache.org/jira/browse/HBASE-26625) | ExportSnapshot tool failed to copy data files for tables with merge region | Minor | . |
| [HBASE-26615](https://issues.apache.org/jira/browse/HBASE-26615) | Snapshot referenced data files are deleted when delete a table with merge regions | Major | . |
| [HBASE-26613](https://issues.apache.org/jira/browse/HBASE-26613) | The logic of the method incrementIV in Encryption class has problem | Major | Performance, security |
| [HBASE-26488](https://issues.apache.org/jira/browse/HBASE-26488) | Memory leak when MemStore retry flushing | Major | regionserver |
| [HBASE-26340](https://issues.apache.org/jira/browse/HBASE-26340) | TableSplit returns false size under 1MB | Major | mapreduce, regionserver |
| [HBASE-26537](https://issues.apache.org/jira/browse/HBASE-26537) | FuzzyRowFilter backwards compatibility | Major | . |
| [HBASE-26550](https://issues.apache.org/jira/browse/HBASE-26550) | Make sure the master is running normally before accepting a balance command | Minor | Balancer, master |
| [HBASE-26541](https://issues.apache.org/jira/browse/HBASE-26541) | hbase-protocol-shaded not buildable on M1 MacOSX | Major | . |
| [HBASE-26527](https://issues.apache.org/jira/browse/HBASE-26527) | ArrayIndexOutOfBoundsException in KeyValueUtil.copyToNewKeyValue() | Major | wal |
| [HBASE-26462](https://issues.apache.org/jira/browse/HBASE-26462) | Should persist restoreAcl flag in the procedure state for CloneSnapshotProcedure and RestoreSnapshotProcedure | Critical | proc-v2, snapshots |
| [HBASE-26535](https://issues.apache.org/jira/browse/HBASE-26535) | [site, branch-2] DependencyManagement report is broken | Blocker | build, pom |
| [HBASE-26533](https://issues.apache.org/jira/browse/HBASE-26533) | KeyValueScanner might not be properly closed when using InternalScan.checkOnlyMemStore() | Minor | . |
| [HBASE-26482](https://issues.apache.org/jira/browse/HBASE-26482) | HMaster may clean wals that is replicating in rare cases | Critical | Replication |
| [HBASE-26468](https://issues.apache.org/jira/browse/HBASE-26468) | Region Server doesn't exit cleanly incase it crashes. | Major | regionserver |
| [HBASE-25905](https://issues.apache.org/jira/browse/HBASE-25905) | Shutdown of WAL stuck at waitForSafePoint | Blocker | regionserver, wal |
| [HBASE-26455](https://issues.apache.org/jira/browse/HBASE-26455) | TestStochasticLoadBalancerRegionReplicaWithRacks fails consistently | Major | Balancer |
| [HBASE-26450](https://issues.apache.org/jira/browse/HBASE-26450) | Server configuration will overwrite HStore configuration after using shell command 'update\_config' | Minor | Compaction, conf, regionserver |
| [HBASE-26476](https://issues.apache.org/jira/browse/HBASE-26476) | Make DefaultMemStore extensible for HStore.memstore | Major | regionserver |
| [HBASE-26465](https://issues.apache.org/jira/browse/HBASE-26465) | MemStoreLAB may be released early when its SegmentScanner is scanning | Critical | regionserver |
| [HBASE-26467](https://issues.apache.org/jira/browse/HBASE-26467) | Wrong Cell Generated by MemStoreLABImpl.forceCopyOfBigCellInto when Cell size bigger than data chunk size | Critical | in-memory-compaction |
| [HBASE-26463](https://issues.apache.org/jira/browse/HBASE-26463) | Unreadable table names after HBASE-24605 | Trivial | UI |
| [HBASE-26438](https://issues.apache.org/jira/browse/HBASE-26438) | Fix flaky test TestHStore.testCompactingMemStoreCellExceedInmemoryFlushSize | Major | test |
| [HBASE-26436](https://issues.apache.org/jira/browse/HBASE-26436) | check-aggregate-license error related to javadns after HADOOP-17317 | Major | build, hadoop3 |
| [HBASE-26311](https://issues.apache.org/jira/browse/HBASE-26311) | Balancer gets stuck in cohosted replica distribution | Major | Balancer |
| [HBASE-26384](https://issues.apache.org/jira/browse/HBASE-26384) | Segment already flushed to hfile may still be remained in CompactingMemStore | Major | in-memory-compaction |
| [HBASE-26414](https://issues.apache.org/jira/browse/HBASE-26414) | Tracing INSTRUMENTATION\_NAME is incorrect | Blocker | tracing |
| [HBASE-26410](https://issues.apache.org/jira/browse/HBASE-26410) | Fix HBase TestCanaryTool for Java17 | Major | java |
| [HBASE-26429](https://issues.apache.org/jira/browse/HBASE-26429) | HeapMemoryManager fails memstore flushes with NPE if enabled | Major | Operability, regionserver |
| [HBASE-26404](https://issues.apache.org/jira/browse/HBASE-26404) | Update javadoc for CellUtil#createCell with tags methods. | Major | . |
| [HBASE-26398](https://issues.apache.org/jira/browse/HBASE-26398) | CellCounter fails for large tables filling up local disk | Minor | mapreduce |
| [HBASE-26190](https://issues.apache.org/jira/browse/HBASE-26190) | High rate logging of BucketAllocatorException: Allocation too big | Major | BucketCache, Operability |
| [HBASE-26392](https://issues.apache.org/jira/browse/HBASE-26392) | Update ClassSize.BYTE\_BUFFER for JDK17 | Major | java, util |
| [HBASE-26394](https://issues.apache.org/jira/browse/HBASE-26394) | Cache in RSRpcServices.executeProcedures does not take effect | Major | . |
| [HBASE-26385](https://issues.apache.org/jira/browse/HBASE-26385) | Clear CellScanner when replay | Major | regionserver, rpc |
| [HBASE-26383](https://issues.apache.org/jira/browse/HBASE-26383) | HBCK incorrectly reports inconsistencies for recently split regions following a master failover | Critical | master |
| [HBASE-26371](https://issues.apache.org/jira/browse/HBASE-26371) | Prioritize meta region move over other region moves in region\_mover | Major | . |
| [HBASE-26361](https://issues.apache.org/jira/browse/HBASE-26361) | Enable OpenTelemetry to be used from developer sandbox | Major | tracing |
| [HBASE-26364](https://issues.apache.org/jira/browse/HBASE-26364) | TestThriftServer is failing 100% in our flaky test job | Major | test, Thrift |
| [HBASE-26350](https://issues.apache.org/jira/browse/HBASE-26350) | Missing server side debugging on failed SASL handshake | Minor | . |
| [HBASE-26344](https://issues.apache.org/jira/browse/HBASE-26344) | Fix Bug for MultiByteBuff.put(int, byte) | Major | . |
| [HBASE-26312](https://issues.apache.org/jira/browse/HBASE-26312) | Shell scan fails with timestamp | Major | shell, test |
| [HBASE-24601](https://issues.apache.org/jira/browse/HBASE-24601) | Change default Hfile storage policy from HOT to NONE for HDFS | Major | HFile |
| [HBASE-26295](https://issues.apache.org/jira/browse/HBASE-26295) | BucketCache could not free BucketEntry which restored from persistence file | Major | BucketCache |
| [HBASE-26289](https://issues.apache.org/jira/browse/HBASE-26289) | Hbase scan setMaxResultsPerColumnFamily not giving right results | Major | regionserver |
| [HBASE-26299](https://issues.apache.org/jira/browse/HBASE-26299) | Fix TestHTableTracing.testTableClose for nightly build of branch-2 | Major | test, tracing |
| [HBASE-26238](https://issues.apache.org/jira/browse/HBASE-26238) | OOME in VerifyReplication for the table contains rows with 10M+ cells | Major | Client, Replication |
| [HBASE-26297](https://issues.apache.org/jira/browse/HBASE-26297) | Balancer run is improperly triggered by accuracy error of double comparison | Major | Balancer |
| [HBASE-26178](https://issues.apache.org/jira/browse/HBASE-26178) | Improve data structure and algorithm for BalanceClusterState to improve computation speed for large cluster | Major | Balancer, Performance |
| [HBASE-26274](https://issues.apache.org/jira/browse/HBASE-26274) | Create an option to reintroduce BlockCache to mapreduce job | Major | BlockCache, HFile, mapreduce |
| [HBASE-26261](https://issues.apache.org/jira/browse/HBASE-26261) | Store configuration loss when use update\_config | Minor | . |
| [HBASE-26281](https://issues.apache.org/jira/browse/HBASE-26281) | DBB got from BucketCache would be freed unexpectedly before RPC completed | Critical | BucketCache |
| [HBASE-26197](https://issues.apache.org/jira/browse/HBASE-26197) | Fix some obvious bugs in MultiByteBuff.put | Major | . |
| [HBASE-26106](https://issues.apache.org/jira/browse/HBASE-26106) | AbstractFSWALProvider#getArchivedLogPath doesn't look for wal file in all oldWALs directory. | Critical | wal |
| [HBASE-26205](https://issues.apache.org/jira/browse/HBASE-26205) | TableMRUtil#initCredentialsForCluster should use specified conf for UserProvider | Major | mapreduce |
| [HBASE-26210](https://issues.apache.org/jira/browse/HBASE-26210) | HBase Write should be doomed to hang when cell size exceeds InmemoryFlushSize for CompactingMemStore | Critical | in-memory-compaction |
| [HBASE-26244](https://issues.apache.org/jira/browse/HBASE-26244) | Avoid trim the error stack trace when running UT with maven | Major | . |
| [HBASE-25588](https://issues.apache.org/jira/browse/HBASE-25588) | Excessive logging of "hbase.zookeeper.useMulti is deprecated. Default to true always." | Minor | logging, Operability, Replication |
| [HBASE-26232](https://issues.apache.org/jira/browse/HBASE-26232) | SEEK\_NEXT\_USING\_HINT is ignored on reversed Scans | Critical | Filters, scan |
| [HBASE-26204](https://issues.apache.org/jira/browse/HBASE-26204) | VerifyReplication should obtain token for peerQuorumAddress too | Major | . |
| [HBASE-26219](https://issues.apache.org/jira/browse/HBASE-26219) | Negative time is logged while waiting on regionservers | Trivial | . |
| [HBASE-26087](https://issues.apache.org/jira/browse/HBASE-26087) | JVM crash when displaying RPC params by MonitoredRPCHandler | Major | UI |
| [HBASE-24570](https://issues.apache.org/jira/browse/HBASE-24570) | connection#close throws NPE | Minor | Client |
| [HBASE-26200](https://issues.apache.org/jira/browse/HBASE-26200) | Undo 'HBASE-25165 Change 'State time' in UI so sorts (#2508)' in favor of HBASE-24652 | Major | UI |
| [HBASE-26196](https://issues.apache.org/jira/browse/HBASE-26196) | Support configuration override for remote cluster of HFileOutputFormat locality sensitive | Major | mapreduce |
| [HBASE-26026](https://issues.apache.org/jira/browse/HBASE-26026) | HBase Write may be stuck forever when using CompactingMemStore | Critical | in-memory-compaction |
| [HBASE-26155](https://issues.apache.org/jira/browse/HBASE-26155) | JVM crash when scan | Major | Scanners |
| [HBASE-26176](https://issues.apache.org/jira/browse/HBASE-26176) | Correct regex in hbase-personality.sh | Minor | build |
| [HBASE-26142](https://issues.apache.org/jira/browse/HBASE-26142) | NullPointerException when set 'hbase.hregion.memstore.mslab.indexchunksize.percent' to zero | Critical | . |
| [HBASE-25651](https://issues.apache.org/jira/browse/HBASE-25651) | NORMALIZER\_TARGET\_REGION\_SIZE needs a unit in its name | Major | Normalizer |
| [HBASE-26166](https://issues.apache.org/jira/browse/HBASE-26166) | table list in master ui has a minor bug | Minor | UI |
| [HBASE-26114](https://issues.apache.org/jira/browse/HBASE-26114) | when “hbase.mob.compaction.threads.max” is set to a negative number, HMaster cannot start normally | Minor | master |
| [HBASE-26120](https://issues.apache.org/jira/browse/HBASE-26120) | New replication gets stuck or data loss when multiwal groups more than 10 | Critical | Replication |
| [HBASE-26001](https://issues.apache.org/jira/browse/HBASE-26001) | When turn on access control, the cell level TTL of Increment and Append operations is invalid. | Minor | Coprocessors |
| [HBASE-24984](https://issues.apache.org/jira/browse/HBASE-24984) | WAL corruption due to early DBBs re-use when Durability.ASYNC\_WAL is used with multi operation | Critical | rpc, wal |
| [HBASE-26088](https://issues.apache.org/jira/browse/HBASE-26088) | conn.getBufferedMutator(tableName) leaks thread executors and other problems | Critical | Client |
| [HBASE-25973](https://issues.apache.org/jira/browse/HBASE-25973) | Balancer should explain progress in a better way in log | Major | Balancer |
| [HBASE-26086](https://issues.apache.org/jira/browse/HBASE-26086) | TestHRegionReplayEvents do not pass in branch-2 and throws NullPointerException | Minor | . |
| [HBASE-26036](https://issues.apache.org/jira/browse/HBASE-26036) | DBB released too early and dirty data for some operations | Critical | rpc |
| [HBASE-26068](https://issues.apache.org/jira/browse/HBASE-26068) | The last assertion in TestHStore.testRefreshStoreFilesNotChanged is wrong | Major | test |
| [HBASE-22923](https://issues.apache.org/jira/browse/HBASE-22923) | hbase:meta is assigned to localhost when we downgrade the hbase version | Major | . |
| [HBASE-26063](https://issues.apache.org/jira/browse/HBASE-26063) | The current checkcompatibility.py script can not compare master and rel/2.0.0 | Blocker | scripts |
| [HBASE-26030](https://issues.apache.org/jira/browse/HBASE-26030) | hbase-cleanup.sh did not clean the wal dir if hbase.wal.dir configured individually | Major | scripts |
| [HBASE-26035](https://issues.apache.org/jira/browse/HBASE-26035) | Redundant null check in the compareTo function | Minor | metrics, Performance |
| [HBASE-25902](https://issues.apache.org/jira/browse/HBASE-25902) | Add missing CFs in meta during HBase 1 to 2.3+ Upgrade | Critical | meta, Operability |
| [HBASE-26028](https://issues.apache.org/jira/browse/HBASE-26028) | The view as json page shows exception when using TinyLfuBlockCache | Major | UI |
| [HBASE-26029](https://issues.apache.org/jira/browse/HBASE-26029) | It is not reliable to use nodeDeleted event to track region server's death | Critical | Replication, Zookeeper |
| [HBASE-26039](https://issues.apache.org/jira/browse/HBASE-26039) | TestReplicationKillRS is useless after HBASE-23956 | Major | Replication, test |
| [HBASE-25980](https://issues.apache.org/jira/browse/HBASE-25980) | Master table.jsp pointed at meta throws 500 when no all replicas are online | Major | master, meta replicas, UI |
| [HBASE-26013](https://issues.apache.org/jira/browse/HBASE-26013) | Get operations readRows metrics becomes zero after HBASE-25677 | Minor | metrics |
| [HBASE-25966](https://issues.apache.org/jira/browse/HBASE-25966) | Fix typo in NOTICE.vm | Major | build, community |
| [HBASE-25877](https://issues.apache.org/jira/browse/HBASE-25877) | Add access check for compactionSwitch | Major | security |
| [HBASE-25698](https://issues.apache.org/jira/browse/HBASE-25698) | Persistent IllegalReferenceCountException at scanner open when using TinyLfuBlockCache | Major | BucketCache, HFile, Scanners |
| [HBASE-25984](https://issues.apache.org/jira/browse/HBASE-25984) | FSHLog WAL lockup with sync future reuse [RS deadlock] | Critical | regionserver, wal |
| [HBASE-25994](https://issues.apache.org/jira/browse/HBASE-25994) | Active WAL tailing fails when WAL value compression is enabled | Major | . |
| [HBASE-25924](https://issues.apache.org/jira/browse/HBASE-25924) | Seeing a spike in uncleanlyClosedWALs metric. | Major | Replication, wal |
| [HBASE-25967](https://issues.apache.org/jira/browse/HBASE-25967) | The readRequestsCount does not calculate when the outResults is empty | Major | metrics |
| [HBASE-25981](https://issues.apache.org/jira/browse/HBASE-25981) | JVM crash when displaying regionserver UI | Major | rpc, UI |
| [HBASE-25930](https://issues.apache.org/jira/browse/HBASE-25930) | Thrift does not support requests in Kerberos environment | Major | Thrift |
| [HBASE-25929](https://issues.apache.org/jira/browse/HBASE-25929) | RegionServer JVM crash when compaction | Critical | Compaction |
| [HBASE-25932](https://issues.apache.org/jira/browse/HBASE-25932) | TestWALEntryStream#testCleanClosedWALs test is failing. | Major | metrics, Replication, wal |
| [HBASE-25903](https://issues.apache.org/jira/browse/HBASE-25903) | ReadOnlyZKClient APIs - CompletableFuture.get() calls can cause threads to hang forver when ZK client create throws Non IOException | Major | . |
| [HBASE-25927](https://issues.apache.org/jira/browse/HBASE-25927) | Fix the log messages by not stringifying the exceptions in log | Minor | logging |
| [HBASE-25938](https://issues.apache.org/jira/browse/HBASE-25938) | The SnapshotOfRegionAssignmentFromMeta.initialize call in FavoredNodeLoadBalancer is just a dummy one | Major | Balancer, FavoredNodes |
| [HBASE-25861](https://issues.apache.org/jira/browse/HBASE-25861) | Correct the usage of Configuration#addDeprecation | Major | . |
| [HBASE-25928](https://issues.apache.org/jira/browse/HBASE-25928) | TestHBaseConfiguration#testDeprecatedConfigurations is broken with Hadoop 3.3 | Major | . |
| [HBASE-25898](https://issues.apache.org/jira/browse/HBASE-25898) | RS getting aborted due to NPE in Replication WALEntryStream | Critical | Replication |
| [HBASE-25875](https://issues.apache.org/jira/browse/HBASE-25875) | RegionServer failed to start due to IllegalThreadStateException in AuthenticationTokenSecretManager.start | Major | . |
| [HBASE-25513](https://issues.apache.org/jira/browse/HBASE-25513) | When the table is turned on normalize, the first region may not be merged even the size is 0 | Major | Normalizer |
| [HBASE-25892](https://issues.apache.org/jira/browse/HBASE-25892) | 'False' should be 'True' in auditlog of listLabels | Major | logging, security |
| [HBASE-25817](https://issues.apache.org/jira/browse/HBASE-25817) | Memory leak from thrift server hashMap | Minor | Thrift |
| [HBASE-25869](https://issues.apache.org/jira/browse/HBASE-25869) | WAL value compression | Major | Operability, wal |
| [HBASE-25827](https://issues.apache.org/jira/browse/HBASE-25827) | Per Cell TTL tags get duplicated with increments causing tags length overflow | Critical | regionserver |
| [HBASE-25897](https://issues.apache.org/jira/browse/HBASE-25897) | TestRetainAssignmentOnRestart is flaky after HBASE-25032 | Major | Region Assignment |
| [HBASE-25867](https://issues.apache.org/jira/browse/HBASE-25867) | Extra doc around ITBLL | Minor | documentation |
| [HBASE-25859](https://issues.apache.org/jira/browse/HBASE-25859) | Reference class incorrectly parses the protobuf magic marker | Minor | regionserver |
| [HBASE-25774](https://issues.apache.org/jira/browse/HBASE-25774) | ServerManager.getOnlineServer may miss some region servers when refreshing state in some procedure implementations | Critical | Replication |
| [HBASE-25837](https://issues.apache.org/jira/browse/HBASE-25837) | TestRollingRestart is flaky | Major | test |
| [HBASE-25850](https://issues.apache.org/jira/browse/HBASE-25850) | Fix spotbugs warnings on branch-2 | Major | Compaction, findbugs, mob |
| [HBASE-25825](https://issues.apache.org/jira/browse/HBASE-25825) | RSGroupBasedLoadBalancer.onConfigurationChange should chain the request to internal balancer | Major | Balancer |
| [HBASE-25792](https://issues.apache.org/jira/browse/HBASE-25792) | Filter out o.a.hadoop.thirdparty building shaded jars | Major | shading |
| [HBASE-25777](https://issues.apache.org/jira/browse/HBASE-25777) | Fix wrong initialization value in StressAssignmentManagerMonkeyFactory | Major | integration tests |
| [HBASE-25735](https://issues.apache.org/jira/browse/HBASE-25735) | Add target Region to connection exceptions | Major | rpc |
| [HBASE-25717](https://issues.apache.org/jira/browse/HBASE-25717) | RegionServer aborted due to ClassCastException | Major | . |
| [HBASE-25743](https://issues.apache.org/jira/browse/HBASE-25743) | Retry REQUESTTIMEOUT KeeperExceptions from ZK | Major | Zookeeper |
| [HBASE-25726](https://issues.apache.org/jira/browse/HBASE-25726) | MoveCostFunction is not included in the list of cost functions for StochasticLoadBalancer | Major | Balancer |
| [HBASE-25692](https://issues.apache.org/jira/browse/HBASE-25692) | Failure to instantiate WALCellCodec leaks socket in replication | Major | Replication |
| [HBASE-25568](https://issues.apache.org/jira/browse/HBASE-25568) | Upgrade Thrift jar to fix CVE-2020-13949 | Critical | Thrift |
| [HBASE-25693](https://issues.apache.org/jira/browse/HBASE-25693) | NPE getting metrics from standby masters (MetricsMasterWrapperImpl.getMergePlanCount) | Major | master |
| [HBASE-25685](https://issues.apache.org/jira/browse/HBASE-25685) | asyncprofiler2.0 no longer supports svg; wants html | Major | . |
| [HBASE-25594](https://issues.apache.org/jira/browse/HBASE-25594) | graceful\_stop.sh fails to unload regions when ran at localhost | Minor | . |
| [HBASE-25674](https://issues.apache.org/jira/browse/HBASE-25674) | RegionInfo.parseFrom(DataInputStream) sometimes fails to read the protobuf magic marker | Minor | Client |
| [HBASE-25673](https://issues.apache.org/jira/browse/HBASE-25673) | Wrong log regarding current active master at ZKLeaderManager#waitToBecomeLeader | Minor | . |
| [HBASE-25595](https://issues.apache.org/jira/browse/HBASE-25595) | TestLruBlockCache.testBackgroundEvictionThread is flaky | Major | . |
| [HBASE-25662](https://issues.apache.org/jira/browse/HBASE-25662) | Fix spotbugs warning in RoundRobinTableInputFormat | Major | findbugs |
| [HBASE-25657](https://issues.apache.org/jira/browse/HBASE-25657) | Fix spotbugs warnings after upgrading spotbugs to 4.x | Major | findbugs |
| [HBASE-25646](https://issues.apache.org/jira/browse/HBASE-25646) | Possible Resource Leak in CatalogJanitor | Major | master |
| [HBASE-25626](https://issues.apache.org/jira/browse/HBASE-25626) | Possible Resource Leak in HeterogeneousRegionCountCostFunction | Major | . |
| [HBASE-25644](https://issues.apache.org/jira/browse/HBASE-25644) | Scan#setSmall blindly sets ReadType as PREAD | Critical | . |
| [HBASE-25609](https://issues.apache.org/jira/browse/HBASE-25609) | There is a problem with the SPLITS\_FILE in the HBase shell statement | Minor | shell |
| [HBASE-25385](https://issues.apache.org/jira/browse/HBASE-25385) | TestCurrentHourProvider fails if the latest timezone changes are not present | Blocker | . |
| [HBASE-25596](https://issues.apache.org/jira/browse/HBASE-25596) | Fix NPE in ReplicationSourceManager as well as avoid permanently unreplicated data due to EOFException from WAL | Critical | Replication |
| [HBASE-25367](https://issues.apache.org/jira/browse/HBASE-25367) | Sort broken after Change 'State time' in UI | Major | UI |
| [HBASE-25421](https://issues.apache.org/jira/browse/HBASE-25421) | There is no limit on the column family length when creating a table | Major | Client |
| [HBASE-25371](https://issues.apache.org/jira/browse/HBASE-25371) | When openRegion fails during initial verification(before initializing and setting seq num), exception is observed during region close. | Major | Region Assignment |
| [HBASE-25611](https://issues.apache.org/jira/browse/HBASE-25611) | ExportSnapshot chmod flag uses value as decimal | Major | . |
| [HBASE-25586](https://issues.apache.org/jira/browse/HBASE-25586) | Fix HBASE-22492 on branch-2 (SASL GapToken) | Major | rpc |
| [HBASE-25556](https://issues.apache.org/jira/browse/HBASE-25556) | Frequent replication "Encountered a malformed edit" warnings | Minor | Operability, Replication |
| [HBASE-25575](https://issues.apache.org/jira/browse/HBASE-25575) | Should validate Puts in RowMutations | Minor | Client |
| [HBASE-25571](https://issues.apache.org/jira/browse/HBASE-25571) | Compilation error in branch-2 after HBASE-25364 | Major | . |
| [HBASE-25512](https://issues.apache.org/jira/browse/HBASE-25512) | May throw StringIndexOutOfBoundsException when construct illegal tablename error | Trivial | . |
| [HBASE-25560](https://issues.apache.org/jira/browse/HBASE-25560) | Remove unused parameter named peerId in the constructor method of CatalogReplicationSourcePeer | Major | . |
| [HBASE-25543](https://issues.apache.org/jira/browse/HBASE-25543) | When configuration "hadoop.security.authorization" is set to false, the system will still try to authorize an RPC and raise AccessDeniedException | Minor | IPC/RPC |
| [HBASE-25554](https://issues.apache.org/jira/browse/HBASE-25554) | NPE when init RegionMover | Major | . |
| [HBASE-25523](https://issues.apache.org/jira/browse/HBASE-25523) | Region normalizer chore thread is getting killed | Major | Normalizer |
| [HBASE-25533](https://issues.apache.org/jira/browse/HBASE-25533) | The metadata of the table and family should not be an empty string | Major | . |
| [HBASE-25478](https://issues.apache.org/jira/browse/HBASE-25478) | Implement retries when enabling tables in TestRegionReplicaReplicationEndpoint | Minor | . |
| [HBASE-25497](https://issues.apache.org/jira/browse/HBASE-25497) | move\_namespaces\_rsgroup should change hbase.rsgroup.name config in NamespaceDescriptor | Major | . |
| [HBASE-25356](https://issues.apache.org/jira/browse/HBASE-25356) | HBaseAdmin#getRegion() needs to filter out non-regionName and non-encodedRegionName | Major | shell |
| [HBASE-25279](https://issues.apache.org/jira/browse/HBASE-25279) | Non-daemon thread in ZKWatcher | Critical | Zookeeper |
| [HBASE-25503](https://issues.apache.org/jira/browse/HBASE-25503) | HBase code download is failing on windows with invalid path error | Major | . |
| [HBASE-24813](https://issues.apache.org/jira/browse/HBASE-24813) | ReplicationSource should clear buffer usage on ReplicationSourceManager upon termination | Major | Replication |
| [HBASE-25459](https://issues.apache.org/jira/browse/HBASE-25459) | WAL can't be cleaned in some scenes | Major | . |
| [HBASE-25434](https://issues.apache.org/jira/browse/HBASE-25434) | SlowDelete & SlowPut metric value should use updateDelete & updatePut | Major | regionserver |
| [HBASE-25441](https://issues.apache.org/jira/browse/HBASE-25441) | add security check for some APIs in RSRpcServices | Critical | . |
| [HBASE-25432](https://issues.apache.org/jira/browse/HBASE-25432) | we should add security checks for setTableStateInMeta and fixMeta | Blocker | . |
| [HBASE-25445](https://issues.apache.org/jira/browse/HBASE-25445) | Old WALs archive fails in procedure based WAL split | Critical | wal |
| [HBASE-25287](https://issues.apache.org/jira/browse/HBASE-25287) | Forgetting to unbuffer streams results in many CLOSE\_WAIT sockets when loading files | Major | . |
| [HBASE-25447](https://issues.apache.org/jira/browse/HBASE-25447) | remoteProc is suspended due to OOM ERROR | Major | proc-v2 |
| [HBASE-24755](https://issues.apache.org/jira/browse/HBASE-24755) | [LOG][RSGroup]Error message is confusing while adding a offline RS to rsgroup | Major | rsgroup |
| [HBASE-25463](https://issues.apache.org/jira/browse/HBASE-25463) | Fix comment error | Minor | shell |
| [HBASE-25457](https://issues.apache.org/jira/browse/HBASE-25457) | Possible race in AsyncConnectionImpl between getChoreService and close | Major | Client |
| [HBASE-25456](https://issues.apache.org/jira/browse/HBASE-25456) | setRegionStateInMeta need security check | Critical | . |
| [HBASE-25383](https://issues.apache.org/jira/browse/HBASE-25383) | HBase doesn't update and remove the peer config from hbase.replication.source.custom.walentryfilters if the config is already set on the peer. | Major | . |
| [HBASE-25404](https://issues.apache.org/jira/browse/HBASE-25404) | Procedures table Id under master web UI gets word break to single character | Minor | UI |
| [HBASE-25277](https://issues.apache.org/jira/browse/HBASE-25277) | postScannerFilterRow impacts Scan performance a lot in HBase 2.x | Critical | Coprocessors, scan |
| [HBASE-25365](https://issues.apache.org/jira/browse/HBASE-25365) | The log in move\_servers\_rsgroup is incorrect | Minor | . |
| [HBASE-25372](https://issues.apache.org/jira/browse/HBASE-25372) | Fix typo in ban-jersey section of the enforcer plugin in pom.xml | Major | build |
| [HBASE-25361](https://issues.apache.org/jira/browse/HBASE-25361) | [Flakey Tests] branch-2 TestMetaRegionLocationCache.testStandByMetaLocations | Major | flakies |
| [HBASE-25292](https://issues.apache.org/jira/browse/HBASE-25292) | Improve InetSocketAddress usage discipline | Major | Client, HFile |
### TESTS:
| JIRA | Summary | Priority | Component |
|:---- |:---- | :--- |:---- |
| [HBASE-27054](https://issues.apache.org/jira/browse/HBASE-27054) | TestStochasticLoadBalancerRegionReplicaLargeCluster.testRegionReplicasOnLargeCluster is flaky | Major | test |
| [HBASE-27052](https://issues.apache.org/jira/browse/HBASE-27052) | TestAsyncTableScanner.testScanWrongColumnFamily is flaky | Major | test |
| [HBASE-27051](https://issues.apache.org/jira/browse/HBASE-27051) | TestReplicationSource.testReplicationSourceInitializingMetric is flaky | Minor | test |
| [HBASE-27050](https://issues.apache.org/jira/browse/HBASE-27050) | Support unit test pattern matching again | Minor | test |
| [HBASE-26989](https://issues.apache.org/jira/browse/HBASE-26989) | TestStochasticLoadBalancer has some slow methods, and inconsistent set, reset, unset of configuration | Minor | Balancer, test |
| [HBASE-26689](https://issues.apache.org/jira/browse/HBASE-26689) | Backport HBASE-24443 Refactor TestCustomSaslAuthenticationProvider | Minor | test |
| [HBASE-26542](https://issues.apache.org/jira/browse/HBASE-26542) | Apply a \`package\` to test protobuf files | Minor | Protobufs, test |
| [HBASE-26349](https://issues.apache.org/jira/browse/HBASE-26349) | Improve recent change to IntegrationTestLoadCommonCrawl | Minor | integration tests, test |
| [HBASE-26335](https://issues.apache.org/jira/browse/HBASE-26335) | Minor improvements to IntegrationTestLoadCommonCrawl | Minor | integration tests, test |
| [HBASE-26272](https://issues.apache.org/jira/browse/HBASE-26272) | TestTableMapReduceUtil failure in branch-2 | Major | test |
| [HBASE-26185](https://issues.apache.org/jira/browse/HBASE-26185) | Fix TestMaster#testMoveRegionWhenNotInitialized with hbase.min.version.move.system.tables | Minor | . |
| [HBASE-25910](https://issues.apache.org/jira/browse/HBASE-25910) | Fix TestClusterPortAssignment.testClusterPortAssignment test and re-enable it. | Minor | flakies, test |
| [HBASE-25824](https://issues.apache.org/jira/browse/HBASE-25824) | IntegrationTestLoadCommonCrawl | Minor | integration tests |
| [HBASE-25561](https://issues.apache.org/jira/browse/HBASE-25561) | Added ignored test for async connection that runs retries just so can check how long it takes and that retrying is happening | Trivial | test |
| [HBASE-25334](https://issues.apache.org/jira/browse/HBASE-25334) | TestRSGroupsFallback.testFallback is flaky | Major | . |
| [HBASE-25370](https://issues.apache.org/jira/browse/HBASE-25370) | Fix flaky test TestClassFinder#testClassFinderDefaultsToOwnPackage | Major | test |
### SUB-TASKS:
| JIRA | Summary | Priority | Component |
|:---- |:---- | :--- |:---- |
| [HBASE-26933](https://issues.apache.org/jira/browse/HBASE-26933) | Remove all ref guide stuff on branch other than master | Major | documentation |
| [HBASE-27006](https://issues.apache.org/jira/browse/HBASE-27006) | cordon off large ci worker nodes | Major | . |
| [HBASE-26855](https://issues.apache.org/jira/browse/HBASE-26855) | Delete unnecessary dependency on jaxb-runtime jar | Major | . |
| [HBASE-27024](https://issues.apache.org/jira/browse/HBASE-27024) | The User API and Developer API links are broken on hbase.apache.org | Major | website |
| [HBASE-27045](https://issues.apache.org/jira/browse/HBASE-27045) | Disable TestClusterScopeQuotaThrottle | Major | test |
| [HBASE-26986](https://issues.apache.org/jira/browse/HBASE-26986) | Trace a one-shot execution of a Master procedure | Major | . |
| [HBASE-26999](https://issues.apache.org/jira/browse/HBASE-26999) | HStore should try write WAL compaction marker before replacing compacted files in StoreEngine | Major | . |
| [HBASE-26330](https://issues.apache.org/jira/browse/HBASE-26330) | Document new provided compression codecs | Blocker | . |
| [HBASE-26995](https://issues.apache.org/jira/browse/HBASE-26995) | Remove ref guide check in pre commit and nightly for branches other than master | Major | build, scripts |
| [HBASE-26648](https://issues.apache.org/jira/browse/HBASE-26648) | Improve fidelity of RegionLocator spans | Major | tracing |
| [HBASE-26899](https://issues.apache.org/jira/browse/HBASE-26899) | Run spotless:apply | Major | . |
| [HBASE-26932](https://issues.apache.org/jira/browse/HBASE-26932) | Skip generating ref guide when running 'mvn site' on branch other than master | Major | build, pom |
| [HBASE-25058](https://issues.apache.org/jira/browse/HBASE-25058) | Export necessary modules when running under JDK11 | Major | Performance, rpc |
| [HBASE-26928](https://issues.apache.org/jira/browse/HBASE-26928) | Fix several indentation problems | Major | . |
| [HBASE-26922](https://issues.apache.org/jira/browse/HBASE-26922) | Fix LineLength warnings as much as possible if it can not be fixed by spotless | Major | . |
| [HBASE-26929](https://issues.apache.org/jira/browse/HBASE-26929) | Upgrade surefire plugin to 3.0.0-M6 | Major | pom, test |
| [HBASE-26927](https://issues.apache.org/jira/browse/HBASE-26927) | Add snapshot scanner UT with SFT and some cleanups to TestTableSnapshotScanner | Major | . |
| [HBASE-26916](https://issues.apache.org/jira/browse/HBASE-26916) | Fix missing braces warnings in DefaultVisibilityExpressionResolver | Major | . |
| [HBASE-26919](https://issues.apache.org/jira/browse/HBASE-26919) | Rewrite the counting rows part in TestFromClientSide4 | Major | test |
| [HBASE-26920](https://issues.apache.org/jira/browse/HBASE-26920) | Fix missing braces warnings in TestProcedureMember | Major | test |
| [HBASE-26921](https://issues.apache.org/jira/browse/HBASE-26921) | Rewrite the counting cells part in TestMultiVersions | Major | test |
| [HBASE-26545](https://issues.apache.org/jira/browse/HBASE-26545) | Implement tracing of scan | Major | tracing |
| [HBASE-26531](https://issues.apache.org/jira/browse/HBASE-26531) | Trace coprocessor exec endpoints | Major | . |
| [HBASE-25896](https://issues.apache.org/jira/browse/HBASE-25896) | Implement a Region Visualization on Master WebUI | Major | . |
| [HBASE-25895](https://issues.apache.org/jira/browse/HBASE-25895) | Implement a Cluster Metrics JSON endpoint | Major | . |
| [HBASE-26824](https://issues.apache.org/jira/browse/HBASE-26824) | TestHBaseTestingUtil.testResolvePortConflict failing after HBASE-26582 | Major | . |
| [HBASE-26582](https://issues.apache.org/jira/browse/HBASE-26582) | Prune use of Random and SecureRandom objects | Minor | . |
| [HBASE-26764](https://issues.apache.org/jira/browse/HBASE-26764) | Implement generic exception support for TraceUtil methods over Callables and Runnables | Major | . |
| [HBASE-26759](https://issues.apache.org/jira/browse/HBASE-26759) | Fix trace continuity through CallRunner | Major | . |
| [HBASE-26673](https://issues.apache.org/jira/browse/HBASE-26673) | Implement a shell command for change SFT implementation | Major | shell |
| [HBASE-26434](https://issues.apache.org/jira/browse/HBASE-26434) | Compact L0 files for cold regions using StripeCompactionPolicy | Major | . |
| [HBASE-26749](https://issues.apache.org/jira/browse/HBASE-26749) | Migrate HBase main pre commit job to ci-hbase | Major | . |
| [HBASE-26697](https://issues.apache.org/jira/browse/HBASE-26697) | Migrate HBase Nightly HBase-Flaky-Tests and HBase-Find-Flaky-Tests to ci-hbase | Major | jenkins |
| [HBASE-26521](https://issues.apache.org/jira/browse/HBASE-26521) | Name RPC spans as \`$package.$service/$method\` | Major | . |
| [HBASE-26747](https://issues.apache.org/jira/browse/HBASE-26747) | Use python2 instead of python in our python scripts | Major | jenkins |
| [HBASE-26472](https://issues.apache.org/jira/browse/HBASE-26472) | Adhere to semantic conventions regarding table data operations | Major | . |
| [HBASE-26473](https://issues.apache.org/jira/browse/HBASE-26473) | Introduce \`db.hbase.container\_operations\` span attribute | Major | . |
| [HBASE-26474](https://issues.apache.org/jira/browse/HBASE-26474) | Implement connection-level attributes | Major | . |
| [HBASE-26520](https://issues.apache.org/jira/browse/HBASE-26520) | Remove use of \`db.hbase.namespace\` tracing attribute | Major | . |
| [HBASE-26397](https://issues.apache.org/jira/browse/HBASE-26397) | Display the excluded datanodes on regionserver UI | Major | . |
| [HBASE-24870](https://issues.apache.org/jira/browse/HBASE-24870) | Ignore TestAsyncTableRSCrashPublish | Major | . |
| [HBASE-26304](https://issues.apache.org/jira/browse/HBASE-26304) | Reflect out-of-band locality improvements in served requests | Major | . |
| [HBASE-26471](https://issues.apache.org/jira/browse/HBASE-26471) | Move tracing semantic attributes to their own class | Major | . |
| [HBASE-26470](https://issues.apache.org/jira/browse/HBASE-26470) | Use openlabtesting protoc on linux arm64 in HBASE 2.x | Major | build |
| [HBASE-26327](https://issues.apache.org/jira/browse/HBASE-26327) | Replicas cohosted on a rack shouldn't keep triggering Balancer | Major | Balancer |
| [HBASE-26308](https://issues.apache.org/jira/browse/HBASE-26308) | Sum of multiplier of cost functions is not populated properly when we have a shortcut for trigger | Critical | Balancer |
| [HBASE-26430](https://issues.apache.org/jira/browse/HBASE-26430) | Increase DefaultHeapMemoryTuner log level | Minor | regionserver |
| [HBASE-26353](https://issues.apache.org/jira/browse/HBASE-26353) | Support loadable dictionaries in hbase-compression-zstd | Minor | . |
| [HBASE-26319](https://issues.apache.org/jira/browse/HBASE-26319) | Make flaky find job track more builds | Major | flakies, jenkins |
| [HBASE-26390](https://issues.apache.org/jira/browse/HBASE-26390) | Upload src tarball to nightlies for nightly jobs | Major | jenkins, scripts |
| [HBASE-26382](https://issues.apache.org/jira/browse/HBASE-26382) | Use gen\_redirect\_html for linking flaky test logs | Major | jenkins, scripts, test |
| [HBASE-26362](https://issues.apache.org/jira/browse/HBASE-26362) | Upload mvn site artifacts for nightly build to nightlies | Major | jenkins, scripts |
| [HBASE-26316](https://issues.apache.org/jira/browse/HBASE-26316) | Per-table or per-CF compression codec setting overrides | Minor | HFile, Operability |
| [HBASE-26360](https://issues.apache.org/jira/browse/HBASE-26360) | Use gen\_redirect\_html for linking test logs | Major | jenkins, scripts |
| [HBASE-26341](https://issues.apache.org/jira/browse/HBASE-26341) | Upload dashboard html for flaky find job to nightlies | Major | flakies, jenkins, scripts |
| [HBASE-24833](https://issues.apache.org/jira/browse/HBASE-24833) | Bootstrap should not delete the META table directory if it's not partial | Major | . |
| [HBASE-26339](https://issues.apache.org/jira/browse/HBASE-26339) | SshPublisher will skip uploading artifacts if the build is failure | Major | jenkins, scripts |
| [HBASE-26324](https://issues.apache.org/jira/browse/HBASE-26324) | Reuse compressors and decompressors in WAL CompressionContext | Minor | wal |
| [HBASE-26317](https://issues.apache.org/jira/browse/HBASE-26317) | Publish the test logs for pre commit jenkins job to nightlies | Major | jenkins, scripts |
| [HBASE-26313](https://issues.apache.org/jira/browse/HBASE-26313) | Publish the test logs for our nightly jobs to nightlies.apache.org | Major | jenkins, scripts |
| [HBASE-26318](https://issues.apache.org/jira/browse/HBASE-26318) | Publish test logs for flaky jobs to nightlies | Major | flakies, jenkins |
| [HBASE-26259](https://issues.apache.org/jira/browse/HBASE-26259) | Fallback support to pure Java compression | Major | Performance |
| [HBASE-26294](https://issues.apache.org/jira/browse/HBASE-26294) | Backport "HBASE-26181 Region server and master could use itself as ConnectionRegistry" to branch-2 | Major | master, regionserver |
| [HBASE-26293](https://issues.apache.org/jira/browse/HBASE-26293) | Use reservoir sampling when selecting bootstrap nodes | Major | master, regionserver |
| [HBASE-26277](https://issues.apache.org/jira/browse/HBASE-26277) | Revert 26240, Apply InterfaceAudience.Private to BalanceResponse$Builder | Minor | . |
| [HBASE-26240](https://issues.apache.org/jira/browse/HBASE-26240) | Set BalanceRequest$Builder to InterfaceAudience.Private | Trivial | . |
| [HBASE-26157](https://issues.apache.org/jira/browse/HBASE-26157) | Expose some IA.LimitedPrivate interface in TestingHBaseCluster | Major | API, test |
| [HBASE-26235](https://issues.apache.org/jira/browse/HBASE-26235) | We could start RegionServerTracker before becoming active master | Major | master, Zookeeper |
| [HBASE-26216](https://issues.apache.org/jira/browse/HBASE-26216) | Move HRegionServer.abort(String) to Abortable as a default method | Major | API, regionserver |
| [HBASE-26189](https://issues.apache.org/jira/browse/HBASE-26189) | Reduce log level of CompactionProgress notice to DEBUG | Minor | Compaction |
| [HBASE-26168](https://issues.apache.org/jira/browse/HBASE-26168) | Backport HBASE-25811 for fixing nightly tests with error of \`NoClassDefFoundError: io/opentelemetry/api/GlobalOpenTelemetry\` | Major | tracing |
| [HBASE-26227](https://issues.apache.org/jira/browse/HBASE-26227) | Forward port HBASE-26223 test code to branch-2.4+ | Major | test |
| [HBASE-26140](https://issues.apache.org/jira/browse/HBASE-26140) | Backport HBASE-25778 "The tracinig implementation for AsyncConnectionImpl.getHbck is incorrect" to branch-2 | Major | tracing |
| [HBASE-26139](https://issues.apache.org/jira/browse/HBASE-26139) | Backport HBASE-23762 "Add documentation on how to enable and view tracing with OpenTelemetry" to branch-2 | Major | tracing |
| [HBASE-26138](https://issues.apache.org/jira/browse/HBASE-26138) | Backport HBASE-25733 "Upgrade opentelemetry to 1.0.1" to branch-2 | Major | tracing |
| [HBASE-26137](https://issues.apache.org/jira/browse/HBASE-26137) | Backport HBASE-25732 "Change the command line argument for tracing after upgrading opentelemtry to 1.0.0" to branch-2 | Major | tracing |
| [HBASE-26180](https://issues.apache.org/jira/browse/HBASE-26180) | Introduce a initial refresh interval for RpcConnectionRegistry | Major | Client |
| [HBASE-26215](https://issues.apache.org/jira/browse/HBASE-26215) | The backup master status page should use ActiveMasterManager instead of MasterAddressTracker | Major | master, UI |
| [HBASE-26136](https://issues.apache.org/jira/browse/HBASE-26136) | Backport HBASE-25723 "Temporarily remove the trace support for RegionScanner.next" to branch-2 | Major | tracing |
| [HBASE-26135](https://issues.apache.org/jira/browse/HBASE-26135) | Backport HBASE-25616 "Upgrade opentelemetry to 1.0.0" to branch-2 | Major | tracing |
| [HBASE-26173](https://issues.apache.org/jira/browse/HBASE-26173) | Return only a sub set of region servers as bootstrap nodes | Major | Client |
| [HBASE-26182](https://issues.apache.org/jira/browse/HBASE-26182) | Allow disabling refresh of connection registry endpoint | Major | Client |
| [HBASE-26134](https://issues.apache.org/jira/browse/HBASE-26134) | Backport HBASE-25617 "Revisit the span names" to branch-2 | Major | . |
| [HBASE-26133](https://issues.apache.org/jira/browse/HBASE-26133) | Backport HBASE-25591 "Upgrade opentelemetry to 0.17.1" to branch-2 | Major | . |
| [HBASE-26132](https://issues.apache.org/jira/browse/HBASE-26132) | Backport HBASE-25535 "Set span kind to CLIENT in AbstractRpcClient" to branch-2 | Major | . |
| [HBASE-26131](https://issues.apache.org/jira/browse/HBASE-26131) | Backport HBASE-25484 "Add trace support for WAL sync" to branch-2 | Major | . |
| [HBASE-26172](https://issues.apache.org/jira/browse/HBASE-26172) | Deprecate MasterRegistry | Major | Client |
| [HBASE-24337](https://issues.apache.org/jira/browse/HBASE-24337) | Backport HBASE-23968 to branch-2 | Minor | . |
| [HBASE-26130](https://issues.apache.org/jira/browse/HBASE-26130) | Backport HBASE-25455 "Add trace support for HRegion read/write operation" to branch-2 | Major | . |
| [HBASE-26129](https://issues.apache.org/jira/browse/HBASE-26129) | Backport HBASE-25481 "Add host and port attribute when tracing rpc call at client side" to branch-2 | Major | . |
| [HBASE-26128](https://issues.apache.org/jira/browse/HBASE-26128) | Backport HBASE-25454 "Add trace support for connection registry" to branch-2 | Major | tracing |
| [HBASE-26150](https://issues.apache.org/jira/browse/HBASE-26150) | Let region server also carry ClientMetaService | Major | Client, meta |
| [HBASE-26127](https://issues.apache.org/jira/browse/HBASE-26127) | Backport HBASE-23898 "Add trace support for simple apis in async client" to branch-2 | Major | tracing |
| [HBASE-26126](https://issues.apache.org/jira/browse/HBASE-26126) | Backport HBASE-25424 "Find a way to config OpenTelemetry tracing without directly depending on opentelemetry-sdk" to branch-2 | Major | . |
| [HBASE-26125](https://issues.apache.org/jira/browse/HBASE-26125) | Backport HBASE-25401 "Add trace support for async call in rpc client" to branch-2 | Major | tracing |
| [HBASE-26151](https://issues.apache.org/jira/browse/HBASE-26151) | Reimplement MasterAddressTracker to also cache backup master addresses | Major | Client, Zookeeper |
| [HBASE-26098](https://issues.apache.org/jira/browse/HBASE-26098) | Support passing a customized Configuration object when creating TestingHBaseCluster | Major | API, test |
| [HBASE-26124](https://issues.apache.org/jira/browse/HBASE-26124) | Backport HBASE-25373 "Remove HTrace completely in code base and try to make use of OpenTelemetry" to branch-2 | Major | tracing |
| [HBASE-26093](https://issues.apache.org/jira/browse/HBASE-26093) | Replication is stuck due to zero length wal file in oldWALs directory [master/branch-2] | Major | . |
| [HBASE-24734](https://issues.apache.org/jira/browse/HBASE-24734) | RegionInfo#containsRange should support check meta table | Major | HFile, MTTR |
| [HBASE-25739](https://issues.apache.org/jira/browse/HBASE-25739) | TableSkewCostFunction need to use aggregated deviation | Major | Balancer, master |
| [HBASE-26080](https://issues.apache.org/jira/browse/HBASE-26080) | Implement a new mini cluster class for end users | Major | API, test |
| [HBASE-26050](https://issues.apache.org/jira/browse/HBASE-26050) | Remove the reflection used in FSUtils.isInSafeMode | Major | . |
| [HBASE-26041](https://issues.apache.org/jira/browse/HBASE-26041) | Replace PrintThreadInfoHelper with HBase's own ReflectionUtils.printThreadInfo() | Major | util |
| [HBASE-26019](https://issues.apache.org/jira/browse/HBASE-26019) | Remove reflections used in HBaseConfiguration.getPassword() | Major | . |
| [HBASE-25992](https://issues.apache.org/jira/browse/HBASE-25992) | Polish the ReplicationSourceWALReader code for 2.x after HBASE-25596 | Major | Replication |
| [HBASE-25976](https://issues.apache.org/jira/browse/HBASE-25976) | Implement a master based ReplicationTracker | Major | Replication |
| [HBASE-25989](https://issues.apache.org/jira/browse/HBASE-25989) | FanOutOneBlockAsyncDFSOutput using shaded protobuf in hdfs 3.3+ | Major | . |
| [HBASE-25969](https://issues.apache.org/jira/browse/HBASE-25969) | Cleanup netty-all transitive includes | Major | . |
| [HBASE-25963](https://issues.apache.org/jira/browse/HBASE-25963) | HBaseCluster should be marked as IA.Public | Major | API |
| [HBASE-25911](https://issues.apache.org/jira/browse/HBASE-25911) | Fix uses of System.currentTimeMillis (should be EnvironmentEdgeManager.currentTime) | Minor | . |
| [HBASE-25941](https://issues.apache.org/jira/browse/HBASE-25941) | TestRESTServerSSL fails because of jdk bug | Major | test |
| [HBASE-25940](https://issues.apache.org/jira/browse/HBASE-25940) | Update Compression/TestCompressionTest: LZ4, SNAPPY, LZO | Major | . |
| [HBASE-25718](https://issues.apache.org/jira/browse/HBASE-25718) | Backport HBASE-25705 to branch-2 | Minor | rsgroup |
| [HBASE-25926](https://issues.apache.org/jira/browse/HBASE-25926) | Cleanup MetaTableAccessor references in FavoredNodeBalancer related code | Major | Balancer, FavoredNodes, meta |
| [HBASE-25791](https://issues.apache.org/jira/browse/HBASE-25791) | UI of master-status to show a recent history of that why balancer was rejected to run | Major | Balancer, master, UI |
| [HBASE-25894](https://issues.apache.org/jira/browse/HBASE-25894) | Improve the performance for region load and region count related cost functions | Major | Balancer, Performance |
| [HBASE-25873](https://issues.apache.org/jira/browse/HBASE-25873) | Refactor and cleanup the code for CostFunction | Major | Balancer, Performance |
| [HBASE-25872](https://issues.apache.org/jira/browse/HBASE-25872) | Add documentation for LoadBalancer about synchronization | Major | Balancer, documentation |
| [HBASE-25883](https://issues.apache.org/jira/browse/HBASE-25883) | The regionFinder and rackManager fields in BaseLoadBalancer should be volatile | Major | Balancer |
| [HBASE-25852](https://issues.apache.org/jira/browse/HBASE-25852) | Move all the intialization work of LoadBalancer implementation to initialize method | Major | Balancer |
| [HBASE-25876](https://issues.apache.org/jira/browse/HBASE-25876) | Add retry if we fail to read all bytes of the protobuf magic marker | Trivial | io |
| [HBASE-25790](https://issues.apache.org/jira/browse/HBASE-25790) | NamedQueue 'BalancerRejection' for recent history of balancer skipping | Major | Balancer, master |
| [HBASE-25854](https://issues.apache.org/jira/browse/HBASE-25854) | Remove redundant AM in-memory state changes in CatalogJanitor | Major | . |
| [HBASE-25851](https://issues.apache.org/jira/browse/HBASE-25851) | Make LoadBalancer not extend Configurable interface | Major | Balancer |
| [HBASE-25847](https://issues.apache.org/jira/browse/HBASE-25847) | More DEBUG and TRACE level logging in CatalogJanitor and HbckChore | Minor | . |
| [HBASE-25834](https://issues.apache.org/jira/browse/HBASE-25834) | Remove balanceTable method from LoadBalancer interface | Major | Balancer |
| [HBASE-25838](https://issues.apache.org/jira/browse/HBASE-25838) | Use double instead of Double in StochasticLoadBalancer | Major | Balancer, Performance |
| [HBASE-25835](https://issues.apache.org/jira/browse/HBASE-25835) | Ignore duplicate split requests from regionserver reports | Major | . |
| [HBASE-25836](https://issues.apache.org/jira/browse/HBASE-25836) | RegionStates#getAssignmentsForBalancer should only care about OPEN or OPENING regions | Major | . |
| [HBASE-25840](https://issues.apache.org/jira/browse/HBASE-25840) | CatalogJanitor warns about skipping gc of regions during RIT, but does not actually skip | Minor | . |
| [HBASE-25819](https://issues.apache.org/jira/browse/HBASE-25819) | Fix style issues for StochasticLoadBalancer | Major | Balancer |
| [HBASE-25802](https://issues.apache.org/jira/browse/HBASE-25802) | Miscellaneous style improvements for load balancer related classes | Major | Balancer |
| [HBASE-25793](https://issues.apache.org/jira/browse/HBASE-25793) | Move BaseLoadBalancer.Cluster to a separated file | Major | Balancer |
| [HBASE-25775](https://issues.apache.org/jira/browse/HBASE-25775) | Use a special balancer to deal with maintenance mode | Major | Balancer |
| [HBASE-25687](https://issues.apache.org/jira/browse/HBASE-25687) | Backport "HBASE-25681 Add a switch for server/table queryMeter" to branch-2 and branch-1 | Major | . |
| [HBASE-25199](https://issues.apache.org/jira/browse/HBASE-25199) | Remove HStore#getStoreHomedir | Minor | . |
| [HBASE-25696](https://issues.apache.org/jira/browse/HBASE-25696) | Need to initialize SLF4JBridgeHandler in jul-to-slf4j for redirecting jul to slf4j | Major | logging |
| [HBASE-25695](https://issues.apache.org/jira/browse/HBASE-25695) | Link to the filter on hbase:meta from user tables panel on master page | Major | UI |
| [HBASE-25629](https://issues.apache.org/jira/browse/HBASE-25629) | Reimplement TestCurrentHourProvider to not depend on unstable TZs | Major | test |
| [HBASE-25671](https://issues.apache.org/jira/browse/HBASE-25671) | Backport HBASE-25608 to branch-2 | Major | . |
| [HBASE-25677](https://issues.apache.org/jira/browse/HBASE-25677) | Server+table counters on each scan #nextRaw invocation becomes a bottleneck when heavy load | Major | metrics |
| [HBASE-25667](https://issues.apache.org/jira/browse/HBASE-25667) | Remove RSGroup test addition made in parent; depends on functionality not in old branches | Major | . |
| [HBASE-25550](https://issues.apache.org/jira/browse/HBASE-25550) | More readable Competition Time | Minor | UI |
| [HBASE-24900](https://issues.apache.org/jira/browse/HBASE-24900) | Make retain assignment configurable during SCP | Major | amv2 |
| [HBASE-25509](https://issues.apache.org/jira/browse/HBASE-25509) | ChoreService.cancelChore will not call ScheduledChore.cleanup which may lead to resource leak | Major | util |
| [HBASE-25336](https://issues.apache.org/jira/browse/HBASE-25336) | Use Address instead of InetSocketAddress in RpcClient implementation | Major | Client, rpc |
| [HBASE-25353](https://issues.apache.org/jira/browse/HBASE-25353) | [Flakey Tests] branch-2 TestShutdownBackupMaster | Major | flakies |
### OTHER:
| JIRA | Summary | Priority | Component |
|:---- |:---- | :--- |:---- |
| [HBASE-26245](https://issues.apache.org/jira/browse/HBASE-26245) | Store region server list in master local region | Major | master, Zookeeper |
| [HBASE-25934](https://issues.apache.org/jira/browse/HBASE-25934) | Add username for RegionScannerHolder | Minor | . |
| [HBASE-25826](https://issues.apache.org/jira/browse/HBASE-25826) | Revisit the synchronization of balancer implementation | Major | Balancer |
| [HBASE-26912](https://issues.apache.org/jira/browse/HBASE-26912) | Bump checkstyle from 8.28 to 8.29 | Minor | test |
| [HBASE-26523](https://issues.apache.org/jira/browse/HBASE-26523) | Upgrade hbase-thirdparty dependency to 4.0.1 | Blocker | thirdparty |
| [HBASE-26892](https://issues.apache.org/jira/browse/HBASE-26892) | Add spotless:check in our pre commit general check | Major | jenkins |
| [HBASE-26906](https://issues.apache.org/jira/browse/HBASE-26906) | Remove duplicate dependency declaration | Major | build |
| [HBASE-26826](https://issues.apache.org/jira/browse/HBASE-26826) | Backport StoreFileTracker (HBASE-26067, HBASE-26584, and others) to branch-2.5 | Major | Operability, regionserver |
| [HBASE-26903](https://issues.apache.org/jira/browse/HBASE-26903) | Bump httpclient from 4.5.3 to 4.5.13 | Minor | . |
| [HBASE-26902](https://issues.apache.org/jira/browse/HBASE-26902) | Bump bcprov-jdk15on from 1.60 to 1.67 | Minor | . |
| [HBASE-26834](https://issues.apache.org/jira/browse/HBASE-26834) | Adapt ConnectionRule for both sync and async connections | Major | test |
| [HBASE-26861](https://issues.apache.org/jira/browse/HBASE-26861) | Fix flaky TestSnapshotFromMaster.testSnapshotHFileArchiving | Major | snapshots, test |
| [HBASE-26802](https://issues.apache.org/jira/browse/HBASE-26802) | Backport the log4j2 changes to branch-2 | Blocker | logging |
| [HBASE-26819](https://issues.apache.org/jira/browse/HBASE-26819) | Minor code cleanup in and around RpcScheduler | Minor | IPC/RPC |
| [HBASE-26817](https://issues.apache.org/jira/browse/HBASE-26817) | Mark RpcExecutor as IA.LimitedPrivate COPROC and PHOENIX | Major | compatibility |
| [HBASE-26782](https://issues.apache.org/jira/browse/HBASE-26782) | Minor code cleanup in and around RpcExecutor | Minor | IPC/RPC |
| [HBASE-26760](https://issues.apache.org/jira/browse/HBASE-26760) | LICENSE handling should not allow non-aggregated "apache-2.0" | Minor | community |
| [HBASE-26691](https://issues.apache.org/jira/browse/HBASE-26691) | Replacing log4j with reload4j for branch-2.x | Critical | logging |
| [HBASE-26788](https://issues.apache.org/jira/browse/HBASE-26788) | Disable Checks API callback from test results in PRs | Major | build |
| [HBASE-26622](https://issues.apache.org/jira/browse/HBASE-26622) | Update to error-prone 2.10 | Major | . |
| [HBASE-26663](https://issues.apache.org/jira/browse/HBASE-26663) | Upgrade Maven Enforcer Plugin | Major | build |
| [HBASE-25918](https://issues.apache.org/jira/browse/HBASE-25918) | Upgrade hbase-thirdparty dependency to 3.5.1 | Critical | dependencies |
| [HBASE-26719](https://issues.apache.org/jira/browse/HBASE-26719) | Remove 'patch' file added as part of commit for HBASE-25973 | Minor | . |
| [HBASE-26614](https://issues.apache.org/jira/browse/HBASE-26614) | Refactor code related to "dump"ing ZK nodes | Major | Zookeeper |
| [HBASE-26551](https://issues.apache.org/jira/browse/HBASE-26551) | Add FastPath feature to HBase RWQueueRpcExecutor | Major | rpc, Scheduler |
| [HBASE-26616](https://issues.apache.org/jira/browse/HBASE-26616) | Refactor code related to ZooKeeper authentication | Major | Zookeeper |
| [HBASE-26631](https://issues.apache.org/jira/browse/HBASE-26631) | Upgrade junit to 4.13.2 | Major | security, test |
| [HBASE-26564](https://issues.apache.org/jira/browse/HBASE-26564) | Retire the method visitLogEntryBeforeWrite without RegionInfo in WALActionListner | Minor | wal |
| [HBASE-26566](https://issues.apache.org/jira/browse/HBASE-26566) | Optimize encodeNumeric in OrderedBytes | Major | Performance |
| [HBASE-26580](https://issues.apache.org/jira/browse/HBASE-26580) | The message of StoreTooBusy is confused | Trivial | logging, regionserver |
| [HBASE-26549](https://issues.apache.org/jira/browse/HBASE-26549) | hbaseprotoc plugin should initialize maven | Major | jenkins |
| [HBASE-26490](https://issues.apache.org/jira/browse/HBASE-26490) | Add builder for class ReplicationLoadSink | Minor | Client |
| [HBASE-26444](https://issues.apache.org/jira/browse/HBASE-26444) | BucketCacheWriter should log only the BucketAllocatorException message, not the full stack trace | Major | logging, Operability |
| [HBASE-26443](https://issues.apache.org/jira/browse/HBASE-26443) | Some BaseLoadBalancer log lines should be at DEBUG level | Major | logging, Operability |
| [HBASE-26369](https://issues.apache.org/jira/browse/HBASE-26369) | Fix checkstyle issues for HBase-common: KeyValue and ByteBufferUtils | Trivial | . |
| [HBASE-26368](https://issues.apache.org/jira/browse/HBASE-26368) | Fix checkstyle issues for HRegionserver | Trivial | . |
| [HBASE-26329](https://issues.apache.org/jira/browse/HBASE-26329) | Upgrade commons-io to 2.11.0 | Major | dependencies |
| [HBASE-26186](https://issues.apache.org/jira/browse/HBASE-26186) | jenkins script for caching artifacts should verify cached file before relying on it | Major | build, integration tests |
| [HBASE-26288](https://issues.apache.org/jira/browse/HBASE-26288) | Revisit the usage of MetaTableLocator when HRegionServer.TEST\_SKIP\_REPORTING\_TRANSITION is true | Major | meta, regionserver, test, Zookeeper |
| [HBASE-26285](https://issues.apache.org/jira/browse/HBASE-26285) | Remove MetaTableLocator usages in non-migration code | Major | meta, Zookeeper |
| [HBASE-25853](https://issues.apache.org/jira/browse/HBASE-25853) | Backport HBASE-22120 (Replace HTrace with OpenTelemetry) to branch-2 | Major | tracing |
| [HBASE-26152](https://issues.apache.org/jira/browse/HBASE-26152) | Exclude javax.servlet:servlet-api in hbase-shaded-testing-util | Major | . |
| [HBASE-25521](https://issues.apache.org/jira/browse/HBASE-25521) | Change ChoreService and ScheduledChore to IA.Private | Major | util |
| [HBASE-26015](https://issues.apache.org/jira/browse/HBASE-26015) | Should implement getRegionServers(boolean) method in AsyncAdmin | Major | Admin, Client |
| [HBASE-25920](https://issues.apache.org/jira/browse/HBASE-25920) | Support Hadoop 3.3.1 | Major | . |
| [HBASE-25948](https://issues.apache.org/jira/browse/HBASE-25948) | Remove deprecated ZK command 'rmr' in hbase-cleanup.sh | Major | scripts |
| [HBASE-25884](https://issues.apache.org/jira/browse/HBASE-25884) | NPE while getting Balancer decisions | Major | . |
| [HBASE-25843](https://issues.apache.org/jira/browse/HBASE-25843) | Move master http-related code into o.a.h.h.master.http | Minor | master |
| [HBASE-25842](https://issues.apache.org/jira/browse/HBASE-25842) | Move regionserver http-related code into o.a.h.h.regionserver.http | Minor | regionserver |
| [HBASE-25779](https://issues.apache.org/jira/browse/HBASE-25779) | HRegionServer#compactSplitThread should be private | Trivial | regionserver |
| [HBASE-25755](https://issues.apache.org/jira/browse/HBASE-25755) | Exclude tomcat-embed-core from libthrift | Critical | dependencies, Thrift |
| [HBASE-25750](https://issues.apache.org/jira/browse/HBASE-25750) | Upgrade RpcControllerFactory and HBaseRpcController from Private to LimitedPrivate(COPROC,PHOENIX) | Major | Coprocessors, phoenix, rpc |
| [HBASE-25604](https://issues.apache.org/jira/browse/HBASE-25604) | Upgrade spotbugs to 4.x | Major | build, findbugs |
| [HBASE-25620](https://issues.apache.org/jira/browse/HBASE-25620) | Increase timeout value for pre commit | Major | build, test |
| [HBASE-25615](https://issues.apache.org/jira/browse/HBASE-25615) | Upgrade java version in pre commit docker file | Major | build |
| [HBASE-25083](https://issues.apache.org/jira/browse/HBASE-25083) | make sure the next hbase 1.y release has Hadoop 2.10 as a minimum version | Major | documentation, hadoop2 |
| [HBASE-25474](https://issues.apache.org/jira/browse/HBASE-25474) | Update HBase version to 2.5.0 in branch-2 pom.xml | Major | . |
| [HBASE-25333](https://issues.apache.org/jira/browse/HBASE-25333) | Add maven enforcer rule to ban VisibleForTesting imports | Major | build, pom |
| [HBASE-25451](https://issues.apache.org/jira/browse/HBASE-25451) | Upgrade commons-io to 2.8.0 | Major | dependencies |
| [HBASE-25452](https://issues.apache.org/jira/browse/HBASE-25452) | Use MatcherAssert.assertThat instead of org.junit.Assert.assertThat | Major | test |
| [HBASE-25400](https://issues.apache.org/jira/browse/HBASE-25400) | [Flakey Tests] branch-2 TestRegionMoveAndAbandon | Major | . |
| [HBASE-25389](https://issues.apache.org/jira/browse/HBASE-25389) | [Flakey Tests] branch-2 TestMetaShutdownHandler | Major | flakies |
## Release 2.2.0 - Unreleased (as of 2019-06-11)

View File

@ -20,6 +20,973 @@
# Be careful doing manual edits in this file. Do not change format
# of release header or remove the below marker. This file is generated.
# DO NOT REMOVE THIS MARKER; FOR INTERPOLATING CHANGES!-->
# HBASE 2.5.0 Release Notes
These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
---
* [HBASE-27055](https://issues.apache.org/jira/browse/HBASE-27055) | *Minor* | **Add additional comments when using HBASE\_TRACE\_OPTS with standalone mode**
hbase-env.sh has been updated with an optional configuration HBASE\_OPTS for standalone mode
# export HBASE\_OPTS="${HBASE\_OPTS} ${HBASE\_TRACE\_OPTS} -Dotel.resource.attributes=service.name=hbase-standalone"
---
* [HBASE-26342](https://issues.apache.org/jira/browse/HBASE-26342) | *Major* | **Support custom paths of independent configuration and pool for hfile cleaner**
Configure the custom hifle paths (under archive directory), e.g. data/default/testTable1,data/default/testTable2 by "hbase.master.hfile.cleaner.custom.paths".
Configure hfile cleaner classes for the custom paths by "hbase.master.hfilecleaner.custom.paths.plugins".
Configure the shared pool size of custom hfile cleaner paths by "hbase.cleaner.custom.hfiles.pool.size".
---
* [HBASE-27047](https://issues.apache.org/jira/browse/HBASE-27047) | *Minor* | **Fix typo for metric drainingRegionServers**
Fix typo for metric drainingRegionServers. Change metric name from draininigRegionServers to drainingRegionServers.
---
* [HBASE-25465](https://issues.apache.org/jira/browse/HBASE-25465) | *Minor* | **Use javac --release option for supporting cross version compilation**
When compiling with java 11 and above, we will use --release 8 to maintain java 8 compatibility.
Also upgrade jackson to 2.13.1 because in hbase-thirdparty 4.1.0 we shade jackson 2.13.1.
---
* [HBASE-27024](https://issues.apache.org/jira/browse/HBASE-27024) | *Major* | **The User API and Developer API links are broken on hbase.apache.org**
Upgrade maven-site-plugin to 3.12.0, maven-javadoc-plugin to 3.4.0.
---
* [HBASE-26986](https://issues.apache.org/jira/browse/HBASE-26986) | *Major* | **Trace a one-shot execution of a Master procedure**
Individual executions of procedures are now wrapped in a tracing span. No effort is made to coordinate multiple executions back to a common PID.
---
* [HBASE-27013](https://issues.apache.org/jira/browse/HBASE-27013) | *Major* | **Introduce read all bytes when using pread for prefetch**
Introduce optional flag hfile.pread.all.bytes.enabled for pread that must read full bytes with the next block header. This feature is specially helpful when users are running HBase with Blob storage like S3 and Azure Blob storage. Especially when using HBase with S3A and set fs.s3a.experimental.input.fadvise=sequential, it can save input stream from seeking backward that spent more time on storage connection reset time.
---
* [HBASE-26899](https://issues.apache.org/jira/browse/HBASE-26899) | *Major* | **Run spotless:apply**
Run spotless:apply to format our code base.
When viewing 'git blame', you may find a file has a large amount lines are modified by the commit of HBASE-26899, so you need to go back to the commit before this commit, and viewing 'git blame' again.
---
* [HBASE-26617](https://issues.apache.org/jira/browse/HBASE-26617) | *Major* | **Use spotless to reduce the pain on fixing checkstyle issues**
Use spotless to format our java file and pom file, using the hbase\_eclipse\_formatter.xml and eclipse.importerorder file under our dev-support directory.
On all branches, the ratchetFrom is set the commit just before the commit which introduces the spotless plugin, so we will only format the files which are touched in later commits.
From now on, you should type mvn spotless:apply before generating a PR, the spotless plugin will fix most of the format issues for you.
---
* [HBASE-22349](https://issues.apache.org/jira/browse/HBASE-22349) | *Major* | **Stochastic Load Balancer skips balancing when node is replaced in cluster**
StochasticLoadBalancer now respects the hbase.regions.slop configuration value as another factor in determining whether to attempt a balancer run. If any regionserver has a region count outside of the target range, the balancer will attempt to balance. Using the default 0.2 value, the target range is 80%-120% of the average (mean) region count per server. Whether the balancer will ultimately move regions will still depend on the weights of StochasticLoadBalancer's cost functions.
---
* [HBASE-26807](https://issues.apache.org/jira/browse/HBASE-26807) | *Major* | **Unify CallQueueTooBigException special pause with CallDroppedException**
Introduces a new config "hbase.client.pause.server.overloaded", deprecating old "hbase.client.pause.cqtbe". The new config specifies a special pause time to use when the client receives an exception from the server indicating that it is overloaded. Currently this applies to CallQueueTooBigException and CallDroppedException.
---
* [HBASE-26891](https://issues.apache.org/jira/browse/HBASE-26891) | *Minor* | **Make MetricsConnection scope configurable**
Adds a new "hbase.client.metrics.scope" config which allows users to define a custom scope for each Connection's metric instance. The default scope has also been changed to include the clusterId of the Connection, which should help differentiate metrics for processes connecting to multiple clusters. The scope is added to the ObjectName for JMX beans, so can be used to query for metrics for a particular connection. Using a custom scope might be useful in cases where you maintain separate Connections for writes vs reads. In that case you can set the scope appropriately and differentiate metrics for each.
---
* [HBASE-26826](https://issues.apache.org/jira/browse/HBASE-26826) | *Major* | **Backport StoreFileTracker (HBASE-26067, HBASE-26584, and others) to branch-2.5**
Introduces the StoreFileTracker interface to HBase. This is a server-side interface which abstracts how a Store (column family) knows what files should be included in that Store. Previously, HBase relied on a listing the directory a Store used for storage to determine the files which should make up that Store.
After this feature, there are two implementations of StoreFileTrackers. The first (and default) implementation is listing the Store directory. The second is a new implementation which records files which belong to a Store within each Store. Whenever the list of files that make up a Store change, this metadata file will be updated.
This feature is notable in that it better enables HBase to function on storage systems which do not provide the typical posix filesystem semantics, most importantly, those which do not implement a file rename operation which is atomic. Storage systems which do not implement atomic renames often implement a rename as a copy and delete operation which amplifies the I/O costs by 2x.
At scale, this feature should have a 2x reduction in I/O costs when using storage systems that do not provide atomic renames, most importantly in HBase compactions and memstore flushes. See the corresponding section, "Store File Tracking", in the HBase book for more information on how to use this feature.
The file based StoreFileTracker, FileBasedStoreFileTracker, is currently incompatible with the Medium Objects (MOB) feature. Do not enable them together.
---
* [HBASE-26618](https://issues.apache.org/jira/browse/HBASE-26618) | *Minor* | **Involving primary meta region in meta scan with CatalogReplicaLoadBalanceSimpleSelector**
When META replica LoadBalance mode is enabled at client-side, clients will try to read from one META region first. If META location is from any non-primary META regions, in case of errors, it will fall back to the primary META region.
---
* [HBASE-26245](https://issues.apache.org/jira/browse/HBASE-26245) | *Major* | **Store region server list in master local region**
A typical HBase deployment on cloud is to store the data other than WAL on OSS, and store the WAL data on a special HDFS cluster. A common operation is to rebuild the cluster with fresh new zk cluster and HDFS cluster, with only the old rootdir on OSS. But it requires extra manual steps since we rely on the WAL directory to find out previous live region servers, so we can schedule SCP to bring regions online.
After this issue, now it is possible to rebuild the cluster without extra manual steps as we will also store the previous live region servers in master local region.
But notice that you'd better stop masters first and then region servers when rebuilding, as some tests show that if there are some pending procedures, the new clusters may still hang.
---
* [HBASE-21065](https://issues.apache.org/jira/browse/HBASE-21065) | *Major* | **Try ROW\_INDEX\_V1 encoding on meta table (fix bloomfilters on meta while we are at it)**
Enables ROW\_INDEX\_V1 encoding on hbase:meta by default. Also enables blooms.
Will NOT enable encoding and blooms on upgrade. Operator will need to do this manually by editing hbase:meta schema (Or we provide a migration script to enable these configs -- out-of-scope for this JIRA).
---
* [HBASE-25895](https://issues.apache.org/jira/browse/HBASE-25895) | *Major* | **Implement a Cluster Metrics JSON endpoint**
Introduces a REST+JSON endpoint on the master info server port, which is used to render the "Region Visualizer" section of the Master Status page. When enabled, access to this API is gated by authentication only, just like the Master Status page. This API is considered InterfaceAudience.Private, can change or disappear without notice.
---
* [HBASE-26802](https://issues.apache.org/jira/browse/HBASE-26802) | *Blocker* | **Backport the log4j2 changes to branch-2**
Use log4j2 instead of log4j for logging.
Exclude log4j dependency from hbase and transitive dependencies, use log4j-1.2-api as test dependency for bridging as hadoop still need log4j for some reasons. Copy FileAppender implementation in hbase-logging as the ContainerLogAppender for YARN NodeManager extends it. All log4j.properties files have been replaced by log4j2.properties.
---
* [HBASE-26552](https://issues.apache.org/jira/browse/HBASE-26552) | *Major* | **Introduce retry to logroller to avoid abort**
For retrying to roll log, the wait timeout is limited by "hbase.regionserver.logroll.wait.timeout.ms",
and the max retry time is limited by "hbase.regionserver.logroll.retries".
Do not retry to roll log is the default behavior.
---
* [HBASE-25709](https://issues.apache.org/jira/browse/HBASE-25709) | *Major* | **Close region may stuck when region is compacting and skipped most cells read**
Both compacting scanners and user scanners should return promptly, when there are many skipped cells.
---
* [HBASE-26673](https://issues.apache.org/jira/browse/HBASE-26673) | *Major* | **Implement a shell command for change SFT implementation**
Introduced two shell commands for change table's or family's sft:
change\_sft:
Change table's or table column family's sft. Examples:
hbase\> change\_sft 't1','FILE'
hbase\> change\_sft 't2','cf1','FILE'
change\_sft\_all:
Change all of the tables's sft matching the given regex:
hbase\> change\_sft\_all 't.\*','FILE'
hbase\> change\_sft\_all 'ns:.\*','FILE'
hbase\> change\_sft\_all 'ns:t.\*','FILE'
---
* [HBASE-26742](https://issues.apache.org/jira/browse/HBASE-26742) | *Major* | **Comparator of NOT\_EQUAL NULL is invalid for checkAndMutate**
The semantics of checkAndPut for null(or empty) value comparator is changed, the old match is always true.
But we should consider that EQUAL or NOT\_EQUAL for null check is a common usage, so the semantics of checkAndPut for matching null is correct now.
There is rare use of LESS or GREATER null, so keep the semantics for them.
---
* [HBASE-26688](https://issues.apache.org/jira/browse/HBASE-26688) | *Major* | **Threads shared EMPTY\_RESULT may lead to unexpected client job down.**
Result#advance with empty cell list will always return false but not raise NoSuchElementException when called multiple times.
This is a behavior change so it is an 'incompatible change', but since it will not introduce any compile error and the old behavior is 'broken', so we also fix it for current release branches.
---
* [HBASE-26473](https://issues.apache.org/jira/browse/HBASE-26473) | *Major* | **Introduce \`db.hbase.container\_operations\` span attribute**
<!-- markdown --> Introduces an HBase-specific tracing attribute called `db.hbase.container_operations`. This attribute contains a list of table operations contained in the batch/list/envelope operation, allowing an operator to seek, for example, all `PUT` operations, even they occur inside of a `BATCH` or `COMPARE_AND_SET`.
---
* [HBASE-26469](https://issues.apache.org/jira/browse/HBASE-26469) | *Critical* | **correct HBase shell exit behavior to match code passed to exit**
<!-- markdown -->
User input handling has been refactored to make use of IRB sessions directly and the HBase shell attempts to ensure user provided calls to exit are able to convey failure and success.
Those scripting use of the HBase shell should be aware that the exit code may have changed:
* a 0 code, or no code, passed to a call to exit from stdin in non-interactive mode will now exit cleanly. in prior versions this would have exited with an error and non-zero exit code. (note that in HBase 2.4.x this call will still result in a non-zero exit code)
* for other combinations of passing in an initialization script or reading from stdin with using the non-interactive flag, the exit code being 0 or non-0 should now line up with releases prior to 2.4, which is a change in behavior compared to versions 2.4.0 - 2.4.9.
Please see the issue details for a table of expected exit codes.
---
* [HBASE-26631](https://issues.apache.org/jira/browse/HBASE-26631) | *Major* | **Upgrade junit to 4.13.2**
Upgrade junit to 4.13.2 for addressing CVE-2020-15250.
---
* [HBASE-26347](https://issues.apache.org/jira/browse/HBASE-26347) | *Major* | **Support detect and exclude slow DNs in fan-out of WAL**
This issue provides the method to detect slow datanodes by checking the packets processing time of each datanode connected by the WAL. When a datanode is considered slow, the datanode will be added to an exclude cache on the regionserver, and every stream created will exclude all the cached slow datanodes in a configured period. The exclude logic cooperate with the log rolling logic, will react more sensitively to the lower slow datanodes, whatever there is hardware failure or hotspots.
hbase.regionserver.async.wal.max.exclude.datanode.countdefault 3and hbase.regionserver.async.wal.exclude.datanode.info.ttl.hour (default 6) means no more than 3 slow datanodes will be excluded on one regionserver, and the exclude cache for the slow datanodes is valid in 6 hours.
There are two conditions used to determine whether a datanode is slow,
1. For small packet, we just have a simple time limit(configured by hbase.regionserver.async.wal.datanode.slow.packet.process.time.millis, default 6s), without considering the size of the packet.
2. For large packet, we will calculate the speed, and check if the speed (configured by hbase.regionserver.async.wal.datanode.slow.packet.speed.min.kbs, default 20KB/s) is too slow.
The large and small split point is configured by hbase.regionserver.async.wal.datanode.slow.check.speed.packet.data.length.min (default 64KB).
---
* [HBASE-26537](https://issues.apache.org/jira/browse/HBASE-26537) | *Major* | **FuzzyRowFilter backwards compatibility**
HBASE-15676 introduced a backwards incompatible change which makes it impossible to upgrade server first, then client, without potentially incorrect scanning results if FuzzyRowFilter is in use. This change corrects that problem by introducing a backwards compatible workaround.
---
* [HBASE-26542](https://issues.apache.org/jira/browse/HBASE-26542) | *Minor* | **Apply a \`package\` to test protobuf files**
The protobuf structures used in test are all now scoped by the package name \`hbase.test.pb\`.
---
* [HBASE-26512](https://issues.apache.org/jira/browse/HBASE-26512) | *Major* | **Make timestamp format configurable in HBase shell scan output**
HBASE-23930 changed the formatting of the timestamp attribute on each Cell as displayed by the HBase shell to be formatted as an ISO-8601 string rather that milliseconds since the epoch. Some users may have logic which expects the timestamp to be displayed as milliseconds since the epoch. This change introduces the configuration property hbase.shell.timestamp.format.epoch which controls whether the shell will print an ISO-8601 formatted timestamp (the default "false") or milliseconds since the epoch ("true").
---
* [HBASE-26363](https://issues.apache.org/jira/browse/HBASE-26363) | *Major* | **OpenTelemetry configuration support for per-process service names**
<!-- markdown -->Each HBase process can have its own `service.name`, a value that can be completely customized by the operator. See the comment and examples in conf/hbase-env.sh.
---
* [HBASE-26362](https://issues.apache.org/jira/browse/HBASE-26362) | *Major* | **Upload mvn site artifacts for nightly build to nightlies**
Now we will upload the site artifacts to nightlies for nightly build as well as pre commit build.
---
* [HBASE-26316](https://issues.apache.org/jira/browse/HBASE-26316) | *Minor* | **Per-table or per-CF compression codec setting overrides**
It is now possible to specify codec configuration options as part of table or column family schema definitions. The configuration options will only apply to the defined scope. For example:
hbase\> create 'sometable', \\
{ NAME =\> 'somefamily', COMPRESSION =\> 'ZSTD' }, \\
CONFIGURATION =\> { 'hbase.io.compress.zstd.level' =\> '9' }
---
* [HBASE-26329](https://issues.apache.org/jira/browse/HBASE-26329) | *Major* | **Upgrade commons-io to 2.11.0**
Upgraded commons-io to 2.11.0.
---
* [HBASE-26186](https://issues.apache.org/jira/browse/HBASE-26186) | *Major* | **jenkins script for caching artifacts should verify cached file before relying on it**
Add a '--verify-tar-gz' option to cache-apache-project-artifact.sh for verifying whether the cached file can be parsed as a gzipped tarball.
Use this option in our nightly job to avoid failures on broken cached hadoop tarballs.
---
* [HBASE-26339](https://issues.apache.org/jira/browse/HBASE-26339) | *Major* | **SshPublisher will skip uploading artifacts if the build is failure**
Now we will mark build as unstable instead of failure when the yetus script returns error. This is used to solve the problem that the SshPublisher jenkins plugin will skip uploading artifacts if the build is marked as failure. In fact, the test output will be more important when there are UT failures.
---
* [HBASE-26317](https://issues.apache.org/jira/browse/HBASE-26317) | *Major* | **Publish the test logs for pre commit jenkins job to nightlies**
Now we will upload test\_logs.zip for our pre commit jobs to nightlies to save space on jenkins node. You can see the test\_logs.txt to get the actual url of the test\_logs.zip, or visit https://nightlies.apache.org/hbase directly to find the artifacts.
---
* [HBASE-26313](https://issues.apache.org/jira/browse/HBASE-26313) | *Major* | **Publish the test logs for our nightly jobs to nightlies.apache.org**
Now we will upload test\_logs.zip for our nightly jobs to nightlies to save space on jenkins node. You can see the test\_logs.txt to get the actual url of the test\_logs.zip, or visit https://nightlies.apache.org/hbase directly to find the artifacts.
---
* [HBASE-26318](https://issues.apache.org/jira/browse/HBASE-26318) | *Major* | **Publish test logs for flaky jobs to nightlies**
Now we will upload the surefire output for our flaky test jobs to nightlies to save space on jenkins node. You can see the test\_logs.txt to get the actual url of the surefire output, or visit https://nightlies.apache.org/hbase directly to find the artifacts.
---
* [HBASE-26259](https://issues.apache.org/jira/browse/HBASE-26259) | *Major* | **Fallback support to pure Java compression**
This change introduces provided compression codecs to HBase as
new Maven modules. Each module provides compression codec support that formerly required Hadoop native codecs, which in turn relies on native code integration, which may or may not be available on a given hardware platform or in an operational environment. We now provide codecs in the HBase distribution for users whom for whatever reason cannot or do not wish to deploy the Hadoop native codecs.
---
* [HBASE-26274](https://issues.apache.org/jira/browse/HBASE-26274) | *Major* | **Create an option to reintroduce BlockCache to mapreduce job**
Introduce \`hfile.onheap.block.cache.fixed.size\` and default to disable. When using ClientSideRegionScanner, it will be enabled with a fixed size for caching INDEX/LEAF\_INDEX block when a client, e.g. snapshot scanner, scans the entire HFile and does not need to seek/reseek to index block multiple times.
---
* [HBASE-26270](https://issues.apache.org/jira/browse/HBASE-26270) | *Minor* | **Provide getConfiguration method for Region and Store interface**
Provide 'getReadOnlyConfiguration' method for Store and Region interface
---
* [HBASE-26273](https://issues.apache.org/jira/browse/HBASE-26273) | *Major* | **TableSnapshotInputFormat/TableSnapshotInputFormatImpl should use ReadType.STREAM for scanning HFiles**
HBase's MapReduce API which can operate over HBase snapshots will now default to using ReadType.STREAM instead of ReadType.DEFAULT (which is PREAD) as a result of this change. HBase developers expect that STREAM will perform significantly better for average Snapshot-based batch jobs. Users can restore the previous functionality (using PREAD) by updating their code to explicitly set a value of \`ReadType.PREAD\` on the \`Scan\` object they provide to TableSnapshotInputFormat, or by setting the configuration property "hbase.TableSnapshotInputFormat.scanner.readtype" to "PREAD" in hbase-site.xml.
---
* [HBASE-26276](https://issues.apache.org/jira/browse/HBASE-26276) | *Major* | **Allow HashTable/SyncTable to perform rawScan when comparing cells**
Added --rawScan option to HashTable job, which allows HashTable/SyncTable to perform raw scans. If this property is omitted, it defaults to false. When used together with --versions set to a high value, SyncTable will fabricate delete markers to all old versions still hanging (not cleaned yet by major compaction), avoiding the inconsistencies reported in HBASE-21596.
---
* [HBASE-26147](https://issues.apache.org/jira/browse/HBASE-26147) | *Major* | **Add dry run mode to hbase balancer**
This change adds new API to the Admin interface for triggering Region balancing on a cluster. A new BalanceRequest object was introduced which allows for configuring a dry run of the balancer (compute a plan without enacting it) and running the balancer in the presence of RITs. Corresponding API was added to the HBase shell as well.
---
* [HBASE-26204](https://issues.apache.org/jira/browse/HBASE-26204) | *Major* | **VerifyReplication should obtain token for peerQuorumAddress too**
VerifyReplication obtains tokens even if the peer quorum parameter is used. VerifyReplication with peer quorum can be used for secure clusters also.
---
* [HBASE-26180](https://issues.apache.org/jira/browse/HBASE-26180) | *Major* | **Introduce a initial refresh interval for RpcConnectionRegistry**
Introduced a 'hbase.client.bootstrap.initial\_refresh\_delay\_secs' config to control the first refresh delay for bootstrap nodes. The default value is 1/10 of periodic refresh interval.
---
* [HBASE-26173](https://issues.apache.org/jira/browse/HBASE-26173) | *Major* | **Return only a sub set of region servers as bootstrap nodes**
Introduced a 'hbase.client.bootstrap.node.limit' config to limit the max number of bootstrap nodes we return to client. The default value is 10.
---
* [HBASE-26182](https://issues.apache.org/jira/browse/HBASE-26182) | *Major* | **Allow disabling refresh of connection registry endpoint**
Set 'hbase.client.bootstrap.refresh\_interval\_secs' to -1 can disable refresh of connection registry endpoint.
---
* [HBASE-26212](https://issues.apache.org/jira/browse/HBASE-26212) | *Minor* | **Allow AuthUtil automatic renewal to be disabled**
This change introduces a configuration property "hbase.client.keytab.automatic.renewal" to control AuthUtil, the class which automatically tries to perform Kerberos ticket renewal in client applications. This configuration property defaults to "true", meaning that AuthUtil will automatically attempt to renew Kerberos tickets per its capabilities. Those who want AuthUtil to not renew client Kerberos tickets can set this property to be "false".
---
* [HBASE-26172](https://issues.apache.org/jira/browse/HBASE-26172) | *Major* | **Deprecate MasterRegistry**
MasterRegistry is deprecated. Please use RpcConnectionRegistry instead.
---
* [HBASE-26193](https://issues.apache.org/jira/browse/HBASE-26193) | *Major* | **Do not store meta region location as permanent state on zookeeper**
Introduce a new 'info' family in master local region for storing the location of meta regions.
We will still mirror the location of meta regions to ZooKeeper, for backwards compatibility. But now you can also clean the meta location znodes(usually prefixed with 'meta-region-server') on ZooKeeper without mess up the cluster state. You can get a clean restart of the cluster, and after restarting, we will mirror the location of meta regions to ZooKeeper again.
---
* [HBASE-24652](https://issues.apache.org/jira/browse/HBASE-24652) | *Minor* | **master-status UI make date type fields sortable**
Makes RegionServer 'Start time' sortable in the Master UI
---
* [HBASE-26200](https://issues.apache.org/jira/browse/HBASE-26200) | *Major* | **Undo 'HBASE-25165 Change 'State time' in UI so sorts (#2508)' in favor of HBASE-24652**
Undid showing RegionServer 'Start time' in ISO-8601 format. Revert.
---
* [HBASE-6908](https://issues.apache.org/jira/browse/HBASE-6908) | *Major* | **Pluggable Call BlockingQueue for HBaseServer**
Can pass in a FQCN to load as the call queue implementation.
Standardized arguments to the constructor are the max queue length, the PriorityFunction, and the Configuration.
PluggableBlockingQueue abstract class provided to help guide the correct constructor signature.
Hard fails with PluggableRpcQueueNotFound if the class fails to load as a BlockingQueue\<CallRunner\>
Upstreaming on behalf of Hubspot, we are interested in defining our own custom RPC queue and don't want to get involved in necessarily upstreaming internal requirements/iterations.
---
* [HBASE-26196](https://issues.apache.org/jira/browse/HBASE-26196) | *Major* | **Support configuration override for remote cluster of HFileOutputFormat locality sensitive**
Allow any configuration for the remote cluster in HFileOutputFormat2 that could be useful the different configuration from the job's configuration is necessary to connect the remote cluster, for instance, non-secure vs secure.
---
* [HBASE-26150](https://issues.apache.org/jira/browse/HBASE-26150) | *Major* | **Let region server also carry ClientMetaService**
Introduced a RpcConnectionRegistry.
Config 'hbase.client.bootstrap.servers' to set up the initial bootstrap nodes. The registry will refresh the bootstrap server periodically or on errors. Notice that, masters and region servers both implement the necessary rpc interface so you are free to config either masters or region servers as the initial bootstrap nodes.
---
* [HBASE-26127](https://issues.apache.org/jira/browse/HBASE-26127) | *Major* | **Backport HBASE-23898 "Add trace support for simple apis in async client" to branch-2**
https://github.com/apache/hbase/commit/4fbc4c29f22e35a72e73dac3aa58359a8d8c7be3
---
* [HBASE-26160](https://issues.apache.org/jira/browse/HBASE-26160) | *Minor* | **Configurable disallowlist for live editing of loglevels**
Adds a new hbase.ui.logLevels.readonly.loggers config which takes a comma-separated list of logger names. Similar to log4j configurations, the logger names can be prefixes or a full logger name. The log level of read only loggers cannot be changed via the logLevel UI or setlevel CLI. This is useful for securing sensitive loggers, such as the SecurityLogger used for audit logs.
---
* [HBASE-26126](https://issues.apache.org/jira/browse/HBASE-26126) | *Major* | **Backport HBASE-25424 "Find a way to config OpenTelemetry tracing without directly depending on opentelemetry-sdk" to branch-2**
https://github.com/apache/hbase/commit/3d29c0c2b4520edb06c0c5d3674cdb6547a57651
---
* [HBASE-26125](https://issues.apache.org/jira/browse/HBASE-26125) | *Major* | **Backport HBASE-25401 "Add trace support for async call in rpc client" to branch-2**
https://github.com/apache/hbase/commit/ca096437d7e096b514ddda53ec2f97b85d90752d
---
* [HBASE-26154](https://issues.apache.org/jira/browse/HBASE-26154) | *Minor* | **Provide exception metric for quota exceeded and throttling**
Adds "exceptions.quotaExceeded" and "exceptions.rpcThrottling" to HBase server and Thrift server metrics.
---
* [HBASE-26098](https://issues.apache.org/jira/browse/HBASE-26098) | *Major* | **Support passing a customized Configuration object when creating TestingHBaseCluster**
Now TestingHBaseClusterOption support passing a Configuration object when building.
---
* [HBASE-26124](https://issues.apache.org/jira/browse/HBASE-26124) | *Major* | **Backport HBASE-25373 "Remove HTrace completely in code base and try to make use of OpenTelemetry" to branch-2**
https://github.com/apache/hbase/commit/f0493016062267fc37e14659d9183673d42a8f1d
---
* [HBASE-26146](https://issues.apache.org/jira/browse/HBASE-26146) | *Minor* | **Allow custom opts for hbck in hbase bin**
Adds HBASE\_HBCK\_OPTS environment variable to bin/hbase for passing extra options to hbck/hbck2. Defaults to HBASE\_SERVER\_JAAS\_OPTS if specified, or HBASE\_REGIONSERVER\_OPTS.
---
* [HBASE-26088](https://issues.apache.org/jira/browse/HBASE-26088) | *Critical* | **conn.getBufferedMutator(tableName) leaks thread executors and other problems**
The API doc for Connection#getBufferedMutator(TableName) and Connection#getBufferedMutator(BufferedMutatorParams) mentioned that when user dont pass a ThreadPool to be used, we use the ThreadPool in the Connection. But in reality, we were creating new ThreadPool in such cases.
We are keeping the behaviour of code as is but corrected the Javadoc and also a bug of not closing this new pool while Closing the BufferedMutator.
---
* [HBASE-25986](https://issues.apache.org/jira/browse/HBASE-25986) | *Minor* | **Expose the NORMALIZARION\_ENABLED table descriptor through a property in hbase-site**
New config: hbase.table.normalization.enabled
Default value: false
Description: This config is used to set default behaviour of normalizer at table level. To override this at table level one can set NORMALIZATION\_ENABLED at table descriptor level and that property will be honored. Of course, this property at table level can only work if normalizer is enabled at cluster level using "normalizer\_switch true" command.
---
* [HBASE-26080](https://issues.apache.org/jira/browse/HBASE-26080) | *Major* | **Implement a new mini cluster class for end users**
Introduce a new TestingHBaseCluster for end users to start a mini hbase cluster in tests.
After starting the cluster, you can create a Connection with the returned Configuration instance for accessing the cluster.
Besides the mini hbase cluster, TestingHBaseCluster will also start a zookeeper cluster and dfs cluster. But you can not control the zookeeper and dfs cluster separately, as for end users, you do not need to test the behavior of HBase cluster when these systems are broken.
We provide methods for start/stop master and region server, and also the whole hbase cluster. Notice that, we do not provide methods to get the address for masters and regionservers, or locate a region, you could use the Admin interface to do this.
---
* [HBASE-22923](https://issues.apache.org/jira/browse/HBASE-22923) | *Major* | **hbase:meta is assigned to localhost when we downgrade the hbase version**
Introduced new config: hbase.min.version.move.system.tables
When the operator uses this configuration option, any version between
the current cluster version and the value of "hbase.min.version.move.system.tables"
does not trigger any auto-region movement. Auto-region movement here
refers to auto-migration of system table regions to newer server versions.
It is assumed that the configured range of versions does not require special
handling of moving system table regions to higher versioned RegionServer.
This auto-migration is done by AssignmentManager#checkIfShouldMoveSystemRegionAsync().
Example: Let's assume the cluster is on version 1.4.0 and we have
set "hbase.min.version.move.system.tables" as "2.0.0". Now if we upgrade
one RegionServer on 1.4.0 cluster to 1.6.0 (\< 2.0.0), then AssignmentManager will
not move hbase:meta, hbase:namespace and other system table regions
to newly brought up RegionServer 1.6.0 as part of auto-migration.
However, if we upgrade one RegionServer on 1.4.0 cluster to 2.2.0 (\> 2.0.0),
then AssignmentManager will move all system table regions to newly brought
up RegionServer 2.2.0 as part of auto-migration done by
AssignmentManager#checkIfShouldMoveSystemRegionAsync().
Overall, assuming we have system RSGroup where we keep HBase system tables, if we use
config "hbase.min.version.move.system.tables" with value x.y.z then while upgrading cluster to
version greater than or equal to x.y.z, the first RegionServer that we upgrade must
belong to system RSGroup only.
---
* [HBASE-25902](https://issues.apache.org/jira/browse/HBASE-25902) | *Critical* | **Add missing CFs in meta during HBase 1 to 2.3+ Upgrade**
While upgrading cluster from 1.x to 2.3+ versions, after the active master is done setting it's status as 'Initialized', it attempts to add 'table' and 'repl\_barrier' CFs in meta. Once CFs are added successfully, master is aborted with PleaseRestartMasterException because master has missed certain initialization events (e.g ClusterSchemaService is not initialized and tableStateManager fails to migrate table states from ZK to meta due to missing CFs). Subsequent active master initialization is expected to be smooth.
In the presence of multi masters, when one of them becomes active for the first time after upgrading to HBase 2.3+, it is aborted after fixing CFs in meta and one of the other backup masters will take over and become active soon. Hence, overall this is expected to be smooth upgrade if we have backup masters configured. If not, operator is expected to restart same master again manually.
---
* [HBASE-26029](https://issues.apache.org/jira/browse/HBASE-26029) | *Critical* | **It is not reliable to use nodeDeleted event to track region server's death**
Introduce a new step in ServerCrashProcedure to move the replication queues of the dead region server to other live region servers, as this is the only reliable way to get the death event of a region server.
The old ReplicationTracker related code have all been purged as they are not used any more.
---
* [HBASE-25877](https://issues.apache.org/jira/browse/HBASE-25877) | *Major* | **Add access check for compactionSwitch**
Now calling RSRpcService.compactionSwitch, i.e, Admin.compactionSwitch at client side, requires ADMIN permission.
This is an incompatible change but it is also a bug, as we should not allow any users to disable compaction on a regionserver, so we apply this to all active branches.
---
* [HBASE-25984](https://issues.apache.org/jira/browse/HBASE-25984) | *Critical* | **FSHLog WAL lockup with sync future reuse [RS deadlock]**
Fixes a WAL lockup issue due to premature reuse of the sync futures by the WAL consumers. The lockup causes the WAL system to hang resulting in blocked appends and syncs thus holding up the RPC handlers from progressing. Only workaround without this fix is to force abort the region server.
---
* [HBASE-25993](https://issues.apache.org/jira/browse/HBASE-25993) | *Major* | **Make excluded SSL cipher suites configurable for all Web UIs**
Add "ssl.server.exclude.cipher.list" configuration to excluded cipher suites for the http server started by the InfoServer.
---
* [HBASE-25920](https://issues.apache.org/jira/browse/HBASE-25920) | *Major* | **Support Hadoop 3.3.1**
Fixes to make unit tests pass and to make it so an hbase built from branch-2 against a 3.3.1RC can run on a 3.3.1RC small cluster.
---
* [HBASE-25969](https://issues.apache.org/jira/browse/HBASE-25969) | *Major* | **Cleanup netty-all transitive includes**
We have an (old) netty-all in our produced artifacts. It is transitively included from hadoop. It is needed by MiniMRCluster referenced from a few MR tests in hbase. This commit adds netty-all excludes everywhere else but where tests will fail unless the transitive is allowed through. TODO: move MR and/or MR tests out of hbase core.
---
* [HBASE-25963](https://issues.apache.org/jira/browse/HBASE-25963) | *Major* | **HBaseCluster should be marked as IA.Public**
Change HBaseCluster to IA.Public as its sub class MiniHBaseCluster is IA.Public.
---
* [HBASE-25841](https://issues.apache.org/jira/browse/HBASE-25841) | *Minor* | **Add basic jshell support**
This change adds a new command \`hbase jshell\` command-line interface. It launches an interactive JShell session with HBase on the classpath, as well as a the client package already imported.
---
* [HBASE-25894](https://issues.apache.org/jira/browse/HBASE-25894) | *Major* | **Improve the performance for region load and region count related cost functions**
In CostFromRegionLoadFunction, now we will only recompute the cost for a given region server in regionMoved function, instead of computing all the costs every time.
Introduced a DoubleArrayCost for better abstraction, and also try to only compute the final cost on demand as the computation is also a bit expensive.
---
* [HBASE-25869](https://issues.apache.org/jira/browse/HBASE-25869) | *Major* | **WAL value compression**
WAL storage can be expensive, especially if the cell values represented in the edits are large, consisting of blobs or significant lengths of text. Such WALs might need to be kept around for a fairly long time to satisfy replication constraints on a space limited (or space-contended) filesystem.
Enable WAL compression and, with this feature, WAL value compression, to save space in exchange for slightly higher WAL append latencies. The degree of performance impact will depend on the compression algorithm selection. SNAPPY or ZSTD are recommended algorithms, if native codec support is available. SNAPPY may even provide an overall improvement in WAL commit latency, so is the best choice. GZ can be a reasonable fallback where native codec support is not available.
To enable WAL compression, value compression, and select the desired algorithm, edit your site configuration like so:
\<!-- to enable compression --\>
\<property\>
\<name\>hbase.regionserver.wal.enablecompression\</name\>
\<value\>true\</value\>
\</property\>
\<!-- to enable value compression --\>
\<property\>
\<name\>hbase.regionserver.wal.value.enablecompression\</name\>
\<value\>true\</value\>
\</property\>
\<!-- choose the value compression algorithm —\>
\<property\>
\<name\>hbase.regionserver.wal.value.compression.type\</name\>
\<value\>snappy\</value\>
\</property\>
---
* [HBASE-25682](https://issues.apache.org/jira/browse/HBASE-25682) | *Major* | **Add a new command to update the configuration of all RSs in a RSGroup**
Added updateConfiguration(String groupName) admin interface & update\_rsgroup\_config to the HBase shell to reload a subset of configuration on all servers in the rsgroup.
---
* [HBASE-25032](https://issues.apache.org/jira/browse/HBASE-25032) | *Major* | **Do not assign regions to region server which has not called regionServerReport yet**
<!-- markdown -->
After this change a region server can only accept regions (as seen by master) after it's first report to master is sent successfully. Prior to this change there could be cases where the region server finishes calling regionServerStartup but is actually stuck during initialization due to issues like misconfiguration and master tries to assign regions and they are stuck because the region server is in a weird state and not ready to serve them.
---
* [HBASE-25826](https://issues.apache.org/jira/browse/HBASE-25826) | *Major* | **Revisit the synchronization of balancer implementation**
Narrow down the public facing API for LoadBalancer by removing balanceTable and setConf methods.
Redesigned the initilization sequence to simplify the initialization code. Now all the setters are just 'setter', all the initialization work are moved to initialize method.
Rename setClusterMetrics to updateClusterMetrics, as it will be called periodically while other setters will only be called once before initialization.
Add javadoc for LoadBalancer class to mention how to do synchronization on implementation classes.
---
* [HBASE-25834](https://issues.apache.org/jira/browse/HBASE-25834) | *Major* | **Remove balanceTable method from LoadBalancer interface**
Remove balanceTable method from LoadBalancer interface as we never call it outside balancer implementation.
Mark balanceTable method as protected in BaseLoadBalancer.
Mark balanceCluster method as final in BaseLoadBalancer, the implementation classes should not override it anymore, just implement the balanceTable method is enough.
---
* [HBASE-25756](https://issues.apache.org/jira/browse/HBASE-25756) | *Minor* | **Support alternate compression for major and minor compactions**
It is now possible to specify alternate compression algorithms for major or minor compactions, via new ColumnFamilyBuilder or HColumnDescriptor methods {get,set}{Major,Minor}CompressionType(), or shell schema attributes COMPRESSION\_COMPACT\_MAJOR or COMPRESSION\_COMPACT\_MINOR. This can be used to select a fast algorithm for frequent minor compactions and a slower algorithm offering better compression ratios for infrequent major compactions.
---
* [HBASE-25766](https://issues.apache.org/jira/browse/HBASE-25766) | *Major* | **Introduce RegionSplitRestriction that restricts the pattern of the split point**
After HBASE-25766, we can specify a split restriction, "KeyPrefix" or "DelimitedKeyPrefix", to a table with the "hbase.regionserver.region.split\_restriction.type" property. The "KeyPrefix" split restriction groups rows by a prefix of the row-key. And the "DelimitedKeyPrefix" split restriction groups rows by a prefix of the row-key with a delimiter.
For example:
\`\`\`
# Create a table with a "KeyPrefix" split restriction, where the prefix length is 2 bytes
hbase\> create 'tbl1', 'fam', {CONFIGURATION =\> {'hbase.regionserver.region.split\_restriction.type' =\> 'KeyPrefix', 'hbase.regionserver.region.split\_restriction.prefix\_length' =\> '2'}}
# Create a table with a "DelimitedKeyPrefix" split restriction, where the delimiter is a comma (,)
hbase\> create 'tbl2', 'fam', {CONFIGURATION =\> {'hbase.regionserver.region.split\_restriction.type' =\> 'DelimitedKeyPrefix', 'hbase.regionserver.region.split\_restriction.delimiter' =\> ','}}
\`\`\`
Instead of specifying a split restriction to a table directly, we can also set the properties in hbase-site.xml. In this case, the specified split restriction is applied for all the tables.
Note that the split restriction is also applied to a user-specified split point so that we don't allow users to break the restriction, which is different behavior from the existing KeyPrefixRegionSplitPolicy and DelimitedKeyPrefixRegionSplitPolicy.
---
* [HBASE-25775](https://issues.apache.org/jira/browse/HBASE-25775) | *Major* | **Use a special balancer to deal with maintenance mode**
Introduced a MaintenanceLoadBalancer to be used only under maintenance mode. Typically you should not use it as your balancer implementation.
---
* [HBASE-25767](https://issues.apache.org/jira/browse/HBASE-25767) | *Major* | **CandidateGenerator.getRandomIterationOrder is too slow on large cluster**
In the actual implementation classes of CandidateGenerator, now we just random select a start point and then iterate sequentially, instead of using the old way, where we will create a big array to hold all the integers in [0, num\_regions\_in\_cluster), shuffle the array, and then iterate on the array.
The new implementation is 'random' enough as every time we just select one candidate. The problem for the old implementation is that, it will create an array every time when we want to get a candidate, if we have tens of thousands regions, we will create an array with tens of thousands length everytime, which causes big GC pressure and slow down the balancer execution.
---
* [HBASE-25744](https://issues.apache.org/jira/browse/HBASE-25744) | *Major* | **Change default of \`hbase.normalizer.merge.min\_region\_size.mb\` to \`0\`**
Before this change, by default, the normalizer would exclude any region with a total \`storefileSizeMB\` \<= 1 from merge consideration. This changes the default so that these small regions will be merged away.
---
* [HBASE-25687](https://issues.apache.org/jira/browse/HBASE-25687) | *Major* | **Backport "HBASE-25681 Add a switch for server/table queryMeter" to branch-2 and branch-1**
Adds flags to disable server and table metrics. They are default on.
"hbase.regionserver.enable.server.query.meter"
"hbase.regionserver.enable.table.query.meter";
---
* [HBASE-25199](https://issues.apache.org/jira/browse/HBASE-25199) | *Minor* | **Remove HStore#getStoreHomedir**
Moved the following methods from HStore to HRegionFileSystem
- #getStoreHomedir(Path, RegionInfo, byte[])
- #getStoreHomedir(Path, String, byte[])
---
* [HBASE-25685](https://issues.apache.org/jira/browse/HBASE-25685) | *Major* | **asyncprofiler2.0 no longer supports svg; wants html**
If asyncprofiler 1.x, all is good. If asyncprofiler 2.x and it is hbase-2.3.x or hbase-2.4.x, add '?output=html' to get flamegraphs from the profiler.
Otherwise, if hbase-2.5+ and asyncprofiler2, all works. If asyncprofiler1 and hbase-2.5+, you may have to add '?output=svg' to the query.
---
* [HBASE-25518](https://issues.apache.org/jira/browse/HBASE-25518) | *Major* | **Support separate child regions to different region servers**
Config key for enable/disable automatically separate child regions to different region servers in the procedure of split regions. One child will be kept to the server where parent region is on, and the other child will be assigned to a random server.
hbase.master.auto.separate.child.regions.after.split.enabled
Default setting is false/off.
---
* [HBASE-25665](https://issues.apache.org/jira/browse/HBASE-25665) | *Major* | **Disable reverse DNS lookup for SASL Kerberos client connection**
New client side configuration \`hbase.unsafe.client.kerberos.hostname.disable.reversedns\` is added.
This configuration is advanced for experts and you shouldn't specify unless you really what is this configuration and doing.
HBase secure client using SASL Kerberos performs DNS reverse lookup to get hostname for server principal using InetAddress.getCanonicalHostName by default (false for this configuration).
If you set true for this configuration, HBase client doen't perform DNS reverse lookup for server principal and use InetAddress.getHostName which is sent by HBase cluster instead.
This helps your client application deploy under unusual network environment which DNS doesn't provide reverse lookup.
Check the description of the JIRA ticket, HBASE-25665 carefully and check that this configuration fits your environment and deployment actually before enable this configuration.
---
* [HBASE-25374](https://issues.apache.org/jira/browse/HBASE-25374) | *Minor* | **Make REST Client connection and socket time out configurable**
Configuration parameter to set rest client connection timeout
"hbase.rest.client.conn.timeout" Default is 2 \* 1000
"hbase.rest.client.socket.timeout" Default of 30 \* 1000
---
* [HBASE-25566](https://issues.apache.org/jira/browse/HBASE-25566) | *Major* | **RoundRobinTableInputFormat**
Adds RoundRobinTableInputFormat, a subclass of TableInputFormat, that takes the TIF#getSplits list and resorts it so as to spread the InputFormats as broadly about the cluster as possible. RRTIF works to frustrate bunching of InputSplits on RegionServers to avoid the scenario where a few RegionServers are working hard fielding many InputSplits while others idle hosting a few or none.
---
* [HBASE-25587](https://issues.apache.org/jira/browse/HBASE-25587) | *Major* | **[hbck2] Schedule SCP for all unknown servers**
Adds scheduleSCPsForUnknownServers to Hbck Service.
---
* [HBASE-25636](https://issues.apache.org/jira/browse/HBASE-25636) | *Minor* | **Expose HBCK report as metrics**
Expose HBCK repost results in metrics, includes: "orphanRegionsOnRS", "orphanRegionsOnFS", "inconsistentRegions", "holes", "overlaps", "unknownServerRegions" and "emptyRegionInfoRegions".
---
* [HBASE-25582](https://issues.apache.org/jira/browse/HBASE-25582) | *Major* | **Support setting scan ReadType to be STREAM at cluster level**
Adding a new meaning for the config 'hbase.storescanner.pread.max.bytes' when configured with a value \<0.
In HBase 2.x we allow the Scan op to specify a ReadType (PREAD / STREAM/ DEFAULT). When Scan comes with DEFAULT read type, we will start scan with preads and later switch to stream read once we see we are scanning a total data size \> value of hbase.storescanner.pread.max.bytes. (This is calculated for data per region:cf). This config defaults to 4 x of HFile block size = 256 KB by default.
This jira added a new meaning for this config when configured with a -ve value. In such case, for all scans with DEFAULT read type, we will start with STREAM read itself. (Switch at begin of the scan itself)
---
* [HBASE-25492](https://issues.apache.org/jira/browse/HBASE-25492) | *Major* | **Create table with rsgroup info in branch-2**
HBASE-25492 added a new interface in TableDescriptor which allows user to define RSGroup name while creating or modifying a table.
---
* [HBASE-25460](https://issues.apache.org/jira/browse/HBASE-25460) | *Major* | **Expose drainingServers as cluster metric**
Exposed new jmx metrics: "draininigRegionServers" and "numDrainingRegionServers" to provide "comma separated names for regionservers that are put in draining mode" and "num of such regionservers" respectively.
---
* [HBASE-25615](https://issues.apache.org/jira/browse/HBASE-25615) | *Major* | **Upgrade java version in pre commit docker file**
jdk8u232-b09 -\> jdk8u282-b08
jdk-11.0.6\_10 -\> jdk-11.0.10\_9
---
* [HBASE-23887](https://issues.apache.org/jira/browse/HBASE-23887) | *Major* | **New L1 cache : AdaptiveLRU**
Introduced new L1 cache: AdaptiveLRU. This is supposed to provide better performance than default LRU cache.
Set config key "hfile.block.cache.policy" to "AdaptiveLRU" in hbase-site in order to start using this new cache.
---
* [HBASE-25449](https://issues.apache.org/jira/browse/HBASE-25449) | *Major* | **'dfs.client.read.shortcircuit' should not be set in hbase-default.xml**
The presence of HDFS short-circuit read configuration properties in hbase-default.xml inadvertently causes short-circuit reads to not happen inside of RegionServers, despite short-circuit reads being enabled in hdfs-site.xml.
---
* [HBASE-25333](https://issues.apache.org/jira/browse/HBASE-25333) | *Major* | **Add maven enforcer rule to ban VisibleForTesting imports**
Ban the imports of guava VisiableForTesting, which means you should not use this annotation in HBase any more.
For IA.Public and IA.LimitedPrivate classes, typically you should not expose any test related fields/methods there, and if you want to hide something, use IA.Private on the specific fields/methods.
For IA.Private classes, if you want to expose something only for tests, use the RestrictedApi annotation from error prone, where it could cause a compilation error if someone break the rule in the future.
---
* [HBASE-25441](https://issues.apache.org/jira/browse/HBASE-25441) | *Critical* | **add security check for some APIs in RSRpcServices**
RsRpcServices APIs that can be accessed only through Admin rights:
- stopServer
- updateFavoredNodes
- updateConfiguration
- clearRegionBlockCache
- clearSlowLogsResponses
---
* [HBASE-25432](https://issues.apache.org/jira/browse/HBASE-25432) | *Blocker* | **we should add security checks for setTableStateInMeta and fixMeta**
setTableStateInMeta and fixMeta can be accessed only through Admin rights
---
* [HBASE-25318](https://issues.apache.org/jira/browse/HBASE-25318) | *Minor* | **Configure where IntegrationTestImportTsv generates HFiles**
Added IntegrationTestImportTsv.generatedHFileFolder configuration property to override the default location in IntegrationTestImportTsv. Useful for running the integration test when HDFS Transparent Encryption is enabled.
---
* [HBASE-24751](https://issues.apache.org/jira/browse/HBASE-24751) | *Minor* | **Display Task completion time and/or processing duration on Web UI**
Adds completion time to tasks display.
---
* [HBASE-25456](https://issues.apache.org/jira/browse/HBASE-25456) | *Critical* | **setRegionStateInMeta need security check**
setRegionStateInMeta can be accessed only through Admin rights
---
* [HBASE-25451](https://issues.apache.org/jira/browse/HBASE-25451) | *Major* | **Upgrade commons-io to 2.8.0**
Upgrade commons-io to 2.8.0. Remove deprecated IOUtils.closeQuietly call in code base.
# HBASE 2.2.0 Release Notes

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>

View File

@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-archetypes</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-archetypes</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-client-project</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-archetypes</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-shaded-client-project</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-assembly</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>

View File

@ -25,12 +25,12 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-checkstyle</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<name>Apache HBase - Checkstyle</name>
<description>Module to hold Checkstyle properties for HBase.</description>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-compression</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-compression-aircompressor</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-compression</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-compression-brotli</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-compression</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-compression-lz4</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-compression</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-compression-snappy</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-compression</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-compression-xz</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-compression</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-compression-zstd</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-compression</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-endpoint</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-examples</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-external-blockcache</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -21,7 +21,7 @@ limitations under the License.
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-hbtop</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-http</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-mapreduce</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-protocol-shaded</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-protocol</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-replication</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-rest</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-rsgroup</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-server</artifactId>

View File

@ -15,7 +15,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../..</relativePath>
</parent>
<artifactId>hbase-shaded-check-invariants</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-shaded</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-shaded-client-byo-hadoop</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-shaded</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-shaded-client</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-shaded</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-shaded-mapreduce</artifactId>

View File

@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../../hbase-build-configuration</relativePath>
</parent>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-shaded</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>..</relativePath>
</parent>

View File

@ -15,7 +15,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../..</relativePath>
</parent>
<artifactId>hbase-shaded-with-hadoop-check-invariants</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-shaded</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-shell</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-testing-util</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-thrift</artifactId>

View File

@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-build-configuration</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<relativePath>../hbase-build-configuration</relativePath>
</parent>
<artifactId>hbase-zookeeper</artifactId>

View File

@ -38,7 +38,7 @@
</parent>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.5.0</version>
<packaging>pom</packaging>
<name>Apache HBase</name>
<description>Apache HBase™ is the Hadoop database. Use it when you need