HBASE Changelog

Release 2.1.0 - Unreleased (as of 2018-07-10)

INCOMPATIBLE CHANGES:

JIRASummaryPriorityComponent
HBASE-20691Storage policy should allow deferring to HDFSBlockerFilesystem Integration, wal
HBASE-20270Turn off command help that follows all errors in shellMajorshell
HBASE-20501Change the Hadoop minimum version to 2.7.1Blockercommunity, documentation
HBASE-20406HBase Thrift HTTP - Shouldn't handle TRACE/OPTIONS methodsMajorsecurity, Thrift
HBASE-20159Support using separate ZK quorums for clientMajorClient, Operability, Zookeeper
HBASE-20148Make serial replication as a option for a peer instead of a tableMajorReplication

NEW FEATURES:

JIRASummaryPriorityComponent
HBASE-20833Modify pre-upgrade coprocessor validator to support table level coprocessorsMajorCoprocessors
HBASE-15809Basic Replication WebUICriticalReplication, UI
HBASE-19735Create a minimal “client” tarball installationMajorbuild, Client
HBASE-20656Validate pre-2.0 coprocessors against HBase 2.0+Majortooling
HBASE-20592Create a tool to verify tables do not have prefix tree encodingMinorOperability, tooling
HBASE-20046Reconsider the implementation for serial replicationMajorReplication
HBASE-19397Design procedures for ReplicationManager to notify peer change event from masterMajorproc-v2, Replication

IMPROVEMENTS:

JIRASummaryPriorityComponent
HBASE-20806Split style journal for flushes and compactionsMinor.
HBASE-20474Show non-RPC tasks on master/regionserver Web UI by defaultMajorUI
HBASE-20826Truncate responseInfo attributes on RpcServer WARN messagesMajorrpc
HBASE-20450Provide metrics for number of total active, priority and replication rpc handlersMajormetrics
HBASE-20810Include the procedure id in the exception message in HBaseAdmin for better debuggingMajorAdmin, proc-v2
HBASE-20040Master UI should include “Cluster Key” needed to use the cluster as a replication sinkMinorReplication, Usability
HBASE-20095Redesign single instance pool in CleanerChoreCritical.
HBASE-19164Avoid UUID.randomUUID in testsMajortest
HBASE-20739Add priority for SCPMajorRecovery
HBASE-20737put collection into ArrayList instead of addAll functionTrivial.
HBASE-20695Implement table level RegionServer replication metricsMinormetrics
HBASE-20733QABot should run checkstyle tests if the checkstyle configs changeMinorbuild, community
HBASE-20625refactor some WALCellCodec related codeMinorwal
HBASE-19852HBase Thrift 1 server SPNEGO ImprovementsMajorThrift
HBASE-20579Improve snapshot manifest copy in ExportSnapshotMinormapreduce
HBASE-20444Improve version comparison logic for HBase specific version string and add unit testsMajorutil
HBASE-20594provide utility to compare old and new descriptorsMajor.
HBASE-20640TestQuotaGlobalsSettingsBypass missing test category and ClassRuleCriticaltest
HBASE-20478move import checks from hbaseanti to checkstyleMinortest
HBASE-20548Master fails to startup on large clusters, refreshing block distributionMajor.
HBASE-20488PE tool prints full name in help messageMinorshell
HBASE-20567Pass both old and new descriptors to pre/post hooks of modify operations for table and namespaceMajor.
HBASE-20545Improve performance of BaseLoadBalancer.retainAssignmentMajorBalancer
HBASE-16191Add stop_regionserver and stop_master to shellMajor.
HBASE-20536Make TestRegionServerAccounting stable and it should not use absolute numberMinor.
HBASE-20523PE tool should support configuring client side buffering sizesMinor.
HBASE-20527Remove unused code in MetaTableAccessorTrivial.
HBASE-20507Do not need to call recoverLease on the broken file when we fail to create a wal writerMajorwal
HBASE-20484Remove the unnecessary autoboxing in FilterListBaseTrivial.
HBASE-20327When qualifier is not specified, append and incr operation do not work (shell)Minorshell
HBASE-20389Move website building flags into a profileMinorbuild, website
HBASE-20379shadedjars yetus plugin should add a footer linkMajortest
HBASE-20243[Shell] Add shell command to create a new table by cloning the existent tableMinorshell
HBASE-20286Improving shell command compaction_stateMinorshell
HBASE-19488Move to using Apache commons CollectionUtilsTrivial.
HBASE-20197Review of ByteBufferWriterOutputStream.javaMinor.
HBASE-20047AuthenticationTokenIdentifier should provide a toStringMinorUsability
HBASE-19024Configurable default durability for synchronous WALCriticalwal
HBASE-19389Limit concurrency of put with dense (hundreds) columns to prevent write handler exhaustedCriticalPerformance
HBASE-20186Improve RSGroupBasedLoadBalancer#balanceCluster() to be more efficient when calculating cluster state for each rsgroupMinorrsgroup
HBASE-19449Minor logging change in HFileArchiverTrivial.
HBASE-20120Remove some unused classes/ java files from hbase-serverMinor.

BUG FIXES:

JIRASummaryPriorityComponent
HBASE-20854Wrong retries number in RpcRetryingCaller's log messageMinorClient, logging
HBASE-20784Will lose the SNAPSHOT suffix if we get the version of RS from ServerManagerMinormaster, UI
HBASE-20822TestAsyncNonMetaRegionLocator is flakeyMajorasyncclient
HBASE-20808Wrong shutdown order between Chores and ChoreServiceMinor.
HBASE-20789TestBucketCache#testCacheBlockNextBlockMetadataMissing is flakyMajor.
HBASE-20829Remove the addFront assertion in MasterProcedureScheduler.doAddMajorReplication
HBASE-20825Fix pre and post hooks of CloneSnapshot and RestoreSnapshot for Access checksMajorsecurity
HBASE-20812Add defaults to Table Interface so implementors don't have toMajor.
HBASE-20817Infinite loop when executing ReopenTableRegionsProcedureBlockerRegion Assignment
HBASE-20792info:servername and info:sn inconsistent for OPEN regionBlockerRegion Assignment
HBASE-20769getSplits() has a out of bounds problem in TableSnapshotInputFormatImplMajor.
HBASE-20732Shutdown scan pool when master is stopped.Minor.
HBASE-20785NPE getting metrics in PE testing scansMajorPerformance
HBASE-20795Allow option in BBKVComparator.compare to do comparison without sequence idMajor.
HBASE-20777RpcConnection could still remain opened after we shutdown the NettyRpcServerMajorrpc
HBASE-20403Prefetch sometimes doesn't work with encrypted file systemMajor.
HBASE-20635Support to convert the shaded user permission proto to client user permission objectMajor.
HBASE-20778Make it so WALPE runs on DFSMajortest
HBASE-20775TestMultiParallel is flakeyMajorRegion Assignment
HBASE-20752Make sure the regions are truly reopened after ReopenTableRegionsProcedureMajorproc-v2
HBASE-18622Mitigate API compatibility concerns between branch-1 and branch-2BlockerAPI
HBASE-20767Always close hbaseAdmin along with connection in HBTUMajortest
HBASE-20642IntegrationTestDDLMasterFailover throws 'InvalidFamilyOperationExceptionMajor.
HBASE-20742Always create WAL directory for region serverMajorwal
HBASE-20708Remove the usage of RecoverMetaProcedure in master startupBlockerproc-v2, Region Assignment
HBASE-20723Custom hbase.wal.dir results in data loss because we write recovered edits into a different place than where the recovering region server looks for themCriticalRecovery, wal
HBASE-20681IntegrationTestDriver fails after HADOOP-15406 due to missing hamcrest-coreMajorintegration tests
HBASE-20561The way we stop a ReplicationSource may cause the RS downMajorReplication
HBASE-19377Compatibility checker complaining about hash collisionsMajorcommunity
HBASE-20689Docker fails to install rubocop for precommitBlockerbuild
HBASE-20707Move MissingSwitchDefault check from checkstyle to error-proneMajorbuild
HBASE-20699QuotaCache should cancel the QuotaRefresherChore service inside its stop()Major.
HBASE-20590REST Java client is not able to negotiate with the server in the secure modeCriticalREST, security
HBASE-20683Incorrect return value for PreUpgradeValidatorCritical.
HBASE-20684org.apache.hadoop.hbase.client.Scan#setStopRow javadoc uses incorrect methodTrivialClient, documentation
HBASE-20678NPE in ReplicationSourceManager#NodeFailoverWorkerMinor.
HBASE-20670NPE in HMaster#isInMaintenanceModeMinor.
HBASE-20634Reopen region while server crash can cause the procedure to be stuckCritical.
HBASE-12882Log level for org.apache.hadoop.hbase package should be configurableMajor.
HBASE-20668Avoid permission change if ExportSnapshot's copy failsMajor.
HBASE-18116Replication source in-memory accounting should not include bulk transfer hfilesMajorReplication
HBASE-20602hbase.master.quota.observer.ignore property seems to be not taking effectMinordocumentation
HBASE-20664Variable shared across multiple threadsMajor.
HBASE-20659Implement a reopen table regions procedureMajor.
HBASE-20582Bump up JRuby version because of some reported vulnerabilitiesMajordependencies, shell
HBASE-20533Fix the flaky TestAssignmentManagerMetricsMajor.
HBASE-20597Use a lock to serialize access to a shared reference to ZooKeeperWatcher in HBaseReplicationEndpointMinorReplication
HBASE-20633Dropping a table containing a disable violation policy fails to remove the quota upon table deleteMajor.
HBASE-20645Fix security_available method in security.rbMajor.
HBASE-20612TestReplicationKillSlaveRSWithSeparateOldWALs sometimes fail because it uses an expired cluster connMajor.
HBASE-20648HBASE-19364 “Truncate_preserve fails with table when replica region > 1” for master branchMajor.
HBASE-20588Space quota change after quota violation doesn't seem to take in effectMajorregionserver
HBASE-20616TruncateTableProcedure is stuck in retry loop in TRUNCATE_TABLE_CREATE_FS_LAYOUT stateMajoramv2
HBASE-20638nightly source artifact testing should fail the stage if it's going to report an error on jiraMajortest
HBASE-20624Race in ReplicationSource which causes walEntryFilter being null when creating new shipperMajorReplication
HBASE-20601Add multiPut support and other miscellaneous to PEMinortooling
HBASE-20627Relocate RS Group pre/post hooks from RSGroupAdminServer to RSGroupAdminEndpointMajor.
HBASE-20591nightly job doesn't respect maven optionsCriticaltest
HBASE-20560Revisit the TestReplicationDroppedTables utMajor.
HBASE-20571JMXJsonServlet generates invalid JSON if it has NaN in metricsMajorUI
HBASE-20585Need to clear peer map when clearing MasterProcedureSchedulerMajorproc-v2
HBASE-20457Return immediately for a scan rpc call when we want to switch from pread to streamMajorscan
HBASE-20447Only fail cacheBlock if block collisions aren't related to next block metadataMajorBlockCache, BucketCache
HBASE-20544downstream HBaseTestingUtility fails with invalid portBlockertest
HBASE-20004Client is not able to execute REST queries in a secure clusterMinorREST, security
HBASE-20475Fix the flaky TestReplicationDroppedTables unit test.Major.
HBASE-20554“WALs outstanding” message from CleanerChore is noisyTrivial.
HBASE-20204Add locking to RefreshFileConnections in BucketCacheMajorBucketCache
HBASE-20485Copy constructor of Scan doesn't copy the readType and replicaIdMinor.
HBASE-20543Fix the flaky TestThriftHttpServerMajor.
HBASE-20521TableOutputFormat.checkOutputSpecs conf checking sequence cause pig script run failMajormapreduce
HBASE-20500[rsgroup] should keep at least one server in default groupMajorrsgroup
HBASE-20517Fix PerformanceEvaluation ‘column’ parameterMajortest
HBASE-20524Need to clear metrics when ReplicationSourceManager refresh replication sourcesMinor.
HBASE-20476Open sequence number could go backwards in AssignProcedureMajorRegion Assignment
HBASE-20506Add doc and test for unused RetryCounter, useful-looking utilityMinor.
HBASE-20492UnassignProcedure is stuck in retry loop on region stuck in OPENING stateCriticalamv2
HBASE-20497The getRecoveredQueueStartPos always return 0 in RecoveredReplicationSourceShipperMajorReplication
HBASE-18842The hbase shell clone_snaphost command returns bad error messageMinorshell
HBASE-20466Consistently use override mechanism for exempt classes in CoprocessClassloaderMajorCoprocessors
HBASE-20006TestRestoreSnapshotFromClientWithRegionReplicas is flakeyCriticalread replicas
HBASE-18059The scanner order for memstore scanners are wrongCriticalregionserver, scan, Scanners
HBASE-20404Ugly cleanerchore complaint that dir is not emptyMajormaster
HBASE-20419Fix potential NPE in ZKUtil#listChildrenAndWatchForNewChildren callersMajor.
HBASE-20364nightly job gives old results or no results for stages that timeout on SCMCriticaltest
HBASE-20335nightly jobs no longer contain machine informationCriticaltest
HBASE-20338WALProcedureStore#recoverLease() should have fixed sleeps for retrying rollWriter()Major.
HBASE-20356make skipping protoc possibleCriticaldependencies, thirdparty
HBASE-15291FileSystem not closed in secure bulkLoadMajor.
HBASE-20068Hadoopcheck project health check uses default maven repo instead of yetus managed onesMajorcommunity, test
HBASE-20361Non-successive TableInputSplits may wrongly be merged by auto balancing featureMajormapreduce
HBASE-20260Purge old content from the book for branch-2/masterCriticaldocumentation
HBASE-20058improper quoting in presplitting command docsMinordocumentation
HBASE-19923Reset peer state and config when refresh replication source failedMajorReplication
HBASE-19748TestRegionReplicaFailover and TestRegionReplicaReplicationEndpoint UT hangsMajor.

TESTS:

JIRASummaryPriorityComponent
HBASE-20667Rename TestGlobalThrottler to TestReplicationGlobalThrottlerTrivial.
HBASE-20646TestWALProcedureStoreOnHDFS failing on branch-1Trivial.
HBASE-20505PE should support multi column family read and write casesMinor.
HBASE-20513Collect and emit ScanMetrics in PerformanceEvaluationMinortest
HBASE-20414TestLockProcedure#testMultipleLocks may fail on slow machineMajor.

SUB-TASKS:

JIRASummaryPriorityComponent
HBASE-20831Copy master doc into branch-2.1 and edit to make it suit 2.1.0Blockerdocumentation
HBASE-20839Fallback to FSHLog if we can not instantiated AsyncFSWAL when user does not specify AsyncFSWAL explicitlyBlockerwal
HBASE-20244NoSuchMethodException when retrieving private method decryptEncryptedDataEncryptionKey from DFSClientBlockerwal
HBASE-20193Basic Replication Web UI - RegionserverCriticalReplication, Usability
HBASE-20489Update Reference Guide that CLUSTER_KEY value is present on the Master UI info page.Minordocumentation
HBASE-19722Meta query statistics metrics sourceMajor.
HBASE-20781Save recalculating families in a WALEdit batch of CellsMajorPerformance
HBASE-20194Basic Replication WebUI - MasterCriticalReplication, Usability
HBASE-20780ServerRpcConnection logging cleanupMajorlogging, Performance
HBASE-19764Fix Checkstyle errors in hbase-endpointMinor.
HBASE-20710extra cloneFamily() in Mutation.add(Cell)Minorregionserver
HBASE-18569Add prefetch support for async region locatorMajorasyncclient, Client
HBASE-20706[hack] Don't add known not-OPEN regions in reopen phase of MTPCriticalamv2
HBASE-20334add a test that expressly uses both our shaded client and the one from hadoop 3Majorhadoop3, shading
HBASE-20615emphasize use of shaded client jars when they're present in an installMajorbuild, Client, Usability
HBASE-20333break up shaded client into one with no Hadoop and one that's standaloneCriticalshading
HBASE-20332shaded mapreduce module shouldn't include hadoopCriticalmapreduce, shading
HBASE-20722Make RegionServerTracker only depend on children changed eventMajor.
HBASE-20700Move meta region when server crash can cause the procedure to be stuckCriticalmaster, proc-v2, Region Assignment
HBASE-20628SegmentScanner does over-comparing when one flushingCriticalPerformance
HBASE-19761Fix Checkstyle errors in hbase-zookeeperMinor.
HBASE-19724Fix Checkstyle errors in hbase-hadoop2-compatMinor.
HBASE-20518Need to serialize the enabled field for UpdatePeerConfigProcedureMajorReplication
HBASE-20481Replicate entries from same region serially in ReplicationEndpoint for serial replicationMajor.
HBASE-20378Provide a hbck option to cleanup replication barrier for a tableMajor.
HBASE-20128Add new UTs which extends the old replication UTs but set replication scope to SERIALMajor.
HBASE-20417Do not read wal entries when peer is disabledMajorReplication
HBASE-20294Also cleanup last pushed sequence id in ReplicationBarrierCleanerMajorReplication
HBASE-20377Deal with table in enabling and disabling state when modifying serial replication peerMajorReplication
HBASE-20367Write a replication barrier for regions when disabling a tableMajorReplication
HBASE-20296Remove last pushed sequence ids when removing tables from a peerMajorReplication
HBASE-20285Delete all last pushed sequence ids when removing a peer or removing the serial flag for a peerMajorReplication
HBASE-20138Find a way to deal with the conflicts when updating replication positionMajorReplication
HBASE-20127Add UT for serial replication after failoverMajorReplication, test
HBASE-20271ReplicationSourceWALReader.switched should use the file name instead of the path object directlyMajorReplication
HBASE-20227Add UT for ReplicationUtils.contains methodMajorReplication, test
HBASE-20147Serial replication will be stuck if we create a table with serial replication but add it to a peer after there are region movesMajor.
HBASE-20116Optimize the region last pushed sequence id layout on zkMajorReplication
HBASE-20242The open sequence number will grow if we fail to open a region after writing the max sequence id fileMajor.
HBASE-20155update branch-2 version to 2.1.0-SNAPSHOTMajorbuild, community
HBASE-20206WALEntryStream should not switch WAL file silentlyMajorReplication
HBASE-20117Cleanup the unused replication barriers in meta tableMajormaster, Replication
HBASE-20165Shell command to make a normal peer to be a serial replication peerMajor.
HBASE-20167Optimize the implementation of ReplicationSourceWALReaderMajorReplication
HBASE-20125Add UT for serial replication after region split and mergeMajorReplication
HBASE-20129Add UT for serial replication checkerMajorReplication
HBASE-20115Reimplement serial replication based on the new replication storage layerMajorReplication
HBASE-20050Reimplement updateReplicationPositions logic in serial replication based on the newly introduced replication storage layerMajor.
HBASE-20082Fix findbugs errors only on master which are introduced by HBASE-19397Majorfindbugs
HBASE-19936Introduce a new base class for replication peer procedureMajor.
HBASE-19719Fix checkstyle issuesMajorproc-v2, Replication
HBASE-19711TestReplicationAdmin.testConcurrentPeerOperations hangsMajorproc-v2
HBASE-19707Race in start and terminate of a replication source after we async start replicatione endpointMajorproc-v2, Replication
HBASE-19636All rs should already start work with the new peer change when replication peer procedure is finishedMajorproc-v2, Replication
HBASE-19634Add permission check for executeProcedures in AccessControllerMajorproc-v2, Replication
HBASE-19697Remove TestReplicationAdminUsingProcedureMajorproc-v2, Replication
HBASE-19661Replace ReplicationStateZKBase with ZKReplicationStorageBaseMajorproc-v2, Replication
HBASE-19687Move the logic in ReplicationZKNodeCleaner to ReplicationChecker and remove ReplicationZKNodeCleanerChoreMajorproc-v2, Replication
HBASE-19544Add UTs for testing concurrent modifications on replication peerMajorproc-v2, Replication, test
HBASE-19686Use KeyLocker instead of ReentrantLock in PeerProcedureHandlerImplMajorproc-v2, Replication
HBASE-19623Create replication endpoint asynchronously when adding a replication sourceMajorproc-v2, Replication
HBASE-19633Clean up the replication queues in the postPeerModification stage when removing a peerMajorproc-v2, Replication
HBASE-19622Reimplement ReplicationPeers with the new replication storage interfaceMajorproc-v2, Replication
HBASE-19635Introduce a thread at RS side to call reportProcedureDoneMajorproc-v2
HBASE-19617Remove ReplicationQueues, use ReplicationQueueStorage directlyMajorReplication
HBASE-19642Fix locking for peer modification procedureCriticalproc-v2, Replication
HBASE-19592Add UTs to test retry on update zk failureMajorproc-v2, Replication
HBASE-19630Add peer cluster key check when add new replication peerMajorproc-v2, Replication
HBASE-19573Rewrite ReplicationPeer with the new replication storage interfaceMajorproc-v2, Replication
HBASE-19579Add peer lock test for shell command list_locksMajorproc-v2, Replication
HBASE-19599Remove ReplicationQueuesClient, use ReplicationQueueStorage directlyMajorReplication
HBASE-19543Abstract a replication storage interface to extract the zk specific codeMajorproc-v2, Replication
HBASE-19525RS side changes for moving peer modification from zk watcher to procedureMajorproc-v2, Replication
HBASE-19580Use slf4j instead of commons-logging in new, just-added Peer Procedure classesMajorproc-v2, Replication
HBASE-19520Add UTs for the new lock type PEERMajorproc-v2
HBASE-19564Procedure id is missing in the response of peer related operationsMajorproc-v2, Replication
HBASE-19536Client side changes for moving peer modification from zk watcher to procedureMajorReplication
HBASE-19524Master side changes for moving peer modification from zk watcher to procedureMajorproc-v2, Replication
HBASE-19216Implement a general framework to execute remote procedure on RSMajorproc-v2, Replication

OTHER:

JIRASummaryPriorityComponent
HBASE-19997[rolling upgrade] 1.x => 2.xBlocker.
HBASE-20360Further optimization for serial replicationMajorReplication
HBASE-20862Address 2.1.0 Compatibility Report IssuesBlockercompatibility
HBASE-20665“Already cached block XXX” message should be DEBUGMinorBlockCache
HBASE-20677Backport test of HBASE-20566 ‘Creating a system table after enabling rsgroup feature puts region into RIT’ to branch-2Major.
HBASE-19475Extend backporting strategy in documentationTrivialdocumentation
HBASE-20595Remove the concept of ‘special tables’ from rsgroupsMajorRegion Assignment, rsgroup
HBASE-20415branches-2 don't need maven-scala-pluginMajorbuild
HBASE-20112Include test results from nightly hadoop3 tests in jenkins test resultsCriticaltest
HBASE-17918document serial replicationCriticaldocumentation, Replication
HBASE-19737Manage a HBASE-19397-branch-2 branch and merge it to branch-2Majorproc-v2, Replication