Fixed Issues in HBase

Review the list of HBase issues that are resolved in Cloudera Runtime 7.2.16.

CDPD-46164: JWT related JARS are added to the HBASE Tarball.
CDPD-45126: To configure MCC as a drop-in replacement when MCC jar is part of the classpath, you need the following configurations
  • * hbase.client.connection.impl = com.cloudera.hbase.mcc.ConnectionMultiCluster
  • * hbase.mcc.create.token.manager = false
  • * hbase.mcc.token.file.name = ""
CDPD-44124: Missing dependency jar file is added to the HBaseRangerPlugin.
OPSAPS-64485: Added support for HBase native TLS implementation. When Auto-TLS is enabled, the feature is enabled by default; however with plaintext fallback support to ensure backward compatibility.
OPSAPS-64940: The issues related to HBase backup or restore API in GOV clouds are fixed. The APIs were not working because some safety valves were not generated.

Apache Patch Information

Bugfixes:

  • HBASE-27484 FNFE on StoreFileScanner after a flush followed by a compaction
  • HBASE-27407 Fixing check for "description" request param in JMXJsonServlet.java (#4816)
  • HBASE-27362 CompactSplit.requestCompactionInternal may bypass compactionsEnabled check (#4768)
  • HBASE-22939 SpaceQuotas - Bulkload from different hdfs failed when space quotas are turned on. (#4750)
  • HBASE-27246 RSGroupMappingScript#getRSGroup has thread safety problem (#4657)
  • HBASE-27268 In trace log mode, the client does not print callId/startTime and the server does not print receiveTime (#4710)
  • HBASE-23330: Fix delegation token fetch with MasterRegistry (#1084) (#4598)
  • HBASE-27292. Fix build failure against Hadoop 3.3.4 due to added dependency on okhttp. (#4687)
  • HBASE-27244 bin/hbase still use slf4j-log4j while reload4j in place (#4652)
  • HBASE-27232 Fix checking for encoded block size when deciding if bloc… (#4640)
  • HBASE-27282 CME in AuthManager causes region server crash (#4684)
  • HBASE-27275 graceful_stop.sh unable to restore the balance state (#4680)
  • HBASE-27053 IOException during caching of uncompressed block to the block cache (#4610)
  • HBASE-27097 SimpleRpcServer is broken (#4613)
  • Amend HBASE-27180 Fix multiple possible buffer leaks (#4597)
  • HBASE-27189 NettyServerRpcConnection is not properly closed when the netty channel is closed (#4611)
  • HBASE-27180 Fix multiple possible buffer leaks (#4597)
  • HBASE-26708 Netty leak detected and OutOfDirectMemoryError due to direct memory buffering with SASL implementation (#4596)
  • HBASE-27175 - Failure to cleanup WAL split dir log should be at INFO level (#4593)
  • HBASE-27171 Fix Annotation Error in HRegionFileSystem (#4588)
  • HBASE-23330: Fix delegation token fetch with MasterRegistry (#1084) (#4598)
  • HBASE-27170 ByteBuffAllocator leak when decompressing blocks near minSizeForReservoirUse (#4592)
  • HBASE-26790 getAllRegionLocations can cache locations with null hostname (#4575)
  • HBASE-26945 Quotas causes too much load on meta for large clusters (#4576)
  • HBASE-26856 BufferedDataBlockEncoder.OnheapDecodedCell value can get corrupted
  • Revert "HBASE-25709 Close region may stuck when region is compacting and skipped most cells read (#3117)" (#4524)
  • HBASE-27097 SimpleRpcServer is broken (#4521)
  • HBASE-26985 check permission for SecureBulkLoadManager (#4379)
  • HBASE-27046 The filenum in AbstractFSWAL should be monotone increasing (#4449)
  • HBASE-26680 Close and do not write trailer for the broken WAL writer(addendum) (#4405)
  • HBASE-26523 + HBASE-25465 + HBASE-26855 backport to branch-2.4 (#4439)
  • HBASE-27017: MOB snapshot is broken when FileBased SFT is used (#4466)
  • HBASE-27069 Hbase SecureBulkload permission regression (#4475)
  • HBASE-27061 two phase bulkload is broken when SFT is in use. (#4465)
  • HBASE-27024 The User API and Developer API links are broken on hbase.apache.org (#4424)
  • HBASE-27032 The draining region servers metric description is incorrect (#4428)
  • HBASE-25058 Export necessary modules when running under JDK11
  • HBASE-27033 Backport "HBASE-27013 Introduce read all bytes when using pread for prefetch" (#4429)
  • HBASE-27021 StoreFileInfo should set its initialPath in a consistent way (#4419)
  • HBASE-26994 MasterFileSystem create directory without permission check (#4391)
  • HBASE-26963 ReplicationSource#removePeer hangs if we try to remove bad peer. (#4413)
  • HBASE-26971 SnapshotInfo --snapshot param is marked as required even when trying to list all snapshots (#4366)
  • HBASE-26941 LocalHBaseCluster.waitOnRegionServer should not call join while interrupted (#4352)
  • HBASE-26944 Possible resource leak while creating new region scanner (#4339)
  • HBASE-26938 Compaction failures after StoreFileTracker integration (#4350)
  • HBASE-26895 on hbase shell, 'delete/deleteall' for a columnfamily is not working (#4283)
  • HBASE-26901 delete with null columnQualifier occurs NullPointerException when NewVersionBehavior is on (#4295)
  • HBASE-26920 Fix missing braces warnings in TestProcedureMember (#4315)
  • HBASE-26916 Fix missing braces warnings in DefaultVisibilityExpressionResolver (#4313)
  • HBASE-26812 ShortCircuitingClusterConnection fails to close RegionScanners when making short-circuited calls (#4302)

Improvements:

  • HBASE-27406 Make /prometheus endpoint accessible from HBase UI (#4833)
  • HBASE-27224 HFile tool statistic sampling produces misleading results (#4638)
  • HBASE-27229 BucketCache statistics should not count evictions by hfile (#4639)
  • HBASE-27395 Adding description to Prometheus metrics (#4807)
  • HBASE-27381 Still seeing 'Stuck' in static initialization creating RegionInfo instance (#4813)
  • HBASE-27403 Remove 'Remove unhelpful javadoc stubs' spotless rule for now (#4809)
  • HBASE-27391 Downgrade ERROR log to DEBUG in ConnectionUtils.updateStats (#4804)
  • HBASE-27384 Backport HBASE-27064 (CME in TestRegionNormalizerWorkQueue) to 2.4 (#4794) (#4468)
  • HBASE-27393 Frequent and not useful "Final timeLimitDelta" log lines (#4802)
  • HBASE-27365 Minimise block addition failures due to no space in bucket cache writers queue by introducing wait time
  • HBASE-27386 Use encoded size for calculating compression ratio in block size predicator (#4795)
  • HBASE-27370 Avoid decompressing blocks when reading from bucket cache… (#4781)
  • HBASE-27373 Fix new spotbugs warnings after upgrading spotbugs to 4.7.2 (#4787) (#4791)
  • HBASE-27368 Do not need to throw IllegalStateException when peer is not active in ReplicationSource.initialize (#4779)
  • HBASE-27371 Bump spotbugs version (#4783)
  • HBASE-27332 Remove RejectedExecutionHandler for long/short compaction thread pools (#4731)
  • HBASE-27335 HBase shell hang for a minute when quiting (#4737)
  • HBASE-27317 Rectifying the option for columnfamily as mandatory (#4773)
  • HBASE-27313: Persist list of Hfiles names for which prefetch is done (#4771)
  • HBASE-20904 Prometheus /metrics http endpoint for monitoring (#4691)
  • HBASE-25922 - Disabled sanity checks ignored on snapshot restore (#4533) (#4734)
  • HBASE-27320 hide some sensitive configuration information in the UI (#4723)
  • HBASE-27089 Add “commons.crypto.stream.buffer.size” configuration (#4491)
  • HBASE-27294 Add new hadoop releases in our hadoop checks (#4692)
  • HBASE-27296 Some Cell's implementation of toString() such as IndividualBytesFieldCell prints out value and tags which is too verbose (#4695) (#4703)
  • HBASE-27221 Bump spotless version to 2.24.1 (#4693)
  • HBASE-27265 : Tool to read StoreFileTrackerFile (#4673)
  • HBASE-27301 Add Delete addFamilyVersion timestamp verify (#4700)
  • HBASE-27281 Add default implementation for Connection$getClusterId (#4683)
  • HBASE-27264 Add options to consider compressed size when delimiting blocks during hfile writes (#4675)
  • HBASE-27293 Remove jenkins and personality scripts support for 1.x (#4690)
  • HBASE-26775 - add synchronized modifier to the toString() method of ProcedureEvent.java (#4681)
  • HBASE-27273 Should stop autoRead and skip all the bytes when rpc request too big (#4679)
  • HBASE-27269 The implementation of TestReplicationStatus.waitOnMetricsReport is incorrect (#4678)
  • HBASE-27271 BufferCallBeforeInitHandler should ignore the flush request (#4676)
  • HBASE-27257 Remove unnecessary usage of CachedBlocksByFile from RS UI (#4667)
  • HBASE-27087 TestQuotaThrottle times out
  • Revert "HBASE-23330: Fix delegation token fetch with MasterRegistry (#1084) (#4598)"
  • HBASE-27225 Add BucketAllocator bucket size statistic logging (#4637)
  • HBASE-27204 BlockingRpcClient will hang for 20 seconds when SASL is enabled after finishing negotiation (#4642)
  • HBASE-27219 Change JONI encoding in RegexStringComparator (#4632)
  • HBASE-27220 Apply the spotless format change in HBASE-27208 to our code base
  • HBASE-27208 Use spotless to purge the missing summary warnings from error prone (#4628)
  • HBASE-27205 Fix tests that rely on EnvironmentEdgeManager in branch-2.4 (addendum) (#4631)
  • HBASE-27211 Data race in MonitoredTaskImpl could cause split wal failure (#4630)
  • HBASE-27205 Fix tests that rely on EnvironmentEdgeManager in branch-2.4 (#4625)
  • HBASE-27192 The retry number for TestSeparateClientZKCluster is too small (#4614)
  • HBASE-27193 TestZooKeeper is flaky (#4615)
  • HBASE-27161 Improve TestMultiRespectsLimits (#4586)
  • HBASE-27188 Report maxStoreFileCount in jmx (#4609)
  • HBASE-27186 Report block cache size metrics separately for L1 and L2 (#4608)
  • HBASE-27048 Server side scanner time limit should account for time in queue (#4562)
  • HBASE-27169 TestSeparateClientZKCluster is flaky (#4587)
  • HBASE-27160 ClientZKSyncer.deleteDataForClientZkUntilSuccess should break from the loop when deletion is succeeded (#4579)
  • HBASE-27060 Addendum spotless fix (#4580)
  • HBASE-27060 Addendum fix HBaseTestingUtility import in test
  • HBASE-27060 Allow sharing connections between AggregationClient instances (#4566)
  • HBASE-27146 Avoid CellUtil.cloneRow in MetaCellComparator (#4571)
  • HBASE-27151 TestMultiRespectsLimits.testBlockMultiLimits repeatable failure
  • HBASE-27050 Support unit test pattern matching again (#4447)
  • HBASE-27141 Upgrade hbase-thirdparty dependency to 4.1.1 (#4552)
  • HBASE-27051 TestReplicationSource.testReplicationSourceInitializingMetric is flaky (#4448)
  • HBASE-27143 Add hbase-unsafe as a dependency for a MR job triggered by hbase shell (#4554)
  • HBASE-27099 The log printing fspread/fsread cost time unit should be milliseconds (#4500)
  • HBASE-27128 when open archiveRetries totalLogSize calculation mistake (#4546)
  • HBASE-27125 The batch size of cleaning expired mob files should have an upper bound(addendum) (#4553)
  • HBASE-27125 The batch size of cleaning expired mob files should have an upper bound (#4541)
  • HBASE-27117 Update the method comments for RegionServerAccounting (#4532)
  • Revert "HBASE-27084 Add spotless:check in mvn verify stage (#4482)"
  • HBASE-26923 PerformanceEvaluation support encryption option (#4489)
  • HBASE-27095 HbckChore should produce a report
  • HBASE-27093 AsyncNonMetaRegionLocator:put Complete CompletableFuture outside lock block (#4496)
  • HBASE-27038 CellComparator should extend Serializable (#4492)
  • HBASE-27084 Add spotless:check in mvn verify stage (#4482)
  • HBASE-27080 Optimize debug output log of ConstantSizeRegionSplitPolicy class. (#4481)
  • HBASE-26649 Support meta replica LoadBalance mode for RegionLocator#getAllRegionLocations() (#4442) (#4485)
  • HBASE-27039 Some methods of MasterRegion should be annotated for testing only (#4433)
  • HBASE-27023 Fix license issues after running spotless:apply (#4458)
  • HBASE-27079 Lower some DEBUG level logs in ReplicationSourceWALReader to TRACE (#4476)
  • HBASE-26933 Addendum remove unused resources and links on site
  • HBASE-26933 Remove all ref guide stuff on branch other than master (#4426)
  • HBASE-27030 Fix undefined local variable error in draining_servers.rb (#4427)
  • HBASE-27047 Fix typo for metric drainingRegionServers (#4441)
  • HBASE-27027 Use jetty SslContextFactory.Server instead of deprecated SslContextFactory (#4425)
  • HBASE-27054 TestStochasticLoadBalancerRegionReplicaLargeCluster.testRegionReplicasOnLargeCluster is flaky (#4454)
  • HBASE-27018 Add a tool command list_liveservers (#4416)
  • HBASE-27006 Move nightly integration testing to new larger test node class. (#4438)
  • HBASE-27045 Disable TestClusterScopeQuotaThrottle (#4440)
  • HBASE-27003 Optimize log format for PerformanceEvaluation (#4411)
  • HBASE-27000 Block cache stats (Misses Caching) display error in RS web UI (#4406)
  • HBASE-26995 Remove ref guide check in pre commit and nightly for branches other than master (#4399)
  • HBASE-26990 Add default implementation for BufferedMutator interface setters (#4387)
  • HBASE-26892 Add spotless:check in our pre commit general check (#4393)
  • HBASE-26899 Run spotless:apply
  • HBASE-26617 Use spotless to reduce the pain on fixing checkstyle issues
  • HBASE-26674 Should modify filesCompacting under storeWriteLock (#4040)
  • HBASE-26999 HStore should try write WAL compaction marker before repl… (#4407)
  • HBASE-26860 Backport " HBASE-25681 Add a switch for server/table queryMeter" to branch-2.4 (#4240)
  • HBASE-26917 Do not add --threads when running 'mvn site' (#4354)
  • HBASE-26932 Skip generating ref guide when running 'mvn site' on branch other than master (#4360)
  • HBASE-26980 Update javadoc of BucketCache.java (#4374)
  • HBASE-26581 Add metrics for failed replication edits (#4347)
  • HBASE-26942 cache region locations when getAllRegionLocations (#4357)
  • HBASE-24337 Backport HBASE-23968 to branch-2 (#3588)
  • Revert "HBASE-25665 Option to use hostname instead of canonical hostname for secure HBase cluster connection (#3051)"
  • HBASE-26618 Involving primary meta region in meta scan with CatalogRe… (#4321) (#4328)
  • HBASE-26880 Misspelling commands in hbase shell will crash the shell (#4325)
  • HBASE-26922 Fix LineLength warnings as much as possible if it can not be fixed by spotless (#4324)
  • HBASE-26929 Upgrade surefire plugin to 3.0.0-M6 (#4319)
  • HBASE-26928 Fix several indentation problems (#4323)
  • HBASE-26882 Backport " HBASE-26810 Add dynamic configuration support f… (#4278)
  • HBASE-26885 Addendum throw exception instead of return in TRSP to let the procedure retry (#4299)
  • HBASE-26921 Rewrite the counting cells part in TestMultiVersions (#4316)
  • HBASE-26919 Rewrite the counting rows part in TestFromClientSide4 (#4314)
  • HBASE-26811 Secondary replica may be disabled for read incorrectly forever (#4310)
  • HBASE-26673 Implement a shell command for change SFT implementation (#4113)
  • HBASE-26838 Junit jar is not included in the hbase tar ball, causing … (#4223)
  • HBASE-26586 Should not rely on the global config when setting SFT implementation for a table while upgrading (#4006)
  • HBASE-26611 Changing SFT implementation on disabled table is dangerous (#4082)
  • HBASE-26912 Bump checkstyle from 8.28 to 8.29 (#4293)
  • HBASE-26871 addendum. use the jar command from JAVA_HOME (#4297)
  • HBASE-26871 shaded mapreduce and shaded byo-hadoop client artifacts contain no classes (#4279)
  • HBASE-26903 Bump httpclient from 4.5.3 to 4.5.13 (#4296)
  • HBASE-26587 Introduce a new Admin API to change SFT implementation (#4030) (#4080)
  • HBASE-26640 Reimplement master local region initialization to better work with SFT (#4111)
  • HBASE-26690 Modify FSTableDescriptors to not rely on renaming when writing TableDescriptor (#4054)
  • HBASE-26707: Reduce number of renames during bulkload (#4066) (#4122)
  • HBASE-26483. [HBOSS] add support for createFile() and openFile(path) (#35)
  • HBASE-27196: Enable code coverage reporting to SonarQube in hbase-filesystem (#36)
  • HBASE-27076. [HBOSS] compile against hadoop 3.3.2+ only. (#34)
  • HBASE-27042. Remove S3Guard awareness from HBoss
  • HBASE-26786 [hboss] Limit synchronization from hot path of HBoss APIs (#32)
  • HBASE-27135 [hbase-thirdparty] Bump checkstyle from 8.28 to 8.29 in /hbase-noop-htrace (#86)
  • HBASE-27134 [hbase-thirdparty] Bump junit from 4.12 to 4.13.1 in /hbase-noop-htrace (#85)
  • HBASE-27130 [hbase-thirdparty] Bump dependency versions (#83)
  • HBASE-27133 Bump checkstyle from 8.28 to 8.29 in /hbase-unsafe (#84)
  • HBASE-26893 [hbase-thirdparty] Upgrade jackson to 2.13.3 (#82)
  • HBASE-26781 [hbase-thirdparty] Introduce the sun.misc.Signal delegati… (#79)
  • HBASE-26773 [hbase-thirdparty] Introduce a hbase-unsafe module in hbase-thirdparty to remove the direct references of Unsafe in our main code base (#78)
  • HBASE-26746 Update protobuf-java to 3.19.4 (#77)
  • HBASE-26733 [hbase-thirdparty] Upgrade Netty to 4.1.73.Final (#75)
  • HBASE-26732 [hbase-thirdparty] Update jackson (databind) to 2.13.1 (#74)
  • HBASE-26592 Fix the broken shaded protobuf module (#70)
  • HBASE-26506 Addendum add jersey-media-jaxb dependency (#69)
  • HBASE-26504 Addendum upgrade extra-enforcer-rules to 1.4
  • HBASE-26515 [hbase-thirdparty] Generate CHANGES.md and RELEASENOTES.md for 4.0.0 (#68)
  • HBASE-26514 [hbase-thirdparty] Set version as 4.0.0 in prep for first RC (#67)
  • HBASE-25868 [hbase-thirdparty] Shade jackson-jaxrs-json-provider for use with shaded jersey
  • HBASE-25863 [hbase-thirdparty] Shade javax.ws.rs package for use with shaded Jersey
  • HBASE-26503 [hbase-thirdparty] Bump guava version to 31.0.1-jre (#65)
  • HBASE-26501 [hbase-thirdparty] Bump jetty version to 9.4.44.v20210927 (#61)
  • HBASE-26506 [hbase-thirdparty] Bump jersey version to 2.35 (#64)
  • HBASE-26505 [hbase-thirdparty] Bump commons-cli version to 1.5.0 (#63)
  • HBASE-26504 [hbase-thirdparty] Bump maven plugin versions (#66)
  • HBASE-26502 [hbase-thirdparty] Bump gson version to 2.8.9 (#60)
  • HBASE-26499 [hbase-thirdparty] Bump netty version to 4.1.70.Final (#59)
  • HBASE-25609 [hbase-thirdparty] Bump version to 4.0.0-SNAPSHOT on master branch (#57)
  • HBASE-26500 [hbase-thirdparty] Bump protobuf version to 3.19.1 (#58)
  • HBASE-26496 [hbase-thirdparty] Exclude the original protobuf-java jar when shading (#56)
  • HBASE-25728 [hbase-thirdparty] Upgrade Netty library to >= 4.1.60 due to security vulnerability CVE-2021-21295 (#48)
  • HBASE-26501 [hbase-thirdparty] Bump jetty version to 9.4.44.v20210927 (#61)