You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2018/04/07 16:38:03 UTC

[1/5] hbase git commit: HBASE-18828 [2.0] Generate CHANGES.txt

Repository: hbase
Updated Branches:
  refs/heads/branch-2.0 57aaee5bb -> d7547c615


http://git-wip-us.apache.org/repos/asf/hbase/blob/d7547c61/hbase-assembly/src/main/assembly/components.xml
----------------------------------------------------------------------
diff --git a/hbase-assembly/src/main/assembly/components.xml b/hbase-assembly/src/main/assembly/components.xml
index e6c45e0..fe57078 100644
--- a/hbase-assembly/src/main/assembly/components.xml
+++ b/hbase-assembly/src/main/assembly/components.xml
@@ -32,7 +32,8 @@
       <directory>${project.basedir}/..</directory>
       <outputDirectory>.</outputDirectory>
       <includes>
-        <include>CHANGES.txt</include>
+        <include>CHANGES.md</include>
+        <include>RELEASENOTES.md</include>
         <include>README.txt</include>
       </includes>
       <fileMode>0644</fileMode>

http://git-wip-us.apache.org/repos/asf/hbase/blob/d7547c61/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index dbe6026..3fe436b 100755
--- a/pom.xml
+++ b/pom.xml
@@ -830,7 +830,6 @@
               <exclude>**/0000000000000016310</exclude>
               <exclude>**/.idea/**</exclude>
               <exclude>**/*.iml</exclude>
-              <exclude>**/CHANGES.txt</exclude>
               <exclude>**/generated/**</exclude>
               <exclude>**/gen-*/**</exclude>
               <!-- No material contents -->

http://git-wip-us.apache.org/repos/asf/hbase/blob/d7547c61/src/main/asciidoc/_chapters/developer.adoc
----------------------------------------------------------------------
diff --git a/src/main/asciidoc/_chapters/developer.adoc b/src/main/asciidoc/_chapters/developer.adoc
index 6d959c2..4e35fd2 100644
--- a/src/main/asciidoc/_chapters/developer.adoc
+++ b/src/main/asciidoc/_chapters/developer.adoc
@@ -578,8 +578,9 @@ You could also set this in an environment variable or alias in your shell.
 The script _dev-support/make_rc.sh_ automates many of the below steps.
 It will checkout a tag, clean the checkout, build src and bin tarballs,
 and deploy the built jars to repository.apache.org.
-It does NOT do the modification of the _CHANGES.txt_ for the release,
-the checking of the produced artifacts to ensure they are 'good' --
+It does NOT do the modification of the _CHANGES.md_ and _RELEASENOTES.md_
+(See HBASE-18828 for how to generate these files)
+for the release, the checking of the produced artifacts to ensure they are 'good' --
 e.g. extracting the produced tarballs, verifying that they
 look right, then starting HBase and checking that everything is running
 correctly -- or the signing and pushing of the tarballs to
@@ -588,9 +589,9 @@ Take a look. Modify/improve as you see fit.
 ====
 
 .Procedure: Release Procedure
-. Update the _CHANGES.txt_ file and the POM files.
+. Update the _CHANGES.md and _RELEASENOTES.md_ files (See HBASE-18828 for how)_ and the POM files.
 +
-Update _CHANGES.txt_ with the changes since the last release.
+Update _CHANGES.md and _RELEASENOTES.md_ with the changes since the last release.
 Make sure the URL to the JIRA points to the proper location which lists fixes for this release.
 Adjust the version in all the POM files appropriately.
 If you are making a release candidate, you must remove the `-SNAPSHOT` label from all versions
@@ -604,7 +605,8 @@ To set a version in all the many poms of the hbase multi-module project, use a c
 $ mvn clean org.codehaus.mojo:versions-maven-plugin:2.5:set -DnewVersion=2.1.0-SNAPSHOT
 ----
 +
-Make sure all versions in poms are changed! Checkin the _CHANGES.txt_ and any maven version changes.
+Make sure all versions in poms are changed! Checkin the _CHANGES.md_ and _RELEASENOTES.md_
+and any maven version changes.
 
 . Update the documentation.
 +


[3/5] hbase git commit: HBASE-18828 [2.0] Generate CHANGES.txt

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7547c61/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
deleted file mode 100755
index 52d2120..0000000
--- a/CHANGES.txt
+++ /dev/null
@@ -1,4455 +0,0 @@
-HBase Change Log
-Release 0.93.0 - Unreleased
-  *DO NOT ADD ISSUES HERE ON COMMIT ANY MORE.  WE'LL GENERATE THE LIST
-  FROM JIRA INSTEAD WHEN WE MAKE A RELEASE*
-
-Release 0.92.1 - Unreleased
-  BUG FIXES
-   HBASE-5176  AssignmentManager#getRegion: logging nit  adds a redundant '+' (Karthik K)
-   HBASE-5237  Addendum for HBASE-5160 and HBASE-4397 (Ram)
-   HBASE-5235  HLogSplitter writer thread's streams not getting closed when any 
-               of the writer threads has exceptions. (Ram)
-   HBASE-5243  LogSyncerThread not getting shutdown waiting for the interrupted flag (Ram)
-   HBASE-5255  Use singletons for OperationStatus to save memory (Benoit)
-   HBASE-5345  CheckAndPut doesn't work when value is empty byte[] (Evert Arckens)
-   HBASE-5466  Opening a table also opens the metatable and never closes it
-               (Ashley Taylor)
-
-  TESTS
-   HBASE-5223  TestMetaReaderEditor is missing call to CatalogTracker.stop()
-
-Release 0.92.0 - 01/23/2012
-  INCOMPATIBLE CHANGES
-   HBASE-2002  Coprocessors: Client side support; Support RPC interface
-               changes at runtime (Gary Helmling via Andrew Purtell)
-   HBASE-3677  Generate a globally unique cluster ID (changed
-               ClusterStatus serialization)
-   HBASE-3762  HTableFactory.releaseHTableInterface() should throw IOException
-               instead of wrapping in RuntimeException (Ted Yu via garyh)
-   HBASE-3629  Update our thrift to 0.6 (Moaz Reyad)
-   HBASE-1502  Remove need for heartbeats in HBase
-   HBASE-451   Remove HTableDescriptor from HRegionInfo (Subbu M Iyer)
-   HBASE-451   Remove HTableDescriptor from HRegionInfo
-               addendum that fixes TestTableMapReduce
-   HBASE-3534  Action should not store or serialize regionName (Ted Yu)
-   HBASE-4197  RegionServer expects all scanner to be subclasses of
-               HRegion.RegionScanner (Lars Hofhansl)
-   HBASE-4233  Update protobuf dependency to 2.4.0a (todd)
-   HBASE-4299  Update to Avro 1.5.3 and use Avro Maven plugin to generate
-               Avro classes. (Alejandro Abdelnur)
-   HBASE-4369  Deprecate HConnection#getZookeeperWatcher in prep for HBASE-1762
-   HBASE-4247  Add isAborted method to the Abortable interface
-               (Akash Ashok)
-   HBASE-4503  Purge deprecated HBaseClusterTestCase
-   HBASE-4374  Up default regions size from 256M to 1G
-   HBASE-4648  Bytes.toBigDecimal() doesn't use offset (Bryan Keller via Lars H)
-   HBASE-4715  Remove stale broke .rb scripts from bin dir
-   HBASE-3433  Remove the KV copy of every KV in Scan; introduced by HBASE-3232 (Lars H)
-   HBASE-5017  Bump the default hfile.block.cache.size because of HFileV2
-
-  BUG FIXES
-   HBASE-3280  YouAreDeadException being swallowed in HRS getMaster
-   HBASE-3282  Need to retain DeadServers to ensure we don't allow
-               previously expired RS instances to rejoin cluster
-   HBASE-3283  NPE in AssignmentManager if processing shutdown of RS who
-               doesn't have any regions assigned to it
-   HBASE-3173  HBase 2984 breaks ability to specify BLOOMFILTER &
-               COMPRESSION via shell
-   HBASE-3310  Failing creating/altering table with compression agrument from
-               the HBase shell (Igor Ranitovic via Stack)
-   HBASE-3317  Javadoc and Throws Declaration for Bytes.incrementBytes() is
-               Wrong (Ed Kohlwey via Stack)
-   HBASE-1888  KeyValue methods throw NullPointerException instead of
-               IllegalArgumentException during parameter sanity check
-   HBASE-3337  Restore HBCK fix of unassignment and dupe assignment for new
-               master
-   HBASE-3332  Regions stuck in transition after RS failure
-   HBASE-3418  Increment operations can break when qualifiers are split
-               between memstore/snapshot and storefiles
-   HBASE-3403  Region orphaned after failure during split
-   HBASE-3492  NPE while splitting table with empty column family store
-   HBASE-3400  Coprocessor Support for Generic Interfaces
-               (Ed Kohlwey via Gary Helmling)
-   HBASE-3552  Coprocessors are unable to load if RegionServer is launched
-               using a different classloader than system default
-   HBASE-3578  TableInputFormat does not setup the configuration for HBase
-               mapreduce jobs correctly (Dan Harvey via Stack)
-   HBASE-3601  TestMasterFailover broken in TRUNK
-   HBASE-3605  Fix balancer log message
-   HBASE-3538  Column families allow to have slashes in name (Ian Knome via Stack)
-   HBASE-3313  Table name isn't checked in isTableEnabled/isTableDisabled
-               (Ted Yu via Stack)
-   HBASE-3514  Speedup HFile.Writer append (Matteo Bertozzi via Ryan)
-   HBASE-3665  tighten assertions for testBloomFilterSize
-   HBASE-3662  REST server does not respect client supplied max versions when
-               creating scanner
-   HBASE-3641  LruBlockCache.CacheStats.getHitCount() is not using the
-               correct variable
-   HBASE-3532  HRegion#equals is broken (Ted Yu via Stack)
-   HBASE-3697  Admin actions that use MetaReader to iterate regions need to
-               skip offline ones
-   HBASE-3583  Coprocessors: scannerNext and scannerClose hooks are called
-               when HRegionInterface#get is invoked (Mingjie Lai via
-               Andrew Purtell)
-   HBASE-3688  Setters of class HTableDescriptor do not work properly
-   HBASE-3702  Fix NPE in Exec method parameter serialization
-   HBASE-3709  HFile compression not sharing configuration
-   HBASE-3711  importtsv fails if rowkey length exceeds MAX_ROW_LENGTH
-               (Kazuki Ohta via todd)
-   HBASE-3716  Intermittent TestRegionRebalancing failure
-               (Ted Yu via Stack)
-   HBASE-3712  HTable.close() doesn't shutdown thread pool
-               (Ted Yu via Stack)
-   HBASE-3238  HBase needs to have the CREATE permission on the parent of its
-               ZooKeeper parent znode (Alex Newman via Stack)
-   HBASE-3728  NPE in HTablePool.closeTablePool (Ted Yu via Stack)
-   HBASE-3733  MemStoreFlusher.flushOneForGlobalPressure() shouldn't
-               be using TreeSet for HRegion (Ted Yu via J-D)
-   HBASE-3739  HMaster.getProtocolVersion() should distinguish
-               HMasterInterface and HMasterRegionInterface versions
-   HBASE-3723  Major compact should be done when there is only one storefile
-               and some keyvalue is outdated (Zhou Shuaifeng via Stack)
-   HBASE-3624  Only one coprocessor of each priority can be loaded for a table
-   HBASE-3598  Broken formatting in LRU stats output (Erik Onnen)
-   HBASE-3758  Delete triggers pre/postScannerOpen upcalls of RegionObserver
-               (Mingjie Lai via garyh)
-   HBASE-3790  Fix NPE in ExecResult.write() with null return value
-   HBASE-3781  hbase shell cannot start "NoMethodError: undefined method
-               `close' for nil:NilClass" (Mikael Sitruk)
-   HBASE-3802  Redundant list creation in HRegion
-   HBASE-3788  Two error handlings in AssignmentManager.setOfflineInZooKeeper()
-               (Ted Yu)
-   HBASE-3800  HMaster is not able to start due to AlreadyCreatedException
-   HBASE-3806  distributed log splitting double escapes task names
-               (Prakash Khemani)
-   HBASE-3819  TestSplitLogWorker has too many SLWs running -- makes for
-               contention and occasional failures
-   HBASE-3210  HBASE-1921 for the new master
-   HBASE-3827  hbase-1502, removing heartbeats, broke master joining a running
-               cluster and was returning master hostname for rs to use
-   HBASE-3829  TestMasterFailover failures in jenkins
-   HBASE-3843  splitLogWorker starts too early (Prakash Khemani)
-   HBASE-3838  RegionCoprocesorHost.preWALRestore throws npe in case there is
-               no RegionObserver registered (Himanshu Vashishtha)
-   HBASE-3847  Turn off DEBUG logging of RPCs in WriteableRPCEngine on TRUNK
-   HBASE-3777  Redefine Identity Of HBase Configuration (Karthick Sankarachary)
-   HBASE-3849  Fix master ui; hbase-1502 broke requests/second
-   HBASE-3853  Fix TestInfoServers to pass after HBASE-3835 (todd)
-   HBASE-3862  Race conditions in aggregate calculation (John Heitmann)
-   HBASE-3865  Failing TestWALReplay
-   HBASE-3864  Rename of hfile.min.blocksize.size in HBASE-2899 reverted in
-               HBASE-1861 (Aaron T. Myers)
-   HBASE-3876  TestCoprocessorInterface.testCoprocessorInterface broke on
-               jenkins and local
-   HBASE-3897  Docs (notsoquick guide) suggest invalid XML (Philip Zeyliger)
-   HBASE-3898  TestSplitTransactionOnCluster broke in TRUNK
-   HBASE-3826  Minor compaction needs to check if still over
-               compactionThreshold after compacting (Nicolas Spiegelberg)  
-   HBASE-3912  [Stargate] Columns not handle by Scan
-   HBASE-3903  A successful write to client write-buffer may be lost or not
-               visible (Doug Meil)
-   HBASE-3894  Thread contention over row locks set monitor (Dave Latham)
-   HBASE-3959  hadoop-snappy version in the pom.xml is incorrect
-               (Alejandro Abdelnur)
-   HBASE-3971  Compression.java uses ClassLoader.getSystemClassLoader()
-               to load codec (Alejandro Abdelnur)
-   HBASE-3979  Trivial fixes in code, document (Ming Ma)
-   HBASE-3794  Ability to Discard Bad HTable Puts
-   HBASE-3923  HBASE-1502 Broke Shell's status 'simple' and 'detailed'
-   HBASE-3978  Rowlock lease renew doesn't work when custom coprocessor
-               indicates to bypass default action (Ming Ma)
-   HBASE-3963  Schedule all log-spliiting at startup all at once (mingjian)
-   HBASE-3983  list command in shell seems broken
-   HBASE-3793  HBASE-3468 Broke checkAndPut with null value (Ming Ma)
-   HBASE-3889  NPE in Distributed Log Splitting (Anirudh Todi)
-   HBASE-4000  You can't specify split points when you create a table in
-               the shell (Joey Echeverria)
-   HBASE-4029  Inappropriate checking of Logging Mode in HRegionServer
-               (Akash Ashok via Ted Yu)
-   HBASE-4037  Add timeout annotations to preempt surefire killing
-               all tests
-   HBASE-4024  Major compaction may not be triggered, even though region
-               server log says it is triggered (Ted Yu)
-   HBASE-4016  HRegion.incrementColumnValue() doesn't have a consistent
-               behavior when the field that we are incrementing is less
-               than 8 bytes long (Li Pi)
-   HBASE-4012  Further optimize byte comparison methods (Ted Yu)
-   HBASE-4037  Add timeout annotations to preempt surefire killing
-               all tests - TestFullLogReconstruction
-   HBASE-4051  [Coprocessors] Table coprocessor loaded twice when region is
-               initialized
-   HBASE-4059  If a region is split during RS shutdown process, the daughter
-               regions are NOT made online by master
-   HBASE-3904  HBA.createTable(final HTableDescriptor desc, byte [][] splitKeys)
-               should be synchronous
-   HBASE-4053  Most of the regions were added into AssignmentManager#servers twice
-   HBASE-4061  getTableDirs is missing directories to skip
-   HBASE-3867  when cluster is stopped and server which hosted meta region is
-               removed from cluster, master breaks down after restarting cluster.
-   HBASE-4074  When a RS has hostname with uppercase letter, there are two
-               RS entries in master (Weihua via Ted Yu)
-   HBASE-4077  Deadlock if WrongRegionException is thrown from getLock in
-               HRegion.delete (Adam Warrington via Ted Yu)
-   HBASE-3893  HRegion.internalObtainRowLock shouldn't wait forever
-   HBASE-4075  A bug in TestZKBasedOpenCloseRegion (Jieshan Bean via Ted Yu)
-   HBASE-4087  HBaseAdmin should perform validation of connection it holds
-   HBASE-4052  Enabling a table after master switch does not allow table scan,
-               throwing NotServingRegionException (ramkrishna via Ted Yu)
-   HBASE-4112  Creating table may throw NullPointerException (Jinchao via Ted Yu)
-   HBASE-4093  When verifyAndAssignRoot throws exception, the deadServers state
-               cannot be changed (fulin wang via Ted Yu)
-   HBASE-4118  method regionserver.MemStore#updateColumnValue: the check for 
-               qualifier and family is missing (N Keywal via Ted Yu)
-   HBASE-4127  Don't modify table's name away in HBaseAdmin
-   HBASE-4105  Stargate does not support Content-Type: application/json and
-               Content-Encoding: gzip in parallel
-   HBASE-4116  [stargate] StringIndexOutOfBoundsException in row spec parse
-               (Allan Yan)
-   HBASE-3845  data loss because lastSeqWritten can miss memstore edits
-               (Prakash Khemani and ramkrishna.s.vasudevan)
-   HBASE-4083  If Enable table is not completed and is partial, then scanning of
-               the table is not working (ramkrishna.s.vasudevan)
-   HBASE-4138  If zookeeper.znode.parent is not specifed explicitly in Client
-               code then HTable object loops continuously waiting for the root region
-               by using /hbase as the base node.(ramkrishna.s.vasudevan)
-   HBASE-4032  HBASE-451 improperly breaks public API HRegionInfo#getTableDesc
-   HBASE-4003  Cleanup Calls Conservatively On Timeout (Karthick)
-   HBASE-3857  Fix TestHFileBlock.testBlockHeapSize test failure (Mikhail)
-   HBASE-4150  Don't enforce pool size limit with ThreadLocalPool
-               (Karthick Sankarachary via garyh)
-   HBASE-4171  HBase shell broken in trunk (Lars Hofhansl)
-   HBASE-4162  Fix TestHRegionInfo.testGetSetOfHTD: delete /tmp/hbase-<username>
-               if it already exists (Mikhail Bautin)
-   HBASE-4179  Failed to run RowCounter on top of Hadoop branch-0.22
-               (Michael Weng)
-   HBASE-4181  HConnectionManager can't find cached HRegionInterface and makes clients
-               work very slow (Jia Liu)
-   HBASE-4156  ZKConfig defaults clientPort improperly (Michajlo Matijkiw)
-   HBASE-4184  CatalogJanitor doesn't work properly when "fs.default.name" isn't
-               set in config file (Ming Ma)
-   HBASE-4186  No region is added to regionsInTransitionInRS
-   HBASE-4194  RegionSplitter: Split on under-loaded region servers first
-   HBASE-2399  Forced splits only act on the first family in a table (Ming Ma)
-   HBASE-4211  Do init-sizing of the StringBuilder making a ServerName
-               (Benoît Sigoure)
-   HBASE-4175  Fix FSUtils.createTableDescriptor() (Ramkrishna)
-   HBASE-4008  Problem while stopping HBase (Akash Ashok)
-   HBASE-4065  TableOutputFormat ignores failure to create table instance
-               (Brock Noland)
-   HBASE-4167  Potential leak of HTable instances when using HTablePool with
-               PoolType.ThreadLocal (Karthick Sankarachary)
-   HBASE-4239  HBASE-4012 introduced duplicate variable Bytes.LONG_BYTES
-   HBASE-4225  NoSuchColumnFamilyException in multi doesn't say which family
-               is bad (Ramkrishna Vasudevan)
-   HBASE-4220  Lots of DNS queries from client
-   HBASE-4253  Intermittent test failure because of missing config parameter in new
-               HTable(tablename) (Ramkrishna)
-   HBASE-4217  HRS.closeRegion should be able to close regions with only
-               the encoded name (ramkrishna.s.vasudevan)
-   HBASE-3229  HBASE-3229 Table creation, though using "async" call to master,
-               can actually run for a while and cause RPC timeout (Ming Ma)
-   HBASE-4252  TestLogRolling's low-probability failure (Jieshan Bean)
-   HBASE-4278  Race condition in Slab.java that occurs due to spinlock unlocking
-               early (Li Pi)
-   HBASE-4269  Add tests and restore semantics to TableInputFormat/TableRecordReader
-               (Jonathan Hsieh)
-   HBASE-4290  HLogSplitter doesn't mark its MonitoredTask as complete in
-               non-distributed case (todd)
-   HBASE-4303  HRegionInfo.toString has bad quoting (todd)
-   HBASE-4307  race condition in CacheTestUtils (Li Pi)
-   HBASE-4310  SlabCache metrics bugfix (Li Pi)
-   HBASE-4283  HBaseAdmin never recovers from restarted cluster (Lars Hofhansl)
-   HBASE-4315  RPC logging too verbose (todd)
-   HBASE-4273  java.lang.NullPointerException when a table is being disabled and
-               HMaster restarts (Ming Ma)
-   HBASE-4027  Off Heap Cache never creates Slabs (Li Pi)
-   HBASE-4265  zookeeper.KeeperException$NodeExistsException if HMaster restarts
-               while table is being disabled (Ming Ma)
-   HBASE-4338  Package build for rpm and deb are broken (Eric Yang)
-   HBASE-4309  slow query log metrics spewing warnings (Riley Patterson)
-   HBASE-4302  Only run Snappy compression tests if Snappy is available
-               (Alejandro Abdelnur via todd)
-   HBASE-4271  Clean up coprocessor handling of table operations
-               (Ming Ma via garyh)
-   HBASE-4341  HRS#closeAllRegions should take care of HRS#onlineRegions's
-               weak consistency (Jieshan Bean)
-   HBASE-4297  TableMapReduceUtil overwrites user supplied options
-               (Jan Lukavsky)
-   HBASE-4015  Refactor the TimeoutMonitor to make it less racy
-               (ramkrishna.s.vasudevan)
-   HBASE-4350  Fix a Bloom filter bug introduced by HFile v2 and
-               TestMultiColumnScanner that caught it (Mikhail Bautin)
-   HBASE-4007  distributed log splitting can get indefinitely stuck
-               (Prakash Khemani)
-   HBASE-4301  META migration from 0.90 to trunk fails (Subbu Iyer)
-   HBASE-4331  Bypassing default actions in prePut fails sometimes with
-               HTable client (Lars Hofhansl via garyh)
-   HBASE-4340  Hbase can't balance if ServerShutdownHandler encountered
-               exception (Jinchao Gao)
-   HBASE-4394  Add support for seeking hints to FilterList
-   HBASE-4406  TestOpenRegionHandler failing after HBASE-4287 (todd)
-   HBASE-4330  Fix races in slab cache (Li Pi & Todd)
-   HBASE-4383  SlabCache reports negative heap sizes (Li Pi)
-   HBASE-4351  If from Admin we try to unassign a region forcefully,
-               though a valid region name is given the master is not able
-               to identify the region to unassign (Ramkrishna)
-   HBASE-4363  [replication] ReplicationSource won't close if failing
-               to contact the sink (JD and Lars Hofhansl)
-   HBASE-4390  [replication] ReplicationSource's UncaughtExceptionHandler
-               shouldn't join
-   HBASE-4395  EnableTableHandler races with itself
-   HBASE-4414  Region splits by size not being triggered
-   HBASE-4322  HBASE-4322 [hbck] Update checkIntegrity/checkRegionChain
-               to present more accurate region split problem 
-               (Jon Hseih)
-   HBASE-4417  HBaseAdmin.checkHBaseAvailable() doesn't close ZooKeeper connections
-               (Stefan Seelmann)
-   HBASE-4195  Possible inconsistency in a memstore read after a reseek,
-               possible performance improvement (nkeywal)
-   HBASE-4420  MasterObserver preMove() and postMove() should throw
-               IOException instead of UnknownRegionException
-   HBASE-4419  Resolve build warning messages (Praveen Patibandia)
-   HBASE-4428  Two methods in CacheTestUtils don't call setDaemon() on the threads
-   HBASE-4400  .META. getting stuck if RS hosting it is dead and znode state is in
-               RS_ZK_REGION_OPENED (Ramkrishna)
-   HBASE-3421  Very wide rows -- 30M plus -- cause us OOME (Nate Putnam)
-   HBASE-4153  Handle RegionAlreadyInTransitionException in AssignmentManager
-               (Ramkrishna)
-   HBASE-4452  Possibility of RS opening a region though tickleOpening fails due to
-               znode version mismatch (Ramkrishna)
-   HBASE-4446  Rolling restart RSs scenario, regions could stay in OPENING state
-               (Ming Ma)
-   HBASE-4468  Wrong resource name in an error massage: webapps instead of
-               hbase-webapps (nkeywal)
-   HBASE-4472  MiniHBaseCluster.shutdown() doesn't work if no active master
-   HBASE-4455  Rolling restart RSs scenario, -ROOT-, .META. regions are lost in
-               AssignmentManager (Ming Ma)
-   HBASE-4513  NOTICES.txt refers to Facebook for Thrift
-   HBASE-3130  [replication] ReplicationSource can't recover from session
-               expired on remote clusters (Chris Trezzo via JD)
-   HBASE-4212  TestMasterFailover fails occasionally (Gao Jinchao)
-   HBASE-4412  No need to retry scan operation on the same server in case of
-               RegionServerStoppedException (Ming Ma)
-   HBASE-4476  Compactions must fail if column tracker gets columns out of order
-               (Mikhail Bautin)
-   HBASE-4209  The HBase hbase-daemon.sh SIGKILLs master when stopping it
-               (Roman Shaposhnik)
-   HBASE-4496  HFile V2 does not honor setCacheBlocks when scanning (Lars and Mikhail)
-   HBASE-4531  hbase-4454 failsafe broke mvn site; back it out or fix
-               (Akash Ashok)
-   HBASE-4334  HRegion.get never validates row (Lars Hofhansl)
-   HBASE-4494  AvroServer:: get fails with NPE on a non-existent row
-               (Kay Kay)
-   HBASE-4481  TestMergeTool failed in 0.92 build 20
-   HBASE-4386  Fix a potential NPE in TaskMonitor (todd)
-   HBASE-4402  Retaining locality after restart broken
-   HBASE-4482  Race Condition Concerning Eviction in SlabCache (Li Pi)
-   HBASE-4547  TestAdmin failing in 0.92 because .tableinfo not found
-   HBASE-4540  OpenedRegionHandler is not enforcing atomicity of the operation
-               it is performing(Ram)
-   HBASE-4335  Splits can create temporary holes in .META. that confuse clients
-               and regionservers (Lars H)
-   HBASE-4555  TestShell seems passed, but actually errors seen in test output
-               file (Mingjie Lai)
-   HBASE-4582  Store.java cleanup (failing TestHeapSize and has warnings)
-   HBASE-4556  Fix all incorrect uses of InternalScanner.next(...) (Lars H)
-   HBASE-4078  Validate store files after flush/compaction
-   HBASE-3417  CacheOnWrite is using the temporary output path for block
-               names, need to use a more consistent block naming scheme (jgray)
-   HBASE-4551  Fix pom and some test cases to compile and run against
-               Hadoop 0.23 (todd)
-   HBASE-3446  ProcessServerShutdown fails if META moves, orphaning lots of
-               regions
-   HBASE-4589  CacheOnWrite broken in some cases because it can conflict
-               with evictOnClose (jgray)
-   HBASE-4579  CST.requestCompaction semantics changed, logs are now
-               spammed when too many store files
-   HBASE-4620  I broke the build when I submitted HBASE-3581 (Send length
-               of the rpc response)
-   HBASE-4621  TestAvroServer fails quite often intermittently (Akash Ashok)
-   HBASE-4378  [hbck] Does not complain about regions with startkey==endkey.
-               (Jonathan Hsieh)
-   HBASE-4459  HbaseObjectWritable code is a byte, we will eventually run out of codes
-   HBASE-4430  Disable TestSlabCache and TestSingleSizedCache temporarily to
-               see if these are cause of build box failure though all tests
-               pass (Li Pi)
-   HBASE-4510  Check and workaround usage of internal HDFS APIs in HBase
-               (Harsh)
-   HBASE-4595  HFilePrettyPrinter Scanned kv count always 0 (Matteo Bertozzi)
-   HBASE-4580  Some invalid zk nodes were created when a clean cluster restarts
-               (Gaojinchao)
-   HBASE-4588  The floating point arithmetic to validate memory allocation
-               configurations need to be done as integers (dhruba)
-   HBASE-4647  RAT finds about 40 files missing licenses
-   HBASE-4642  Add Apache License Header
-   HBASE-4591  TTL for old HLogs should be calculated from last modification time.
-   HBASE-4578  NPE when altering a table that has moving regions (gaojinchao)
-   HBASE-4070  Improve region server metrics to report loaded coprocessors to
-               master (Eugene Koontz via apurtell)
-   HBASE-3512  Shell support for listing currently loaded coprocessors (Eugene
-               Koontz via apurtell)
-   HBASE-4670  Fix javadoc warnings
-   HBASE-4367  Deadlock in MemStore flusher due to JDK internally synchronizing
-               on current thread
-   HBASE-4645  Edits Log recovery losing data across column families
-   HBASE-4634  "test.build.data" property overused leading to write data at the
-               wrong place (nkeywal)
-   HBASE-4388  Second start after migration from 90 to trunk crashes
-   HBASE-4685  TestDistributedLogSplitting.testOrphanLogCreation failing because
-               of ArithmeticException: / by zero.
-   HBASE-4300  Start of new-version master fails if old master's znode is
-               hanging around
-   HBASE-4679  Thrift null mutation error
-   HBASE-4304  requestsPerSecond counter stuck at 0 (Li Pi)
-   HBASE-4692  HBASE-4300 broke the build
-   HBASE-4641  Block cache can be mistakenly instantiated on Master (jgray)
-   HBASE-4687  regionserver may miss zk-heartbeats to master when replaying
-               edits at region open (prakash via jgray)
-   HBASE-4701  TestMasterObserver fails up on jenkins
-   HBASE-4700  TestSplitTransactionOnCluster fails on occasion when it tries
-               to move a region
-   HBASE-4613  hbase.util.Threads#threadDumpingIsAlive sleeps 1 second,
-               slowing down the shutdown by 0.5s
-   HBASE-4552  multi-CF bulk load is not atomic across column families (Jonathan Hsieh)
-   HBASE-4710  UnknownProtocolException should abort client retries
-   HBASE-4695  WAL logs get deleted before region server can fully flush
-               (gaojinchao)
-   HBASE-4708  Revert safemode related pieces of hbase-4510 (Harsh J)
-   HBASE-3515  [replication] ReplicationSource can miss a log after RS comes out of GC
-   HBASE-4713  Raise debug level to warn on ExecutionException in
-               HConnectionManager$HConnectionImplementation (Lucian George Iordache)
-   HBASE-4716  Improve locking for single column family bulk load
-   HBASE-4609  ThriftServer.getRegionInfo() is expecting old ServerName format, need to
-               use new Addressing class instead (Jonathan Gray)
-   HBASE-4719  HBase script assumes pre-Hadoop 0.21 layout of jar files
-               (Roman Shposhnik)
-   HBASE-4553  The update of .tableinfo is not atomic; we remove then rename
-   HBASE-4725  NPE in AM#updateTimers
-   HBASE-4745  LRU statistics thread should be a daemon
-   HBASE-4749  TestMasterFailover#testMasterFailoverWithMockedRITOnDeadRS
-               occasionally fails
-   HBASE-4753  org.apache.hadoop.hbase.regionserver.TestHRegionInfo#testGetSetOfHTD
-               throws NPE on trunk (nkeywal)
-   HBASE-4754  FSTableDescriptors.getTableInfoPath() should handle FileNotFoundException
-   HBASE-4740  [bulk load] the HBASE-4552 API can't tell if errors on region server are recoverable
-               (Jonathan Hsieh)
-   HBASE-4741  Online schema change doesn't return errors
-   HBASE-4734  [bulk load] Warn if bulk load directory contained no files
-   HBASE-4723  Loads of NotAllMetaRegionsOnlineException traces when starting
-               the master
-   HBASE-4511  There is data loss when master failovers
-   HBASE-4577  Region server reports storefileSizeMB bigger than
-               storefileUncompressedSizeMB (gaojinchao)
-   HBASE-4478  Improve AssignmentManager.handleRegion so that it can process certain ZK state
-               in the case of RS offline
-   HBASE-4777  Write back to client 'incompatible' if we show up with wrong version
-   HBASE-4775  Remove -ea from all but tests; enable it if you need it testing
-   HBASE-4784  Void return types not handled correctly for CoprocessorProtocol
-               methods
-   HBASE-4792  SplitRegionHandler doesn't care if it deletes the znode or not,
-               leaves the parent region stuck offline
-   HBASE-4793  HBase shell still using deprecated methods removed in HBASE-4436
-   HBASE-4801  alter_status shell prints sensible message at completion
-   HBASE-4796  Race between SplitRegionHandlers for the same region kills the master
-   HBASE-4816  Regionserver wouldn't go down because split happened exactly at same
-               time we issued bulk user region close call on our way out
-   HBASE-4815  Disable online altering by default, create a config for it
-   HBASE-4623  Remove @deprecated Scan methods in 0.90 from TRUNK and 0.92
-   HBASE-4842  [hbck] Fix intermittent failures on TestHBaseFsck.testHBaseFsck
-               (Jon Hsieh)
-   HBASE-4308  Race between RegionOpenedHandler and AssignmentManager (Ram)
-   HBASE-4857  Recursive loop on KeeperException in
-               AuthenticationTokenSecretManager/ZKLeaderManager
-   HBASE-4739  Master dying while going to close a region can leave it in transition
-               forever (Gao Jinchao)
-   HBASE-4855  SplitLogManager hangs on cluster restart due to batch.installed doubly counted
-   HBASE-4877  TestHCM failing sporadically on jenkins and always for me on an
-               ubuntu machine
-   HBASE-4878  Master crash when splitting hlog may cause data loss (Chunhui Shen)
-   HBASE-4945  NPE in HRegion.bulkLoadHFiles (Andrew P and Lars H)
-   HBASE-4942  HMaster is unable to start of HFile V1 is used (Honghua Zhu)
-   HBASE-4610  Port HBASE-3380 (Master failover can split logs of live servers) to 92/trunk
-   HBASE-4946  HTable.coprocessorExec (and possibly coprocessorProxy) does not work with
-               dynamically loaded coprocessors (Andrei Dragomir)
-   HBASE-5026  Add coprocessor hook to HRegionServer.ScannerListener.leaseExpired()
-   HBASE-4935  hbase 0.92.0 doesn't work going against 0.20.205.0, its packaged hadoop
-   HBASE-5078  DistributedLogSplitter failing to split file because it has edits for
-               lots of regions
-   HBASE-5077  SplitLogWorker fails to let go of a task, kills the RS
-   HBASE-5096  Replication does not handle deletes correctly. (Lars H)
-   HBASE-5103  Fix improper master znode deserialization (Jonathan Hsieh)
-   HBASE-5099  ZK event thread waiting for root region assignment may block server
-               shutdown handler for the region sever the root region was on (Jimmy)
-   HBASE-5100  Rollback of split could cause closed region to be opened again (Chunhui)
-   HBASE-4397  -ROOT-, .META. tables stay offline for too long in recovery phase after all RSs
-               are shutdown at the same time (Ming Ma)
-   HBASE-5094  The META can hold an entry for a region with a different server name from the one  
-               actually in the AssignmentManager thus making the region inaccessible. (Ram)
-   HBASE-5081  Distributed log splitting deleteNode races against splitLog retry (Prakash)
-   HBASE-4357  Region stayed in transition - in closing state (Ming Ma)
-   HBASE-5088  A concurrency issue on SoftValueSortedMap (Jieshan Bean and Lars H)
-   HBASE-5152  Region is on service before completing initialization when doing rollback of split,
-               it will affect read correctness (Chunhui)
-   HBASE-5137  MasterFileSystem.splitLog() should abort even if waitOnSafeMode() throws IOException(Ted)
-   HBASE-5121  MajorCompaction may affect scan's correctness (chunhui shen and Lars H)
-   HBASE-5143  Fix config typo in pluggable load balancer factory (Harsh J)
-   HBASE-5196  Failure in region split after PONR could cause region hole (Jimmy Xiang)
-
-  TESTS
-   HBASE-4450  test for number of blocks read: to serve as baseline for expected
-               blocks read and for catching regressions (Kannan)
-   HBASE-4492  TestRollingRestart fails intermittently (Ted Yu and Ram)
-   HBASE-4512  JVMClusterUtil throwing wrong exception when master thread cannot be created (Ram)
-   HBASE-4479  TestMasterFailover failure in Hbase-0.92#17(Ram)
-   HBASE-4651  ConcurrentModificationException might be thrown in
-               TestHCM.testConnectionUniqueness (Jinchao)
-   HBASE-4518  TestServerCustomProtocol fails intermittently
-   HBASE-4790  Occasional TestDistributedLogSplitting failure (Jinchao)
-   HBASE-4864  TestMasterObserver#testRegionTransitionOperations occasionally
-               fails (Gao Jinchao)
-   HBASE-4868  TestOfflineMetaRebuildBase#testMetaRebuild occasionally fails
-               (Gao Jinchao)
-   HBASE-4874  Run tests with non-secure random, some tests hang otherwise (Lars H)
-   HBASE-5112  TestReplication#queueFailover flaky due to potentially
-               uninitialized Scan (Jimmy Xiang)
-   HBASE-5113  TestDrainingServer expects round robin region assignment but misses a
-               config parameter
-   HBASE-5105  TestImportTsv failed with hadoop 0.22 (Ming Ma)
-
-  IMPROVEMENTS
-   HBASE-3290  Max Compaction Size (Nicolas Spiegelberg via Stack)  
-   HBASE-3292  Expose block cache hit/miss/evict counts into region server
-               metrics
-   HBASE-2936  Differentiate between daemon & restart sleep periods
-   HBASE-3316  Add support for Java Serialization to HbaseObjectWritable
-               (Ed Kohlwey via Stack)
-   HBASE-1861  Multi-Family support for bulk upload tools
-   HBASE-3308  SplitTransaction.splitStoreFiles slows splits a lot
-   HBASE-3328  Added Admin API to specify explicit split points
-   HBASE-3377  Upgrade Jetty to 6.1.26
-   HBASE-3393  Update Avro gateway to use Avro 1.4.1 and the new
-               server.join() method (Jeff Hammerbacher via Stack)
-   HBASE-3433  KeyValue API to explicitly distinguish between deep & shallow
-               copies
-   HBASE-3522  Unbundle our RPC versioning; rather than a global for all 4
-               Interfaces -- region, master, region to master, and
-               coprocesssors -- instead version each individually
-   HBASE-3520  Update our bundled hadoop from branch-0.20-append to latest
-               (rpc version 43)
-   HBASE-3563  [site] Add one-page-only version of hbase doc
-   HBASE-3564  DemoClient.pl - a demo client in Perl
-   HBASE-3560  the hbase-default entry of "hbase.defaults.for.version" 
-               causes tests not to run via not-maven
-   HBASE-3513  upgrade thrift to 0.5.0 and use mvn version
-   HBASE-3533  Allow HBASE_LIBRARY_PATH env var to specify extra locations
-               of native lib
-   HBASE-3631  CLONE - HBase 2984 breaks ability to specify BLOOMFILTER &
-               COMPRESSION via shell
-   HBASE-3630  DemoClient.Java is outdated (Moaz Reyed via Stack)
-   HBASE-3618  Add to HBase book, 'schema' chapter - pre-creating regions and
-               key types (Doug Meil via Stack)
-   HBASE-2495  Allow record filtering with selected row key values in HBase
-               Export (Subbu M Iyer via Stack)
-   HBASE-3440  Clean out load_table.rb and make sure all roads lead to
-               completebulkload tool (Vidhyashankar Venkataraman via Stack)
-   HBASE-3653  Parallelize Server Requests on HBase Client
-   HBASE-3657  reduce copying of HRegionInfo's (Ted Yu via Stack)
-   HBASE-3422  Balancer will try to rebalance thousands of regions in one go;
-               needs an upper bound added (Ted Yu via Stack)
-   HBASE-3676  Update region server load for AssignmentManager through
-               regionServerReport() (Ted Yu via Stack)
-   HBASE-3468  Enhance checkAndPut and checkAndDelete with comparators
-   HBASE-3683  NMapInputFormat should use a different config param for
-               number of maps
-   HBASE-3673  Reduce HTable Pool Contention Using Concurrent Collections
-               (Karthick Sankarachary via Stack)
-   HBASE-3474  HFileOutputFormat to use column family's compression algorithm
-   HBASE-3541  REST Multi Gets (Elliott Clark via Stack)
-   HBASE-3052  Add ability to have multiple ZK servers in a quorum in
-               MiniZooKeeperCluster for test writing (Liyin Tang via Stack)
-   HBASE-3693  isMajorCompaction() check triggers lots of listStatus DFS RPC
-               calls from HBase (Liyin Tang via Stack)
-   HBASE-3717  deprecate HTable isTableEnabled() methods in favor of
-               HBaseAdmin methods (David Butler via Stack)
-   HBASE-3720  Book.xml - porting conceptual-view / physical-view sections of
-               HBaseArchitecture wiki (Doug Meil via Stack)
-   HBASE-3705  Allow passing timestamp into importtsv (Andy Sautins via Stack)
-   HBASE-3715  Book.xml - adding architecture section on client, adding section
-               on spec-ex under mapreduce (Doug Meil via Stack)
-   HBASE-3684  Support column range filter (Jerry Chen via Stack)
-   HBASE-3647  Distinguish read and write request count in region
-               (Ted Yu via Stack)
-   HBASE-3704  Show per region request count in table.jsp
-               (Ted Yu via Stack)
-   HBASE-3694  high multiput latency due to checking global mem store size
-               in a synchronized function (Liyin Tang via Stack)
-   HBASE-3710  Book.xml - fill out descriptions of metrics
-               (Doug Meil via Stack)
-   HBASE-3738  Book.xml - expanding Architecture Client section
-               (Doug Meil via Stack)
-   HBASE-3587  Eliminate use of read-write lock to guard loaded
-               coprocessor collection
-   HBASE-3729  Get cells via shell with a time range predicate
-               (Ted Yu via Stack)
-   HBASE-3764  Book.xml - adding 2 FAQs (SQL and arch question)
-   HBASE-3770  Make FilterList accept var arg Filters in its constructor
-               as a convenience (Erik Onnen via Stack)
-   HBASE-3769  TableMapReduceUtil is inconsistent with other table-related
-               classes that accept byte[] as a table name (Erik Onnen via Stack)
-   HBASE-3768  Add best practice to book for loading row key only
-               (Erik Onnen via Stack)
-   HBASE-3765  metrics.xml - small format change and adding nav to hbase
-               book metrics section (Doug Meil)
-   HBASE-3759  Eliminate use of ThreadLocals for CoprocessorEnvironment
-               bypass() and complete() 
-   HBASE-3701  revisit ArrayList creation (Ted Yu via Stack)
-   HBASE-3753  Book.xml - architecture, adding more Store info (Doug Meil)
-   HBASE-3784  book.xml - adding small subsection in architecture/client on
-               filters (Doug Meil)
-   HBASE-3785  book.xml - moving WAL into architecture section, plus adding
-               more description on what it does (Doug Meil)
-   HBASE-3699  Make RegionServerServices and MasterServices extend Server
-               (Erik Onnen)
-   HBASE-3757  Upgrade to ZK 3.3.3
-   HBASE-3609  Improve the selection of regions to balance; part 2 (Ted Yu)
-   HBASE-2939  Allow Client-Side Connection Pooling (Karthik Sankarachary)
-   HBASE-3798  [REST] Allow representation to elide row key and column key
-   HBASE-3812  Tidy up naming consistency and documentation in coprocessor
-               framework (Mingjie Lai)
-   HBASE-1512  Support aggregate functions (Himanshu Vashishtha)
-   HBASE-3796  Per-Store Enties in Compaction Queue
-   HBASE-3670  Fix error handling in get(List<Get> gets)
-               (Harsh J Chouraria)
-   HBASE-3835  Switch master and region server pages to Jamon-based templates
-   HBASE-3721  Speedup LoadIncrementalHFiles (Ted Yu)
-   HBASE-3855  Performance degradation of memstore because reseek is linear
-               (dhruba borthakur)
-   HBASE-3797  StoreFile Level Compaction Locking
-   HBASE-1476  Multithreaded Compactions
-   HBASE-3877  Determine Proper Defaults for Compaction ThreadPools
-   HBASE-3880  Make mapper function in ImportTSV plug-able (Bill Graham)
-   HBASE-2938  HBASE-2938 Add Thread-Local Behavior To HTable Pool
-               (Karthick Sankarachary)
-   HBASE-3811  Allow adding attributes to Scan (Alex Baranau)
-   HBASE-3841  HTable and HTableInterface docs are inconsistent with
-               one another (Harsh J Chouraria)
-   HBASE-2937  Facilitate Timeouts In HBase Client (Karthick Sankarachary)
-   HBASE-3921  Allow adding arbitrary blobs to Put (dhruba borthakur)
-   HBASE-3931  Allow adding attributes to Get
-   HBASE-3942  The thrift scannerOpen functions should support row caching
-               (Adam Worthington)
-   HBASE-2556  Add convenience method to HBaseAdmin to get a collection of
-               HRegionInfo objects for each table (Ming Ma)
-   HBASE-3952  Guava snuck back in as a dependency via hbase-3777
-   HBASE-3808  Implement Executor.toString for master handlers at least
-               (Brock Noland)
-   HBASE-3873  Mavenize Hadoop Snappy JAR/SOs project dependencies
-               (Alejandro Abdelnur)
-   HBASE-3941  "hbase version" command line should print version info
-               (Jolly Chen)
-   HBASE-3961  Add Delete.setWriteToWAL functionality (Bruno Dumon)
-   HBASE-3928  Some potential performance improvements to Bytes/KeyValue
-   HBASE-3982  Improvements to TestHFileSeek
-   HBASE-3940  HBase daemons should log version info at startup and possibly
-               periodically (Li Pi)
-   HBASE-3789  Cleanup the locking contention in the master
-   HBASE-3927  Display total uncompressed byte size of a region in web UI
-   HBASE-4011  New MasterObserver hook: post startup of active master
-   HBASE-3994  SplitTransaction has a window where clients can
-               get RegionOfflineException
-   HBASE-4010  HMaster.createTable could be heavily optimized
-   HBASE-3506  Ability to disable, drop and enable tables using regex expression
-               (Joey Echeverria via Ted Yu)
-   HBASE-3516  Coprocessors: add test cases for loading coprocessor jars
-               (Mingjie Lai via garyh)
-   HBASE-4036  Implementing a MultipleColumnPrefixFilter (Anirudh Todi)
-   HBASE-4048  [Coprocessors] Support configuration of coprocessor at load time
-   HBASE-3240  Improve documentation of importtsv and bulk loads.
-               (Aaron T. Myers via todd)
-   HBASE-4054  Usability improvement to HTablePool (Daniel Iancu)
-   HBASE-4079  HTableUtil - helper class for loading data (Doug Meil via Ted Yu)
-   HBASE-3871  Speedup LoadIncrementalHFiles by parallelizing HFile splitting
-   HBASE-4081  Issues with HRegion.compactStores methods (Ming Ma)
-   HBASE-3465  Hbase should use a HADOOP_HOME environment variable if available
-               (Alejandro Abdelnur)
-   HBASE-3899  enhance HBase RPC to support free-ing up server handler threads
-               even if response is not ready (Vlad Dogaru)
-   HBASE-4142  Advise against large batches in javadoc for HTable#put(List<Put>)
-   HBASE-4139  [stargate] Update ScannerModel with support for filter package
-               additions
-   HBASE-1938  Make in-memory table scanning faster (nkeywal)
-   HBASE-4143  HTable.doPut(List) should check the writebuffer length every so often
-               (Doug Meil via Ted Yu)
-   HBASE-3065  Retry all 'retryable' zk operations; e.g. connection loss (Liyin Tang)
-   HBASE-3810  Registering a coprocessor in HTableDescriptor should be easier
-               (Mingjie Lai via garyh)
-   HBASE-4158  Upgrade pom.xml to surefire 2.9 (Aaron Kushner & Mikhail)
-   HBASE-3899  Add ability for delayed RPC calls to set return value
-               immediately at call return. (Vlad Dogaru via todd)
-   HBASE-4169  FSUtils LeaseRecovery for non HDFS FileSystems (Lohit Vijayarenu)
-   HBASE-3807  Fix units in RS UI metrics (subramanian raghunathan)
-   HBASE-4193  Enhance RPC debug logging to provide more details on
-               call contents
-   HBASE-4190  Coprocessors: pull up some cp constants from cp package to
-               o.a.h.h.HConstants (Mingjie Lai)
-   HBASE-4227  Modify the webUI so that default values of column families are
-               not shown (Nileema Shingte)
-   HBASE-4229  Replace Jettison JSON encoding with Jackson in HLogPrettyPrinter
-               (Riley Patterson)
-   HBASE-4230  Compaction threads need names
-   HBASE-4236  Don't lock the stream while serializing the response (Benoit Sigoure)
-   HBASE-4237  Directly remove the call being handled from the map of outstanding RPCs
-               (Benoit Sigoure)
-   HBASE-4199  blockCache summary - backend (Doug Meil)
-   HBASE-4240  Allow Loadbalancer to be pluggable
-   HBASE-4244  Refactor bin/hbase help
-   HBASE-4241  Optimize flushing of the Memstore (Lars Hofhansl)
-   HBASE-4248  Enhancements for Filter Language exposing HBase filters through
-               the Thrift API (Anirudh Todi)
-   HBASE-3900  Expose progress of a major compaction in UI and/or in shell
-               (Brad Anderson)
-   HBASE-4291  Improve display of regions in transition in UI to be more
-               readable (todd)
-   HBASE-4281  Add facility to dump current state of all executors (todd)
-   HBASE-4275  RS should communicate fatal "aborts" back to the master (todd)
-   HBASE-4263  New config property for user-table only RegionObservers
-               (Lars Hofhansl)
-   HBASE-4257  Limit the number of regions in transitions displayed on
-               master webpage. (todd)
-   HBASE-1730  Online Schema Changes
-   HBASE-4206  jenkins hash implementation uses longs unnecessarily
-               (Ron Yang)
-   HBASE-3842  Refactor Coprocessor Compaction API
-   HBASE-4312  Deploy new hbase logo
-   HBASE-4327  Compile HBase against hadoop 0.22 (Joep Rottinghuis)
-   HBASE-4339  Improve eclipse documentation and project file generation
-               (Eric Charles)
-   HBASE-4342  Update Thrift to 0.7.0 (Moaz Reyad)
-   HBASE-4260  Expose a command to manually trigger an HLog roll
-               (ramkrishna.s.vasudevan)
-   HBASE-4347  Remove duplicated code from Put, Delete, Get, Scan, MultiPut
-               (Lars Hofhansl)
-   HBASE-4359  Show dead RegionServer names in the HMaster info page
-               (Harsh J)
-   HBASE-4287  If region opening fails, change region in transition into
-               a FAILED_OPEN state so that it can be retried quickly. (todd)
-   HBASE-4381  Refactor split decisions into a split policy class. (todd)
-   HBASE-4373  HBaseAdmin.assign() does not use force flag (Ramkrishna)
-   HBASE-4425  Provide access to RpcServer instance from RegionServerServices
-   HBASE-4411  When copying tables/CFs, allow CF names to be changed
-               (David Revell)
-   HBASE-4424  Provide coprocessors access to createTable() via 
-               MasterServices
-   HBASE-4432  Enable/Disable off heap cache with config (Li Pi)
-   HBASE-4434  seek optimization: don't do eager HFile Scanner
-               next() unless the next KV is needed
-               (Kannan Muthukkaruppan)
-   HBASE-4280  [replication] ReplicationSink can deadlock itself via handlers
-   HBASE-4014  Coprocessors: Flag the presence of coprocessors in logged
-               exceptions (Eugene Koontz)
-   HBASE-4449  LoadIncrementalHFiles should be able to handle CFs with blooms
-               (David Revell)
-   HBASE-4454  Add failsafe plugin to build and rename integration tests
-               (Jesse Yates)
-   HBASE-4499  [replication] Source shouldn't update ZK if it didn't progress
-               (Chris Trezzo via JD)
-   HBASE-2794  Utilize ROWCOL bloom filter if multiple columns within same family
-               are requested in a Get (Mikhail Bautin)
-   HBASE-4487  The increment operation can release the rowlock before sync-ing
-               the Hlog (dhruba borthakur)
-   HBASE-4526  special case for stopping master in hbase-daemon.sh is no longer
-               required (Roman Shaposhnik)
-   HBASE-4520  Better handling of Bloom filter type discrepancy between HFile
-               and CF config (Mikhail Bautin)
-   HBASE-4558  Refactor TestOpenedRegionHandler and TestOpenRegionHandler.(Ram)
-   HBASE-4558  Addendum for TestMasterFailover (Ram) - Breaks the build
-   HBASE-4568  Make zk dump jsp response faster
-   HBASE-4606  Remove spam in HCM and fix a list.size == 0
-   HBASE-3581  hbase rpc should send size of response
-   HBASE-4585  Avoid seek operation when current kv is deleted(Liyin Tang)
-   HBASE-4486  Improve Javadoc for HTableDescriptor (Akash Ashok)
-   HBASE-4604  hbase.client.TestHTablePool could start a single
-               cluster instead of one per method (nkeywal)
-   HBASE-3929  Add option to HFile tool to produce basic stats (Matteo
-               Bertozzi and todd via todd)
-   HBASE-4694  Some cleanup of log messages in RS and M
-   HBASE-4603  Uneeded sleep time for tests in
-               hbase.master.ServerManager#waitForRegionServers (nkeywal)
-   HBASE-4703  Improvements in tests (nkeywal)
-   HBASE-4611  Add support for Phabricator/Differential as an alternative code review tool
-   HBASE-3939  Some crossports of Hadoop IPC fixes
-   HBASE-4756  Enable tab-completion in HBase shell (Ryan Thiessen)
-   HBASE-4759  Migrate from JUnit 4.8.2 to JUnit 4.10 (nkeywal)
-   HBASE-4554  Allow set/unset coprocessor table attributes from shell
-               (Mingjie Lai)
-   HBASE-4779  TestHTablePool, TestScanWithBloomError, TestRegionSplitCalculator are
-               not tagged and TestPoolMap should not use TestSuite (N Keywal)
-   HBASE-4805  Allow better control of resource consumption in HTable (Lars H)
-   HBASE-4903  Return a result from RegionObserver.preIncrement
-               (Daniel Gómez Ferro via Lars H)
-   HBASE-4683  Always cache index and bloom blocks
-
-  TASKS
-   HBASE-3559  Move report of split to master OFF the heartbeat channel
-   HBASE-3573  Move shutdown messaging OFF hearbeat; prereq for fix of
-               hbase-1502
-   HBASE-3071  Graceful decommissioning of a regionserver
-   HBASE-3970  Address HMaster crash/failure half way through meta migration
-               (Subbu M Iyer)
-   HBASE-4013  Make ZooKeeperListener Abstract (Akash Ashok via Ted Yu)
-   HBASE-4025  Server startup fails during startup due to failure in loading
-               all table descriptors. (Subbu Iyer via Ted Yu)
-   HBASE-4017  BlockCache interface should be truly modular (Li Pi)
-   HBASE-4152  Rename o.a.h.h.regionserver.wal.WALObserver to
-               o.a.h.h.regionserver.wal.WALActionsListener
-   HBASE-4039  Users should be able to choose custom TableInputFormats without
-               modifying TableMapReduceUtil.initTableMapperJob() (Brock Noland)
-   HBASE-4185  Add doc for new hfilev2 format
-   HBASE-4315  RS requestsPerSecond counter seems to be off (subramanian raghunathan)
-   HBASE-4289  Move spinlock to SingleSizeCache rather than the slab allocator
-               (Li Pi)
-   HBASE-4296  Deprecate HTable[Interface].getRowOrBefore(...) (Lars Hofhansl)
-   HBASE-2195  Support cyclic replication (Lars Hofhansl)
-   HBASE-2196  Support more than one slave cluster (Lars Hofhansl)
-   HBASE-4429  Provide synchronous balanceSwitch()
-   HBASE-4437  Update hadoop in 0.92 (0.20.205?)
-   HBASE-4656  Note how dfs.support.append has to be enabled in 0.20.205.0
-               clusters
-   HBASE-4699  Cleanup the UIs
-   HBASE-4552  Remove trivial 0.90 deprecated code from 0.92 and trunk.
-               (Jonathan Hsieh)
-   HBASE-4714  Don't ship w/ icms enabled by default
-   HBASE-4747  Upgrade maven surefire plugin to 2.10
-   HBASE-4288  "Server not running" exception during meta verification causes RS abort
-   HBASE-4856  Upgrade zookeeper to 3.4.0 release
-   HBASE-5111  Upgrade zookeeper to 3.4.2 release
-   HBASE-5125  Upgrade hadoop to 1.0.0
-
-  NEW FEATURES
-   HBASE-2001  Coprocessors: Colocate user code with regions (Mingjie Lai via
-               Andrew Purtell)
-   HBASE-3287  Add option to cache blocks on hfile write and evict blocks on
-               hfile close
-   HBASE-3335  Add BitComparator for filtering (Nathaniel Cook via Stack)
-   HBASE-3260  Coprocessors: Add explicit lifecycle management
-   HBASE-3256  Coprocessors: Coprocessor host and observer for HMaster
-   HBASE-3345  Coprocessors: Allow observers to completely override base
-               function
-   HBASE-2824  A filter that randomly includes rows based on a configured
-               chance (Ferdy via Andrew Purtell)
-   HBASE-3455  Add memstore-local allocation buffers to combat heap
-               fragmentation in the region server. Enabled by default as of
-               0.91
-   HBASE-3257  Coprocessors: Extend server side API to include HLog operations
-               (Mingjie Lai via Andrew Purtell)
-   HBASE-3606  Create an package integration project (Eric Yang via Ryan)
-   HBASE-3488  Add CellCounter to count multiple versions of rows
-               (Subbu M. Iyer via Stack)
-   HBASE-1364  [performance] Distributed splitting of regionserver commit logs
-               (Prakash Khemani)
-   HBASE-3836  Add facility to track currently progressing actions and
-               workflows. (todd)
-   HBASE-3837  Show regions in transition on the master web page (todd)
-   HBASE-3839  Add monitoring of currently running tasks to the master and
-               RS web UIs
-   HBASE-3691  Add compressor support for 'snappy', google's compressor
-               (Nichole Treadway and Nicholas Telford)
-   HBASE-2233  Support both Hadoop 0.20 and 0.22
-   HBASE-3857  Change the HFile Format (Mikhail & Liyin)
-   HBASE-4114  Metrics for HFile HDFS block locality (Ming Ma)
-   HBASE-4176  Exposing HBase Filters to the Thrift API (Anirudh Todi)
-   HBASE-4221  Changes necessary to build and run against Hadoop 0.23
-               (todd)
-   HBASE-4071  Data GC: Remove all versions > TTL EXCEPT the last
-               written version (Lars Hofhansl)
-   HBASE-4242  Add documentation for HBASE-4071 (Lars Hofhansl)
-   HBASE-4027  Enable direct byte buffers LruBlockCache (Li Pi)
-   HBASE-4117  Slow Query Log and Client Operation Fingerprints
-               (Riley Patterson)
-   HBASE-4292  Add a debugging dump servlet to the master and regionserver
-               (todd)
-   HBASE-4057  Implement HBase version of "show processlist" (Riley Patterson)
-   HBASE-4219  Per Column Family Metrics
-   HBASE-4219  Addendum for failure of TestHFileBlock
-   HBASE-4377  [hbck] Offline rebuild .META. from fs data only
-               (Jonathan Hsieh)
-   HBASE-4298  Support to drain RS nodes through ZK (Aravind Gottipati)
-   HBASE-2742  Provide strong authentication with a secure RPC engine
-   HBASE-3025  Coprocessor based access control
-
-Release 0.90.7 - Unreleased
-
-  BUG FIXES
-   HBASE-5271  Result.getValue and Result.getColumnLatest return the wrong column (Ghais Issa)
-
-Release 0.90.6 - Unreleased
-
-  BUG FIXES
-   HBASE-4970  Add a parameter so that keepAliveTime of Htable thread pool can be changed (gaojinchao)
-   HBASE-5060  HBase client is blocked forever (Jinchao)
-   HBASE-5009  Failure of creating split dir if it already exists prevents splits from happening further
-   HBASE-5041  Major compaction on non existing table does not throw error (Shrijeet)
-   HBASE-5327  Print a message when an invalid hbase.rootdir is passed (Jimmy Xiang)
-
-Release 0.90.5 - Released
-
-  BUG FIXES
-   HBASE-4160  HBase shell move and online may be unusable if region name
-               or server includes binary-encoded data (Jonathan Hsieh)
-   HBASE-4168  A client continues to try and connect to a powered down
-               regionserver (Anirudh Todi)
-   HBASE-4196  TableRecordReader may skip first row of region (Ming Ma)
-   HBASE-4170  createTable java doc needs to be improved (Mubarak Seyed)
-   HBASE-4144  RS does not abort if the initialization of RS fails
-               (ramkrishna.s.vasudevan)
-   HBASE-4148  HFileOutputFormat doesn't fill in TIMERANGE_KEY metadata
-               (Jonathan Hsieh)
-   HBASE-4159  HBaseServer - IPC Reader threads are not daemons (Douglas
-               Campbell)
-   HBASE-4095  Hlog may not be rolled in a long time if checkLowReplication's
-               request of LogRoll is blocked (Jieshan Bean)
-   HBASE-4253  TestScannerTimeOut.test3686a and TestHTablePool.
-               testReturnDifferentTable() failure because of using new
-               HTable(tablename) (ramkrishna.s.vasudevan)
-   HBASE-4124  ZK restarted while a region is being assigned, new active HM
-               re-assigns it but the RS warns 'already online on this server'
-               (Gaojinchao)
-   HBASE-4294  HLogSplitter sleeps with 1-second granularity (todd)
-   HBASE-4270  IOE ignored during flush-on-close causes dataloss
-   HBASE-4180  HBase should check the isSecurityEnabled flag before login
-   HBASE-4325  Improve error message when using STARTROW for meta scans
-               (Jonathan Hsieh)
-   HBASE-4238  CatalogJanitor can clear a daughter that split before
-               processing its parent
-   HBASE-4445  Not passing --config when checking if distributed mode or not
-   HBASE-4453  TestReplication failing up on builds.a.o because already
-               running zk with new format root servername
-   HBASE-4387  Error while syncing: DFSOutputStream is closed
-               (Lars Hofhansl)
-   HBASE-4295  rowcounter does not return the correct number of rows in
-               certain circumstances (David Revell)
-   HBASE-4515  User.getCurrent() can fail to initialize the current user
-   HBASE-4473  NPE when executors are down but events are still coming in
-   HBASE-4537  TestUser imports breaking build against secure Hadoop
-   HBASE-4501  [replication] Shutting down a stream leaves recovered
-               sources running
-   HBASE-4563  When error occurs in this.parent.close(false) of split,
-               the split region cannot write or read (bluedavy via Lars H)
-   HBASE-4570. Fix a race condition that could cause inconsistent results
-               from scans during concurrent writes. (todd and Jonathan Jsieh
-               via todd)
-   HBASE-4562  When split doing offlineParentInMeta encounters error, it'll
-               cause data loss (bluedavy via Lars H)
-   HBASE-4800  Result.compareResults is incorrect (James Taylor and Lars H)
-   HBASE-4848  TestScanner failing because hostname can't be null
-   HBASE-4862  Splitting hlog and opening region concurrently may cause data loss
-               (Chunhui Shen)
-   HBASE-4773  HBaseAdmin may leak ZooKeeper connections (Xufeng)
-
-  IMPROVEMENT
-   HBASE-4205  Enhance HTable javadoc (Eric Charles)
-   HBASE-4222  Make HLog more resilient to write pipeline failures
-   HBASE-4293  More verbose logging in ServerShutdownHandler for meta/root
-               cases (todd)
-   HBASE-4276  AssignmentManager debug logs should be at INFO level for
-               META/ROOT regions (todd)
-   HBASE-4323  Add debug logging when AssignmentManager can't make a plan
-               for a region (todd)
-   HBASE-4313  Refactor TestHBaseFsck to make adding individual hbck tests
-               easier (Jonathan Hsieh)
-   HBASE-4272. Add -metaonly flag to hbck feature to only inspect and try
-               to repair META and ROOT. (todd)
-   HBASE-4321. Add a more comprehensive region split calculator for future use
-               in hbck. (Jonathan Hsieh)
-   HBASE-4384  Hard to tell what causes failure in CloseRegionHandler#getCurrentVersion
-               (Harsh J)
-   HBASE-4375  [hbck] Add region coverage visualization to hbck
-               (Jonathan Hsieh)
-   HBASE-4506  [hbck] Allow HBaseFsck to be instantiated without connecting
-               (Jonathan Hsieh)
-   HBASE-4509  [hbck] Improve region map output
-               (Jonathan Hsieh)
-   HBASE-4806  Fix logging message in HbaseObjectWritable
-               (Jonathan Hsieh via todd)
-
-Release 0.90.4 - August 10, 2011
-
-  BUG FIXES
-   HBASE-3878  Hbase client throws NoSuchElementException (Ted Yu)
-   HBASE-3881  Add disable balancer in graceful_stop.sh script
-   HBASE-3895  Fix order of parameters after HBASE-1511
-   HBASE-3874  ServerShutdownHandler fails on NPE if a plan has a random
-               region assignment
-   HBASE-3902  Add Bytes.toBigDecimal and Bytes.toBytes(BigDecimal)
-               (Vaibhav Puranik)
-   HBASE-3820  Splitlog() executed while the namenode was in safemode may
-               cause data-loss (Jieshan Bean)
-   HBASE-3905  HBaseAdmin.createTableAsync() should check for invalid split
-               keys (Ted Yu)
-   HBASE-3908  TableSplit not implementing "hashCode" problem (Daniel Iancu)
-   HBASE-3915  Binary row keys in hbck and other miscellaneous binary key
-               display issues
-   HBASE-3914  ROOT region appeared in two regionserver's onlineRegions at
-               the same time (Jieshan Bean)
-   HBASE-3934  MemStoreFlusher.getMemStoreLimit() doesn't honor defaultLimit
-               (Ted Yu)
-   HBASE-3946  The splitted region can be online again while the standby
-               hmaster becomes the active one (Jieshan Bean)
-   HBASE-3916  Fix the default bind address of ThriftServer to be wildcard
-               instead of localhost. (Li Pi)
-   HBASE-3985  Same Region could be picked out twice in LoadBalance
-               (Jieshan Bean)
-   HBASE-3987  Fix a NullPointerException on a failure to load Bloom filter data
-               (Mikhail Bautin)
-   HBASE-3948  Improve split/compact result page for RegionServer status page
-               (Li Pi)
-   HBASE-3988  Infinite loop for secondary master (Liyin Tang)
-   HBASE-3995  HBASE-3946 broke TestMasterFailover
-   HBASE-2077  NullPointerException with an open scanner that expired causing
-               an immediate region server shutdown -- part 2.
-   HBASE-4005  close_region bugs
-   HBASE-4028  Hmaster crashes caused by splitting log.
-               (gaojinchao via Ted Yu)
-   HBASE-4035  Fix local-master-backup.sh - parameter order wrong
-               (Lars George via Ted Yu)
-   HBASE-4020  "testWritesWhileGetting" unit test needs to be fixed.
-               (Vandana Ayyalasomayajula via Ted Yu)
-   HBASE-3984  CT.verifyRegionLocation isn't doing a very good check,
-               can delay cluster recovery
-   HBASE-4045  [replication] NPE in ReplicationSource when ZK is gone
-   HBASE-4034  HRegionServer should be stopped even if no META regions
-               are hosted by the HRegionServer (Akash Ashok)
-   HBASE-4033  The shutdown RegionServer could be added to
-               AssignmentManager.servers again (Jieshan Bean)
-   HBASE-4088  npes in server shutdown
-   HBASE-3872  Hole in split transaction rollback; edits to .META. need
-               to be rolled back even if it seems like they didn't make it
-   HBASE-4101  Regionserver Deadlock (ramkrishna.s.vasudevan)
-   HBASE-4115  HBase shell assign and unassign unusable if region name
-               includes binary-encoded data (Ryan Brush)
-   HBASE-4126  Make timeoutmonitor timeout after 30 minutes instead of 3
-   HBASE-4129  HBASE-3872 added a warn message 'CatalogJanitor: Daughter regiondir
-               does not exist' that is triggered though its often legit that daughter
-               is not present
-
-  IMPROVEMENT
-   HBASE-3882  hbase-config.sh needs to be updated so it can auto-detects the
-               sun jre provided by RHEL6 (Roman Shaposhnik)
-   HBASE-3920  HLog hbase.regionserver.flushlogentries no longer supported
-               (Dave Latham)
-   HBASE-3919  More places output binary data to text (Dave Latham)
-   HBASE-3873  HBase IRB shell: Don't pretty-print the output when stdout
-               isn't a TTY (Benoît Sigoure)
-   HBASE-3969  Outdated data can not be cleaned in time (Zhou Shuaifeng)
-   HBASE-3968  HLog Pretty Printer (Riley Patterson)
-
-Release 0.90.3 - May 19th, 2011
-
-  BUG FIXES
-   HBASE-3746  Clean up CompressionTest to not directly reference
-               DistributedFileSystem (todd)
-   HBASE-3734  HBaseAdmin creates new configurations in getCatalogTracker
-   HBASE-3756  Can't move META or ROOT from shell
-   HBASE-3740  hbck doesn't reset the number of errors when retrying
-   HBASE-3744  createTable blocks until all regions are out of transition
-               (Ted Yu via Stack)
-   HBASE-3750  HTablePool.putTable() should call releaseHTableInterface()
-               for discarded tables (Ted Yu via garyh)
-   HBASE-3755  Catch zk's ConnectionLossException and augment error
-               message with more help
-   HBASE-3722  A lot of data is lost when name node crashed (gaojinchao)
-   HBASE-3771  All jsp pages don't clean their HBA
-   HBASE-3685  when multiple columns are combined with TimestampFilter, only
-               one column is returned (Jerry Chen)
-   HBASE-3708  createAndFailSilent is not so silent; leaves lots of logging
-               in ensemble logs (Dmitriy Ryaboy)
-   HBASE-3783  hbase-0.90.2.jar exists in hbase root and in 'lib/'
-   HBASE-3539  Improve shell help to reflect all possible options
-               (Harsh J Chouraria)
-   HBASE-3817  HBase Shell has an issue accepting FILTER for the 'scan' command.
-               (Harsh J Chouraria)
-   HBASE-3634  Fix JavaDoc for put(List<Put> puts) in HTableInterface
-               (Harsh J Chouraria)
-   HBASE-3749  Master can't exit when open port failed (gaojinchao)
-   HBASE-3794  TestRpcMetrics fails on machine where region server is running
-               (Alex Newman)
-   HBASE-3741  Make HRegionServer aware of the regions it's opening/closing
-   HBASE-3597  ageOfLastAppliedOp should update after cluster replication
-               failures
-   HBASE-3821  "NOT flushing memstore for region" keep on printing for half
-               an hour (zhoushuaifeng)
-
-  IMPROVEMENTS
-   HBASE-3747  ReplicationSource should differanciate remote and local exceptions
-   HBASE-3652  Speed up tests by lowering some sleeps
-   HBASE-3767  Improve how HTable handles threads used for multi actions
-   HBASE-3795  Remove the "Cache hit for row" message
-   HBASE-3580  Remove RS from DeadServer when new instance checks in
-   HBASE-2470  Add Scan.setTimeRange() support in Shell (Harsh J Chouraria)
-   HBASE-3805  Log RegionState that are processed too late in the master
-   HBASE-3695  Some improvements to Hbck to test the entire region chain in
-                Meta and provide better error reporting (Marc Limotte)
-   HBASE-3813  Change RPC callQueue size from 'handlerCount *
-               MAX_QUEUE_SIZE_PER_HANDLER;'
-   HBASE-3860  HLog shouldn't create a new HBC when rolling
-
-  TASKS
-   HBASE-3748  Add rolling of thrift/rest daemons to graceful_stop.sh script
-   HBASE-3846  Set RIT timeout higher
-
-Release 0.90.2 - 20110408
-  
-  BUG FIXES
-   HBASE-3545  Possible liveness issue with MasterServerAddress in
-               HRegionServer getMaster (Greg Bowyer via Stack)
-   HBASE-3548  Fix type in documentation of pseudo distributed mode
-   HBASE-3553  HTable ThreadPoolExecutor does not properly initialize
-               for hbase.htable.threads.max threads
-               (Himanshu Vashishtha via garyh)
-   HBASE-3566  writeToWAL is not serialized for increment operation
-   HBASE-3576  MasterAddressTracker is registered to ZooKeeperWatcher twice
-   HBASE-3561  OPTS arguments are duplicated
-   HBASE-3572  memstore lab can leave half inited data structs (bad!)
-   HBASE-3589  test jar should not include mapred-queues.xml and
-               log4j.properties
-   HBASE-3593  DemoClient.cpp is outdated
-   HBASE-3591  completebulkload doesn't honor generic -D options
-   HBASE-3594  Rest server fails because of missing asm jar
-   HBASE-3582  Allow HMaster and HRegionServer to login from keytab
-               when on secure Hadoop
-   HBASE-3608  MemstoreFlusher error message doesnt include exception!
-   HBASE-1960  Master should wait for DFS to come up when creating
-               hbase.version; use alternate strategy for waiting for DNs
-   HBASE-3612  HBaseAdmin::isTableAvailable returns true when the table does
-               not exit
-   HBASE-3626  Update instructions in thrift demo files (Moaz Reyad via Stack)
-   HBASE-3633  ZKUtil::createSetData should only create a node when it
-               nonexists (Guanpeng Xu via Stack)
-   HBASE-3636  a bug about deciding whether this key is a new key for the ROWCOL
-               bloomfilter (Liyin Tang via Stack)
-   HBASE-3639  FSUtils.getRootDir should qualify path
-   HBASE-3648  [replication] failover is sloppy with znodes
-   HBASE-3613  NPE in MemStoreFlusher
-   HBASE-3650  HBA.delete can return too fast
-   HBASE-3659  Fix TestHLog to pass on newer versions of Hadoop
-   HBASE-3595  get_counter broken in shell
-   HBASE-3664  [replication] Adding a slave when there's none may kill the cluster
-   HBASE-3671  Split report before we finish parent region open; workaround
-               till 0.92; Race between split and OPENED processing
-   HBASE-3674  Treat ChecksumException as we would a ParseException splitting
-               logs; else we replay split on every restart
-   HBASE-3621  The timeout handler in AssignmentManager does an RPC while
-               holding lock on RIT; a big no-no (Ted Yu via Stack)
-   HBASE-3575  Update rename table script
-   HBASE-3687  Bulk assign on startup should handle a ServerNotRunningException
-   HBASE-3617  NoRouteToHostException during balancing will cause Master abort
-               (Ted Yu via Stack)
-   HBASE-3668  CatalogTracker.waitForMeta can wait forever and totally stall a RS
-   HBASE-3627  NPE in EventHandler when region already reassigned
-   HBASE-3660  HMaster will exit when starting with stale data in cached locations
-               such as -ROOT- or .META.
-   HBASE-3654  Weird blocking between getOnlineRegion and createRegionLoad
-               (Subbu M Iyer via Stack)
-   HBASE-3666  TestScannerTimeout fails occasionally
-   HBASE-3497  TableMapReduceUtil.initTableReducerJob broken due to setConf 
-               method in TableOutputFormat
-   HBASE-3686  ClientScanner skips too many rows on recovery if using scanner
-               caching (Sean Sechrist via Stack)
-
-  IMPROVEMENTS
-   HBASE-3542  MultiGet methods in Thrift
-   HBASE-3586  Improve the selection of regions to balance (Ted Yu via Andrew
-               Purtell)  
-   HBASE-3603  Remove -XX:+HeapDumpOnOutOfMemoryError autodump of heap option
-               on OOME
-   HBASE-3285  Hlog recovery takes too much time
-   HBASE-3623  Allow non-XML representable separator characters in the ImportTSV tool
-               (Harsh J Chouraria via Stack)
-   HBASE-3620  Make HBCK utility faster
-   HBASE-3625  improve/fix support excluding Tests via Maven -D property
-               (Alejandro Abdelnur via todd)
-   HBASE-3437  Support Explict Split Points from the Shell
-   HBASE-3448  RegionSplitter, utility class to manually split tables
-   HBASE-3610  Improve RegionSplitter performance
-   HBASE-3496  HFile CLI Improvements
-   HBASE-3596  [replication] Wait a few seconds before transferring queues
-   HBASE-3600  Update our jruby to 1.6.0
-   HBASE-3640  [replication] Transferring queues shouldn't be done inline with RS startup
-   HBASE-3658  Alert when heap is over committed (Subbu M Iyer via Stack)
-   HBASE-3681  Check the sloppiness of the region load before balancing (Ted Yu via JD)
-   HBASE-3703  hbase-config.sh needs to be updated so it can auto-detect
-               the sun jdk provided by RHEL6 (Bruno Mahe via todd)
-
-Release 0.90.1 - February 9th, 2011
-
-  NEW FEATURES
-   HBASE-3455  Add memstore-local allocation buffers to combat heap
-               fragmentation in the region server. Experimental / disabled
-               by default in 0.90.1
-  
-  BUG FIXES
-   HBASE-3445  Master crashes on data that was moved from different host
-   HBASE-3449  Server shutdown handlers deadlocked waiting for META
-   HBASE-3456  Fix hardcoding of 20 second socket timeout down in HBaseClient
-   HBASE-3476  HFile -m option need not scan key values
-               (Prakash Khemani via Lars George)
-   HBASE-3481  max seq id in flushed file can be larger than its correct value 
-               causing data loss during recovery
-   HBASE-3493  HMaster sometimes hangs during initialization due to missing
-               notify call (Bruno Dumon via Stack)
-   HBASE-3483  Memstore lower limit should trigger asynchronous flushes
-   HBASE-3494  checkAndPut implementation doesnt verify row param and writable 
-               row are the same
-   HBASE-3416  For intra-row scanning, the update readers notification resets
-               the query matcher and can lead to incorrect behavior
-   HBASE-3495  Shell is failing on subsequent split calls
-   HBASE-3502  Can't open region because can't open .regioninfo because
-               AlreadyBeingCreatedException
-   HBASE-3501  Remove the deletion limit in LogCleaner
-   HBASE-3500  Documentation update for replicatio
-   HBASE-3419  If re-transition to OPENING during log replay fails, server
-               aborts. Instead, should just cancel region open.
-   HBASE-3524  NPE from CompactionChecker
-   HBASE-3531  When under global memstore pressure, dont try to flush
-               unflushable regions.
-   HBASE-3550  FilterList reports false positives (Bill Graham via Andrew
-               Purtell)
-
-  IMPROVEMENTS
-   HBASE-3305  Allow round-robin distribution for table created with
-               multiple regions (ted yu via jgray)
-   HBASE-3508  LruBlockCache statistics thread should have a name
-   HBASE-3511  Allow rolling restart to apply to only RS or only masters
-   HBASE-3510  Add thread name for IPC reader threads
-   HBASE-3509  Add metric for flush queue length
-   HBASE-3517  Store build version in hbase-default.xml and verify at runtime
-
-Release 0.90.0 - January 19th, 2011
-  INCOMPATIBLE CHANGES
-   HBASE-1822  Remove the deprecated APIs
-   HBASE-1848  Fixup shell for HBASE-1822
-   HBASE-1854  Remove the Region Historian
-   HBASE-1930  Put.setTimeStamp misleading (doesn't change timestamp on
-               existing KeyValues, not copied in copy constructor)
-               (Dave Latham via Stack)
-   HBASE-1360  move up to Thrift 0.2.0 (Kay Kay and Lars Francke via Stack)
-   HBASE-2212  Refactor out lucene dependencies from HBase
-               (Kay Kay via Stack)
-   HBASE-2219  stop using code mapping for method names in the RPC
-   HBASE-1728  Column family scoping and cluster identification
-   HBASE-2099  Move build to Maven (Paul Smith via Stack)
-   HBASE-2260  Remove all traces of Ant and Ivy (Lars Francke via Stack)
-   HBASE-2255  take trunk back to hadoop 0.20
-   HBASE-2378  Bulk insert with multiple reducers broken due to improper
-               ImmutableBytesWritable comparator (Todd Lipcon via Stack)
-   HBASE-2392  Upgrade to ZooKeeper 3.3.0
-   HBASE-2294  Enumerate ACID properties of HBase in a well defined spec
-               (Todd Lipcon via Stack)
-   HBASE-2541  Remove transactional contrib (Clint Morgan via Stack)
-   HBASE-2542  Fold stargate contrib into core
-   HBASE-2565  Remove contrib module from hbase
-   HBASE-2397  Bytes.toStringBinary escapes printable chars
-   HBASE-2771  Update our hadoop jar to be latest from 0.20-append branch
-   HBASE-2803  Remove remaining Get code from Store.java,etc
-   HBASE-2553  Revisit IncrementColumnValue implementation in 0.22
-   HBASE-2692  Master rewrite and cleanup for 0.90
-               (Karthik Ranganathan, Jon Gray & Stack)
-   HBASE-2961  Close zookeeper when done with it (HCM, Master, and RS)
-   HBASE-2641  HBASE-2641 Refactor HLog splitLog, hbase-2437 continued;
-               break out split code as new classes
-               (James Kennedy via Stack)
-
-  BUG FIXES
-   HBASE-1791  Timeout in IndexRecordWriter (Bradford Stephens via Andrew
-               Purtell)
-   HBASE-1737  Regions unbalanced when adding new node (recommit)
-   HBASE-1792  [Regression] Cannot save timestamp in the future
-   HBASE-1793  [Regression] HTable.get/getRow with a ts is broken
-   HBASE-1698  Review documentation for o.a.h.h.mapreduce
-   HBASE-1798  [Regression] Unable to delete a row in the future
-   HBASE-1790  filters are not working correctly (HBASE-1710 HBASE-1807 too)
-   HBASE-1779  ThriftServer logged error if getVer() result is empty
-   HBASE-1778  Improve PerformanceEvaluation (Schubert Zhang via Stack)
-   HBASE-1751  Fix KeyValue javadoc on getValue for client-side
-   HBASE-1795  log recovery doesnt reset the max sequence id, new logfiles can
-               get tossed as 'duplicates'
-   HBASE-1794  recovered log files are not inserted into the storefile map
-   HBASE-1824  [stargate] default timestamp should be LATEST_TIMESTAMP
-   HBASE-1740  ICV has a subtle race condition only visible under high load
-   HBASE-1808  [stargate] fix how columns are specified for scanners
-   HBASE-1828  CompareFilters are broken from client-side
-   HBASE-1836  test of indexed hbase broken
-   HBASE-1838  [javadoc] Add javadoc to Delete explaining behavior when no
-               timestamp provided
-   HBASE-1821  Filtering by SingleColumnValueFilter bug
-   HBASE-1840  RowLock fails when used with IndexTable
-               (Keith Thomas via Stack)
-   HBASE-818   HFile code review and refinement (Schubert Zhang via Stack)
-   HBASE-1830  HbaseObjectWritable methods should allow null HBCs
-               for when Writable is not Configurable (Stack via jgray)
-   HBASE-1847  Delete latest of a null qualifier when non-null qualifiers
-               exist throws a RuntimeException 
-   HBASE-1850  src/examples/mapred do not compile after HBASE-1822
-   HBASE-1853  Each time around the regionserver core loop, we clear the
-               messages to pass master, even if we failed to deliver them
-   HBASE-1815  HBaseClient can get stuck in an infinite loop while attempting
-               to contact a failed regionserver
-   HBASE-1856  HBASE-1765 broke MapReduce when using Result.list()
-               (Lars George via Stack)
-   HBASE-1857  WrongRegionException when setting region online after .META.
-               split (Cosmin Lehane via Stack)
-   HBASE-1809  NPE thrown in BoundedRangeFileInputStream
-   HBASE-1859  Misc shell fixes patch (Kyle Oba via Stack)
-   HBASE-1865  0.20.0 TableInputFormatBase NPE
-   HBASE-1866  Scan(Scan) copy constructor does not copy value of
-               cacheBlocks
-   HBASE-1869  IndexedTable delete fails when used in conjunction with
-               RowLock (Keith Thomas via Stack)
-   HBASE-1858  Master can't split logs created by THBase (Clint Morgan via
-               Andrew Purtell)
-   HBASE-1871  Wrong type used in TableMapReduceUtil.initTableReduceJob()
-               (Lars George via Stack)
-   HBASE-1883  HRegion passes the wrong minSequenceNumber to
-               doReconstructionLog (Clint Morgan via Stack)
-   HBASE-1878  BaseScanner results can't be trusted at all (Related to
-               hbase-1784)
-   HBASE-1831  Scanning API must be reworked to allow for fully functional
-               Filters client-side
-   HBASE-1890  hbase-1506 where assignment is done at regionserver doesn't
-               work
-   HBASE-1889  ClassNotFoundException on trunk for REST
-   HBASE-1905  Remove unused config. hbase.hstore.blockCache.blockSize
-   HBASE-1906  FilterList of prefix and columnvalue not working properly with
-               deletes and multiple values
-   HBASE-1896  WhileMatchFilter.reset should call encapsulated filter reset
-   HBASE-1912  When adding a secondary index to an existing table, it will
-               cause NPE during re-indexing (Mingjui Ray Liao via Andrew
-               Purtell)
-   HBASE-1916  FindBugs and javac warnings cleanup
-   HBASE-1908  ROOT not reassigned if only one regionserver left
-   HBASE-1915  HLog.sync is called way too often, needs to be only called one
-               time per RPC
-   HBASE-1777  column length is not checked before saved to memstore
-   HBASE-1925  IllegalAccessError: Has not been initialized (getMaxSequenceId)
-   HBASE-1929  If hbase-default.xml is not in CP, zk session timeout is 10
-               seconds!
-   HBASE-1927  Scanners not closed properly in certain circumstances
-   HBASE-1934  NullPointerException in ClientScanner (Andrew Purtell via Stack)
-   HBASE-1946  Unhandled exception at regionserver (Dmitriy Lyfar via Stack)
-   HBASE-1682  IndexedRegion does not properly handle deletes
-               (Andrew McCall via Clint Morgan and Stack)
-   HBASE-1953  Overhaul of overview.html (html fixes, typos, consistency) -
-               no content changes (Lars Francke via Stack)
-   HBASE-1954  Transactional scans do not see newest put (Clint Morgan via
-               Stack)
-   HBASE-1919  code: HRS.delete seems to ignore exceptions it shouldnt
-   HBASE-1951  Stack overflow when calling HTable.checkAndPut() 
-               when deleting a lot of values
-   HBASE-1781  Weird behavior of WildcardColumnTracker.checkColumn(), 
-               looks like recursive loop
-   HBASE-1949  KeyValue expiration by Time-to-Live during major compaction is
-               broken (Gary Helmling via Stack)
-   HBASE-1957  Get-s can't set a Filter
-   HBASE-1928  ROOT and META tables stay in transition state (making the system
-               not usable) if the designated regionServer dies before the
-               assignment is complete (Yannis Pavlidis via Stack)
-   HBASE-1962  Bulk loading script makes regions incorrectly (loadtable.rb)
-   HBASE-1966  Apply the fix from site/ to remove the forrest dependency on
-               Java 5
-   HBASE-1967  [Transactional] client.TestTransactions.testPutPutScan fails
-               sometimes -- Temporary fix
-   HBASE-1841  If multiple of same key in an hfile and they span blocks, may
-               miss the earlier keys on a lookup
-               (Schubert Zhang via Stack)
-   HBASE-1977  Add ts and allow setting VERSIONS when scanning in shell
-   HBASE-1979  MurmurHash does not yield the same results as the reference C++
-               implementation when size % 4 >= 2 (Olivier Gillet via Andrew
-               Purtell)
-   HBASE-1999  When HTable goes away, close zk session in shutdown hook or
-               something...
-   HBASE-1997  zk tick time bounds maximum zk session time
-   HBASE-2003  [shell] deleteall ignores column if specified
-   HBASE-2018  Updates to .META. blocked under high MemStore load
-   HBASE-1994  Master will lose hlog entries while splitting if region has
-               empty oldlogfile.log (Lars George via Stack)
-   HBASE-2022  NPE in housekeeping kills RS
-   HBASE-2034  [Bulk load tools] loadtable.rb calls an undefined method
-               'descendingIterator' (Ching-Shen Chen via Stack)
-   HBASE-2033  Shell scan 'limit' is off by one
-   HBASE-2040  Fixes to group commit
-   HBASE-2047  Example command in the "Getting Started" 
-               documentation doesn't work (Benoit Sigoure via JD)
-   HBASE-2048  Small inconsistency in the "Example API Usage"
-               (Benoit Sigoure via JD)
-   HBASE-2044  HBASE-1822 removed not-deprecated APIs
-   HBASE-1960  Master should wait for DFS to come up when creating
-               hbase.version
-   HBASE-2054  memstore size 0 is >= than blocking -2.0g size
-   HBASE-2064  Cannot disable a table if at the same the Master is moving 
-               its regions around
-   HBASE-2065  Cannot disable a table if any of its region is opening 
-               at the same time
-   HBASE-2026  NPE in StoreScanner on compaction
-   HBASE-2072  fs.automatic.close isn't passed to FileSystem
-   HBASE-2075  Master requires HDFS superuser privileges due to waitOnSafeMode
-   HBASE-2077  NullPointerException with an open scanner that expired causing 
-               an immediate region server shutdown (Sam Pullara via JD)
-   HBASE-2078  Add JMX settings as commented out lines to hbase-env.sh
-               (Lars George via JD)
-   HBASE-2082  TableInputFormat is ignoring input scan's stop row setting
-               (Scott Wang via Andrew Purtell)
-   HBASE-2068  MetricsRate is missing "registry" parameter
-               (Lars George and Gary Helmling via Stack)
-   HBASE-2093  [stargate] RowSpec parse bug
-   HBASE-2114  Can't start HBase in trunk (JD and Kay Kay via JD)
-   HBASE-2115  ./hbase shell would not launch due to missing jruby dependency
-               (Kay Kay via JD)
-   HBASE-2101  KeyValueSortReducer collapses all values to last passed
-   HBASE-2119  Fix top-level NOTICES.txt file. Its stale.
-   HBASE-2120  [stargate] Unable to delete column families (Greg Lu via Andrew
-               Purtell)
-   HBASE-2123  Remove 'master' command-line option from PE
-   HBASE-2024  [stargate] Deletes not working as expected (Greg Lu via Andrew
-               Purtell)
-   HBASE-2122  [stargate] Initializing scanner column families doesn't work
-               (Greg Lu via Andrew Purtell)
-   HBASE-2124  Useless exception in HMaster on startup
-   HBASE-2127  randomWrite mode of PerformanceEvaluation benchmark program
-               writes only to a small range of keys (Kannan Muthukkaruppan
-               via Stack)
-   HBASE-2126  Fix build break - ec2 (Kay Kay via JD)
-   HBASE-2134  Ivy nit regarding checking with latest snapshots (Kay Kay via
-               Andrew Purtell)
-   HBASE-2138  unknown metrics type (Stack via JD)
-   HBASE-2137  javadoc warnings from 'javadoc' target (Kay Kay via Stack)
-   HBASE-2135  ant javadoc complains about missing classe (Kay Kay via Stack)
-   HBASE-2130  bin/* scripts - not to include lib/test/**/*.jar
-               (Kay Kay via Stack)
-   HBASE-2140  findbugs issues - 2 performance warnings as suggested by
-               findbugs (Kay Kay via Stack)
-   HBASE-2139  findbugs task in build.xml (Kay Kay via Stack)
-   HBASE-2147  run zookeeper in the same jvm as master during non-distributed
-               mode
-   HBASE-65    Thrift Server should have an option to bind to ip address
-               (Lars Francke via Stack)
-   HBASE-2146  RPC related metrics are missing in 0.20.3 since recent changes
-               (Gary Helmling via Lars George)
-   HBASE-2150  Deprecated HBC(Configuration) constructor doesn't call this()
-   HBASE-2154  Fix Client#next(int) javadoc
-   HBASE-2152  Add default jmxremote.{access|password} files into conf
-               (Lars George and Gary Helmling via Stack)
-   HBASE-2156  HBASE-2037 broke Scan - only a test for trunk
-   HBASE-2057  Cluster won't stop (Gary Helmling and JD via JD)
-   HBASE-2160  Can't put with ts in shell
-   HBASE-2144  Now does \x20 for spaces
-   HBASE-2163  ZK dependencies - explicitly add them until ZK artifacts are
-               published to mvn repository (Kay Kay via Stack)
-   HBASE-2164  Ivy nit - clean up configs (Kay Kay via Stack)
-   HBASE-2184  Calling HTable.getTableDescriptor().* on a full cluster takes
-               a long time (Cristian Ivascu via Stack)
-   HBASE-2193  Better readability of - hbase.regionserver.lease.period
-               (Kay Kay via Stack)
-   HBASE-2199  hbase.client.tableindexed.IndexSpecification, lines 72-73
-               should be reversed (Adrian Popescu via Stack)
-   HBASE-2224  Broken build: TestGetRowVersions.testGetRowMultipleVersions
-   HBASE-2129  ant tar build broken since switch to Ivy (Kay Kay via Stack)
-   HBASE-2226  HQuorumPeerTest doesnt run because it doesnt start with the
-               word Test
-   HBASE-2230  SingleColumnValueFilter has an ungaurded debug log message
-   HBASE-2258  The WhileMatchFilter doesn't delegate the call to filterRow()
-   HBASE-2259  StackOverflow in ExplicitColumnTracker when row has many columns
-   HBASE-2268  [stargate] Failed tests and DEBUG output is dumped to console
-               since move to Mavenized build 
-   HBASE-2276  Hbase Shell hcd() method is broken by the replication scope 
-               parameter (Alexey Kovyrin via Lars George)
-   HBASE-2244  META gets inconsistent in a number of crash scenarios
-   HBASE-2284  fsWriteLatency metric may be incorrectly reported 
-               (Kannan Muthukkaruppan via Stack)
-   HBASE-2063  For hfileoutputformat, on timeout/failure/kill clean up
-               half-written hfile (Ruslan Salyakhov via Stack)
-   HBASE-2281  Hbase shell does not work when started from the build dir
-               (Alexey Kovyrin via Stack)
-   HBASE-2293  CME in RegionManager#isMetaServer
-   HBASE-2261  The javadoc in WhileMatchFilter and it's tests in TestFilter
-               are not accurate/wrong
-   HBASE-2299  [EC2] mapreduce fixups for PE
-   HBASE-2295  Row locks may deadlock with themselves
-               (dhruba borthakur via Stack)
-   HBASE-2308  Fix the bin/rename_table.rb script, make it work again
-   HBASE-2307  hbase-2295 changed hregion size, testheapsize broke... fix it
-   HBASE-2269  PerformanceEvaluation "--nomapred" may assign duplicate random
-               seed over multiple testing threads (Tatsuya Kawano via Stack) 
-   HBASE-2287  TypeError in shell (Alexey Kovyrin via Stack)
-   HBASE-2023  Client sync block can cause 1 thread of a multi-threaded client
-               to block all others (Karthik Ranganathan via Stack)
-   HBASE-2305  Client port for ZK has no default (Suraj Varma via Stack)
-   HBASE-2323  filter.RegexStringComparator does not work with certain bytes
-               (Benoit Sigoure via Stack)
-   HBASE-2313  Nit-pick about hbase-2279 shell fixup, if you do get wi

<TRUNCATED>

[5/5] hbase git commit: HBASE-18828 [2.0] Generate CHANGES.txt

Posted by st...@apache.org.
HBASE-18828 [2.0] Generate CHANGES.txt

Made sure what is in JIRA agreed with what is in git and vice-versa.
Then made it so issues in 1.0.0 and earlier were not counted as part
of the 2.0.0 release.

Then ran the yetus releasedocmaker like so:

$ ./release-doc-maker/releasedocmaker.py -p HBASE --fileversions -v 2.0.0
-l --sortorder=newer --skip-credits

... and renamed the output as CHANGES.md and RELEASENOTES.md. I edited
both to put the document title above the apache license so markdown
readers would work. I also bulk imported the 1.0.0 CHANGES.txt on to the
end of the CHANGES.md file.


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d7547c61
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d7547c61
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d7547c61

Branch: refs/heads/branch-2.0
Commit: d7547c6157a9c44e9d6b6ebf1672cc3fa592972d
Parents: 57aaee5
Author: Michael Stack <st...@apache.org>
Authored: Fri Apr 6 11:43:20 2018 -0700
Committer: Michael Stack <st...@apache.org>
Committed: Sat Apr 7 09:37:09 2018 -0700

----------------------------------------------------------------------
 CHANGES.md                                      | 6034 +++++++++++++
 CHANGES.txt                                     | 4455 ----------
 RELEASENOTES.md                                 | 8204 ++++++++++++++++++
 hbase-assembly/src/main/assembly/components.xml |    3 +-
 pom.xml                                         |    1 -
 src/main/asciidoc/_chapters/developer.adoc      |   12 +-
 6 files changed, 14247 insertions(+), 4462 deletions(-)
----------------------------------------------------------------------



[2/5] hbase git commit: HBASE-18828 [2.0] Generate CHANGES.txt

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7547c61/RELEASENOTES.md
----------------------------------------------------------------------
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
new file mode 100644
index 0000000..7776c08
--- /dev/null
+++ b/RELEASENOTES.md
@@ -0,0 +1,8204 @@
+# HBASE  2.0.0 Release Notes
+
+<!---
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+-->
+
+These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
+
+
+---
+
+* [HBASE-14175](https://issues.apache.org/jira/browse/HBASE-14175) | *Critical* | **Adopt releasedocmaker for better generated release notes**
+
+We will use yetus releasedocmaker to make our changes doc from here on out. A CHANGELOG.md will replace our current CHANGES.txt. Adjacent, we'll keep up a RELEASENOTES.md doc courtesy of releasedocmaker.
+
+Over in HBASE-18828 is where we are working through steps for the RM integrating this new tooling.
+
+
+---
+
+* [HBASE-16499](https://issues.apache.org/jira/browse/HBASE-16499) | *Critical* | **slow replication for small HBase clusters**
+
+Changed the default value for replication.source.ratio from 0.1 to 0.5. Which means now by default 50% of the total RegionServers in peer cluster(s) will participate in replication.
+
+
+---
+
+* [HBASE-16459](https://issues.apache.org/jira/browse/HBASE-16459) | *Trivial* | **Remove unused hbase shell --format option**
+
+<!-- markdown -->
+
+The HBase `shell` command no longer recognizes the option `--format`. Previously this option only recognized the default value of 'console'. The default value is now always used.
+
+
+---
+
+* [HBASE-20259](https://issues.apache.org/jira/browse/HBASE-20259) | *Critical* | **Doc configs for in-memory-compaction and add detail to in-memory-compaction logging**
+
+Disables in-memory compaction as default.
+
+Adds logging of in-memory compaction configuration on creation.
+
+Adds a chapter to the refguide on this new feature.
+
+
+---
+
+* [HBASE-20282](https://issues.apache.org/jira/browse/HBASE-20282) | *Major* | **Provide short name invocations for useful tools**
+
+\`hbase regionsplitter\` is a new short invocation for \`hbase org.apache.hadoop.hbase.util.RegionSplitter\`
+
+
+---
+
+* [HBASE-20314](https://issues.apache.org/jira/browse/HBASE-20314) | *Major* | **Precommit build for master branch fails because of surefire fork fails**
+
+Upgrade surefire plugin to 2.21.0.
+
+
+---
+
+* [HBASE-20130](https://issues.apache.org/jira/browse/HBASE-20130) | *Critical* | **Use defaults (16020 & 16030) as base ports when the RS is bound to localhost**
+
+<!-- markdown -->
+When region servers bind to localhost (mostly in pseudo distributed mode), default ports (16020 & 16030) are used as base ports. This will support up to 9 instances of region servers by default with `local-regionservers.sh` script. If additional instances are needed, see the reference guide on how to deploy with a different range using the environment variables `HBASE_RS_BASE_PORT` and `HBASE_RS_INFO_BASE_PORT`.
+
+
+---
+
+* [HBASE-20111](https://issues.apache.org/jira/browse/HBASE-20111) | *Critical* | **Able to split region explicitly even on shouldSplit return false from split policy**
+
+When a split is requested on a Region, the RegionServer hosting that Region will now consult the configured SplitPolicy for that table when determining if a split of that Region is allowed. When a split is disallowed (due to the Region not being OPEN or the SplitPolicy denying the request), the operation will \*not\* be implicitly retried as it has previously done. Users will need to guard against and explicitly retry region split requests which are denied by the system.
+
+
+---
+
+* [HBASE-20223](https://issues.apache.org/jira/browse/HBASE-20223) | *Blocker* | **Use hbase-thirdparty 2.1.0**
+
+Moves commons-cli and commons-collections4 into the HBase thirdparty shaded jar which means that these are no longer generally available for users on the classpath.
+
+
+---
+
+* [HBASE-19128](https://issues.apache.org/jira/browse/HBASE-19128) | *Major* | **Purge Distributed Log Replay from codebase, configurations, text; mark the feature as unsupported, broken.**
+
+Removes Distributed Log Replay feature. Disable the feature before upgrading.
+
+
+---
+
+* [HBASE-19504](https://issues.apache.org/jira/browse/HBASE-19504) | *Major* | **Add TimeRange support into checkAndMutate**
+
+1) checkAndMutate accept a TimeRange to query the specified cell
+2) remove writeToWAL flag from Region#checkAndMutate since it is useless (this is a incompatible change)
+
+
+---
+
+* [HBASE-20224](https://issues.apache.org/jira/browse/HBASE-20224) | *Blocker* | **Web UI is broken in standalone mode**
+
+Standalone webui was broken inadvertently by HBASE-20027.
+
+
+---
+
+* [HBASE-20237](https://issues.apache.org/jira/browse/HBASE-20237) | *Critical* | **Put back getClosestRowBefore and throw UnknownProtocolException instead... for asynchbase client**
+
+Throw UnknownProtocolException if a client connects and tries to invoke the old getClosestRowOrBefore method. Pre-hbase-1.0.0 or asynchbase do this instead of using its replacement, the reverse Scan.
+
+getClosestRowOrBefore was implemented as a flag on Get. Before this patch though the flag was set, hbase2 were ignoring it. This made it look like a pre-1.0.0 client was 'working' but then it'd fail finding the appropriate Region for a client-specified row doing lookups into hbase:meta.
+
+
+---
+
+* [HBASE-20247](https://issues.apache.org/jira/browse/HBASE-20247) | *Major* | **Set version as 2.0.0 in branch-2.0 in prep for first RC**
+
+Set version as 2.0.0 on branch-2.0.
+
+
+---
+
+* [HBASE-20090](https://issues.apache.org/jira/browse/HBASE-20090) | *Major* | **Properly handle Preconditions check failure in MemStoreFlusher$FlushHandler.run**
+
+When there is concurrent region split, MemStoreFlusher may not find flushable region if the only candidate region left hasn't received writes (resulting in 0 data size).
+After this JIRA, such scenario wouldn't trigger Precondition assertion (replaced by an if statement to see whether there is any flushable region).
+If there is no flushable region, a DEBUG log would appear in region server log, saying "Above memory mark but there is no flushable region".
+
+
+---
+
+* [HBASE-19552](https://issues.apache.org/jira/browse/HBASE-19552) | *Major* | **update hbase to use new thirdparty libs**
+
+hbase-thirdparty libs have moved to o.a.h.thirdparty offset. Netty shading system property is no longer necessary.
+
+
+---
+
+* [HBASE-20119](https://issues.apache.org/jira/browse/HBASE-20119) | *Minor* | **Introduce a pojo class to carry coprocessor information in order to make TableDescriptorBuilder accept multiple cp at once**
+
+1) Make all methods in TableDescriptorBuilder be setter pattern.
+addCoprocessor -\> setCoprocessor
+addColumnFamily -\> setColumnFamily
+(addCoprocessor and addColumnFamily are still in branch-2 but they are marked as deprecated)
+2) add CoprocessorDescriptor to carry cp information
+3) add CoprocessorDescriptorBuilder to build CoprocessorDescriptor
+4) TD disallow user to set negative priority to coprocessor since parsing the negative value will cause a exception
+
+
+---
+
+* [HBASE-17165](https://issues.apache.org/jira/browse/HBASE-17165) | *Critical* | **Add retry to LoadIncrementalHFiles tool**
+
+Adds retry to load of incremental hfiles. Pertinent key is HConstants.HBASE\_CLIENT\_RETRIES\_NUMBER. Default is HConstants.DEFAULT\_HBASE\_CLIENT\_RETRIES\_NUMBER.
+
+
+---
+
+* [HBASE-20108](https://issues.apache.org/jira/browse/HBASE-20108) | *Critical* | **\`hbase zkcli\` falls into a non-interactive prompt after HBASE-15199**
+
+This issue fixes a runtime dependency issues where JLine is not made available on the classpath which causes the ZooKeeper CLI to appear non-interactive. JLine was being made available unintentionally via the JRuby jar file on the classpath for the HBase shell. While the JRuby jar is not always present, the fix made here was to selectively include the JLine dependency on the zkcli command's classpath.
+
+
+---
+
+* [HBASE-8770](https://issues.apache.org/jira/browse/HBASE-8770) | *Blocker* | **deletes and puts with the same ts should be resolved according to mvcc/seqNum**
+
+This behavior is available as a new feature. See HBASE-15968 release note.
+
+This issue is just about adding to the refguide documentation on the HBASE\_15968 feature.
+
+
+---
+
+* [HBASE-19114](https://issues.apache.org/jira/browse/HBASE-19114) | *Major* | **Split out o.a.h.h.zookeeper from hbase-server and hbase-client**
+
+Splits out most of ZooKeeper related code into a separate new module: hbase-zookeeper.
+Also, renames some ZooKeeper related classes to follow a common naming pattern - "ZK" prefix - as compared to many different styles earlier.
+
+
+---
+
+* [HBASE-19437](https://issues.apache.org/jira/browse/HBASE-19437) | *Critical* | **Batch operation can't handle the null result for Append/Increment**
+
+The result from server is changed from null to Result.EMPTY\_RESULT when Append/Increment operation can't retrieve any data from server,
+
+
+---
+
+* [HBASE-17448](https://issues.apache.org/jira/browse/HBASE-17448) | *Major* | **Export metrics from RecoverableZooKeeper**
+
+Committed to master and branch-1
+
+
+---
+
+* [HBASE-19400](https://issues.apache.org/jira/browse/HBASE-19400) | *Major* | **Add missing security checks in MasterRpcServices**
+
+Added ACL check to following Admin functions:
+enableCatalogJanitor, runCatalogJanitor, cleanerChoreSwitch, runCleanerChore, execProcedure, execProcedureWithReturn, normalize, normalizerSwitch, coprocessorService.
+When ACL is enabled, only those with ADMIN rights will be able to invoke these operations successfully.
+
+
+---
+
+* [HBASE-20048](https://issues.apache.org/jira/browse/HBASE-20048) | *Blocker* | **Revert serial replication feature**
+
+Revert the serial replication feature from all branches. Plan to reimplement it soon and land onto 2.1 release line.
+
+
+---
+
+* [HBASE-19166](https://issues.apache.org/jira/browse/HBASE-19166) | *Blocker* | **AsyncProtobufLogWriter persists ProtobufLogWriter as class name for backward compatibility**
+
+For backward compatibility, AsyncProtobufLogWriter uses "ProtobufLogWriter" as writer class name and SecureAsyncProtobufLogWriter uses "SecureProtobufLogWriter" as writer class name.
+
+
+---
+
+* [HBASE-18596](https://issues.apache.org/jira/browse/HBASE-18596) | *Blocker* | **[TEST] A hbase1 cluster should be able to replicate to a hbase2 cluster; verify**
+
+Replication between versions verified as basically working. 0.98.25-SNAPSHOT to beta-2 hbase2 and a 1.2-ish version tried.
+
+
+---
+
+* [HBASE-20017](https://issues.apache.org/jira/browse/HBASE-20017) | *Blocker* | **BufferedMutatorImpl submit the same mutation repeatedly**
+
+This change fixes multithreading issues in the implementation of BufferedMutator. BufferedMutator should not be used with 1.4 releases prior to 1.4.2.
+
+
+---
+
+* [HBASE-20032](https://issues.apache.org/jira/browse/HBASE-20032) | *Minor* | **Receving multiple warnings for missing reporting.plugins.plugin.version**
+
+Add (latest) version elements missing from reporting plugins in top-level pom.
+
+
+---
+
+* [HBASE-19954](https://issues.apache.org/jira/browse/HBASE-19954) | *Major* | **Separate TestBlockReorder into individual tests to avoid ShutdownHook suppression error against hadoop3**
+
+hadoop3 minidfscluster removes all shutdown handlers when the cluster goes down which made this test that does FS-stuff fail (Fix was to break up the test so each test method ran with an unadulterated FS).
+
+
+---
+
+* [HBASE-20014](https://issues.apache.org/jira/browse/HBASE-20014) | *Major* | **TestAdmin1 Times out**
+
+Ups the overall test timeout from 10 minutes to 13minutes. 15minutes is the surefire timeout.
+
+
+---
+
+* [HBASE-20020](https://issues.apache.org/jira/browse/HBASE-20020) | *Critical* | **Make sure we throw DoNotRetryIOException when ConnectionImplementation is closed**
+
+Add checkClosed to core Client methods. Avoid unnecessary retry.
+
+
+---
+
+* [HBASE-19978](https://issues.apache.org/jira/browse/HBASE-19978) | *Major* | **The keepalive logic is incomplete in ProcedureExecutor**
+
+Completes keep-alive logic and then enables it; ProcedureExecutor Workers will spin up more threads when need settling back to the core count after the burst in demand has passed. Default keep-alive is one minute. Default core-count is CPUs/4 or 16, which ever is greater. Maximum is an arbitrary core-count \* 10 (a limit that should never be hit and if it is, there is something else very wrong).
+
+
+---
+
+* [HBASE-19950](https://issues.apache.org/jira/browse/HBASE-19950) | *Minor* | **Introduce a ColumnValueFilter**
+
+ColumnValueFilter provides a way to fetch matched cells only by providing specified column, value and a comparator, which is different from SingleValueFilter, fetching an entire row as soon as a matched cell found.
+
+
+---
+
+* [HBASE-18294](https://issues.apache.org/jira/browse/HBASE-18294) | *Major* | **Reduce global heap pressure: flush based on heap occupancy**
+
+A region is flushed if its memory component exceeds the region flush threshold.
+A flush policy decides which stores to flush by comparing the size of the store to a column-family-flush threshold.
+If the overall size of all memstores in the machine exceeds the bounds defined by the administrator (denoted global pressure) a region is selected and flushed.
+HBASE-18294 changes flush decisions to be based on heap-occupancy and not data (key-value) size, consistently across levels. This rolls back some of the changes by HBASE-16747. Specifically,
+(1) RSs, Regions and stores track their overall on-heap and off-heap occupancy,
+(2) A region is flushed when its on-heap+off-heap size exceeds the region flush threshold specified in hbase.hregion.memstore.flush.size,
+(3) The store to be flushed is chosen based on its on-heap+off-heap size
+(4) At the RS level, a flush is triggered when the overall on-heap exceeds the on-heap limit, or when the overall off-heap size exceeds the off-heap limit (low/high water marks).
+
+Note that when the region flush size is set to XXmb a region flush may be triggered even before writing keys and values of size XX because the total heap occupancy of the region which includes additional metadata exceeded the threshold.
+
+
+---
+
+* [HBASE-19116](https://issues.apache.org/jira/browse/HBASE-19116) | *Critical* | **Currently the tail of hfiles with CellComparator\* classname makes it so hbase1 can't open hbase2 written hfiles; fix**
+
+hbase-2.x sets KeyValue Comparators into the tail of hfiles rather than CellComparator, what it uses internally, just so hbase-1.x can continue to read hbase-2.x written hfiles.
+
+
+---
+
+* [HBASE-19948](https://issues.apache.org/jira/browse/HBASE-19948) | *Major* | **Since HBASE-19873, HBaseClassTestRule, Small/Medium/Large has different semantic**
+
+In subtask, fixed doc and annotations to be more explicit that test timings are for the whole Test Fixture/Test Class/Test Suite NOT the test method only as we'd measuring up to this (tother subtasks untethered Categorization and test timeout such that all categories now have a ten minute timeout -- no test can run longer than ten minutes or it gets killed/timedout).
+
+
+---
+
+* [HBASE-16060](https://issues.apache.org/jira/browse/HBASE-16060) | *Blocker* | **1.x clients cannot access table state talking to 2.0 cluster**
+
+By default, we mirror table state to zookeeper so hbase-1.x clients will work against an hbase-2 cluster (With this patch, hbase-1.x clients can do most Admin functions including table create; hbase-1.x clients can do all Table/DML against hbase-2 cluster).
+
+Flag to disable mirroring is hbase.mirror.table.state.to.zookeeper; set it to false in Configuration.
+
+Related, Master on startup will look to see if there are table state znodes left over by an hbase-1 instance. If any found, it will migrate the table state to hbase-2 setting the state into the hbase:meta table where table state is now kept. We will do this check on every Master start. Notion is that this will be overall beneficial with low impediment. To disable the migration check, set hbase.migrate.table.state.from.zookeeper to false.
+
+
+---
+
+* [HBASE-19900](https://issues.apache.org/jira/browse/HBASE-19900) | *Critical* | **Region-level exception destroy the result of batch**
+
+This fix makes the following changes to how client handle the both of action result and region exception.
+1) honor the action result rather than region exception. If the action have both of true result and region exception, the action is fine as the exception is caused by other actions which are in the same region.
+2) honor the action exception rather than region exception. If the action have both of action exception and region exception, we deal with the action exception only. If we also handle the region exception for the same action, it will introduce the negative count of actions in progress. The AsyncRequestFuture#waitUntilDone will block forever.
+
+
+---
+
+* [HBASE-19841](https://issues.apache.org/jira/browse/HBASE-19841) | *Major* | **Tests against hadoop3 fail with StreamLacksCapabilityException**
+
+HBaseTestingUtility now assumes that all clusters will use local storage until a MiniDFSCluster is started or assigned.
+
+
+---
+
+* [HBASE-19528](https://issues.apache.org/jira/browse/HBASE-19528) | *Major* | **Major Compaction Tool**
+
+Tool allows you to compact a cluster with given concurrency of regionservers compacting at a given time.  If tool completes successfully everything requested for compaction will be compacted, regardless of region moves, splits and merges.
+
+
+---
+
+* [HBASE-19919](https://issues.apache.org/jira/browse/HBASE-19919) | *Major* | **Tidying up logging**
+
+(I thought this change innocuous but I made work for a co-worker when I upped interval between log cleaner runs -- meant a smoke test failed because we were slow doing an expected cleanup).
+
+Edit of log lines removing redundancy. Shorten thread names shown in log.  Made some log TRACE instead of DEBUG.  Capitalizations.
+
+Upped log cleaner interval from every minute to every ten minutes. hbase.master.cleaner.interval
+
+Lowered default count of threads started by Procedure Executor from count of CPUs to 1/4 of count of CPUs.
+
+
+---
+
+* [HBASE-19901](https://issues.apache.org/jira/browse/HBASE-19901) | *Major* | **Up yetus proclimit on nightlies**
+
+Pass to yetus a dockermemlimit of 20G and a proclimit of 10000. Defaults are 4G and 1G respectively.
+
+
+---
+
+* [HBASE-19912](https://issues.apache.org/jira/browse/HBASE-19912) | *Minor* | **The flag "writeToWAL" of Region#checkAndRowMutate is useless**
+
+Remove useless 'writeToWAL' flag of Region#checkAndRowMutate & related class
+
+
+---
+
+* [HBASE-19911](https://issues.apache.org/jira/browse/HBASE-19911) | *Major* | **Convert some tests from small to medium because they are timing out: TestNettyRpcServer, TestClientClusterStatus, TestCheckTestClasses**
+
+Changed a few tests so they are medium sized rather than small size.
+
+Also, upped the time we wait on small tests to 60seconds from 30seconds. Small tests are tests that run in 15seconds or less. What we changed was the timeout watcher. It is now more lax, more tolerant of dodgy infrastructure that might be running tests slowly.
+
+
+---
+
+* [HBASE-19892](https://issues.apache.org/jira/browse/HBASE-19892) | *Major* | **Checking 'patch attach' and yetus 0.7.0 and move to Yetus 0.7.0**
+
+Moved our internal yetus reference from 0.6.0 to 0.7.0. Concurrently, I changed hadoopqa to run with 0.7.0 (by editing the config in jenkins).
+
+
+---
+
+* [HBASE-19873](https://issues.apache.org/jira/browse/HBASE-19873) | *Major* | **Add a CategoryBasedTimeout ClassRule for all UTs**
+
+Along with @category -- small, medium, large -- all hbase tests must now carry a ClassRule as follows:
+
++  @ClassRule
++  public static final HBaseClassTestRule CLASS\_RULE =
++      HBaseClassTestRule.forClass(TestInterfaceAudienceAnnotations.class);
+
+where the class changes by test.
+
+Currently the classrule enforces timeout for the whole test suite -- i.e. if a SmallTest Category then all the tests in the TestSuite must complete inside 60seconds, the timeout we set on SmallTest Category test suite -- but is meant to be a repository for general, runtime, hbase test facility.
+
+
+---
+
+* [HBASE-19770](https://issues.apache.org/jira/browse/HBASE-19770) | *Critical* | **Add '--return-values' option to Shell to print return values of commands in interactive mode**
+
+Introduces a new option to the HBase shell: -r, --return-values. When the shell is in "interactive" mode (default), the return value of shell commands are not returned to the user as they dirty the console output. For those who desire this functionality, the "--return-values" option restores the old functionality of the commands passing their return value to the user.
+
+
+---
+
+* [HBASE-15321](https://issues.apache.org/jira/browse/HBASE-15321) | *Major* | **Ability to open a HRegion from hdfs snapshot.**
+
+HRegion.openReadOnlyFileSystemHRegion() provides the ability to open HRegion from a read-only hdfs snapshot.  Because hdfs snapshots are read-only, no cleanup happens when using this API.
+
+
+---
+
+* [HBASE-17513](https://issues.apache.org/jira/browse/HBASE-17513) | *Critical* | **Thrift Server 1 uses different QOP settings than RPC and Thrift Server 2 and can easily be misconfigured so there is no encryption when the operator expects it.**
+
+This change fixes an issue where users could have unintentionally configured the HBase Thrift1 server to run without wire-encryption, when they believed they had configured the Thrift1 server to do so.
+
+
+---
+
+* [HBASE-19828](https://issues.apache.org/jira/browse/HBASE-19828) | *Major* | **Flakey TestRegionsOnMasterOptions.testRegionsOnAllServers**
+
+Disables TestRegionsOnMasterOptions because Regions on Master does not work reliably; see HBASE-19831.
+
+
+---
+
+* [HBASE-18963](https://issues.apache.org/jira/browse/HBASE-18963) | *Major* | **Remove MultiRowMutationProcessor and implement mutateRows... methods using batchMutate()**
+
+Modified HRegion.mutateRow() APIs to use batchMutate() instead of processRowsWithLocks() with MultiRowMutationProcessor. MultiRowMutationProcessor is removed to have single write path that uses batchMutate().
+
+
+---
+
+* [HBASE-19163](https://issues.apache.org/jira/browse/HBASE-19163) | *Major* | **"Maximum lock count exceeded" from region server's batch processing**
+
+When there are many mutations against the same row in a batch, as each mutation will acquire a shared row lock, it will exceed the maximum shared lock count the java ReadWritelock supports (64k). Along with other optimization, the batch is divided into multiple possible minibatches. A new config is added to limit the maximum number of mutations in the minibatch.
+
+   \<property\>
+    \<name\>hbase.regionserver.minibatch.size\</name\>
+    \<value\>20000\</value\>
+   \</property\>
+The default value is 20000.
+
+
+---
+
+* [HBASE-19739](https://issues.apache.org/jira/browse/HBASE-19739) | *Minor* | **Include thrift IDL files in HBase binary distribution**
+
+Thrift IDLs are now shipped, bundled up in the respective hbase-\*thrift.jars (look for files ending in .thrift).
+
+
+---
+
+* [HBASE-11409](https://issues.apache.org/jira/browse/HBASE-11409) | *Major* | **Add more flexibility for input directory structure to LoadIncrementalHFiles**
+
+Allows for users to bulk load entire tables from hdfs by specifying the parameter -loadTable.  This allows you to pass in a table level directory and have all regions column families bulk loaded, if you do not specify the -loadTable parameter LoadIncrementalHFiles will work as before. Note: you must have a pre-created table to run with -loadTable it will not create one for you.
+
+
+---
+
+* [HBASE-19769](https://issues.apache.org/jira/browse/HBASE-19769) | *Critical* | **IllegalAccessError on package-private Hadoop metrics2 classes in MapReduce jobs**
+
+Client-side ZooKeeper metrics which were added to 2.0.0 alpha/beta releases cause issues when launching MapReduce jobs via {{yarn jar}} on the command line. This stems from ClassLoader separation issues that YARN implements. It was chosen that the easiest solution was to remove these ZooKeeper metrics entirely.
+
+
+---
+
+* [HBASE-19783](https://issues.apache.org/jira/browse/HBASE-19783) | *Minor* | **Change replication peer cluster key/endpoint from a not-null value to null is not allowed**
+
+To reduce the confusing behavior, now when you call updatePeerConfig with empty ClusterKey or ReplicationEndpointImpl, but the value of field of the to-be-updated ReplicationPeerConfig is not null, we will throw exception instead of ignoring them.
+
+
+---
+
+* [HBASE-19483](https://issues.apache.org/jira/browse/HBASE-19483) | *Major* | **Add proper privilege check for rsgroup commands**
+
+This JIRA aims at refactoring AccessController, using ACL as core library in CPs.
+1. Stripping out a public class AccessChecker from AccessController, using ACL as core library in CPs. AccessChecker don't have any dependency on anything CP related. Create it's instance from other CPS.
+2. Change the default value of hbase.security.authorization to false.
+3. Don't use CP hooks to check access in RSGroup. Use the access checker instance directly in functions of RSGroupAdminServiceImpl.
+
+
+---
+
+* [HBASE-19358](https://issues.apache.org/jira/browse/HBASE-19358) | *Major* | **Improve the stability of splitting log when do fail over**
+
+After HBASE-19358 we introduced a new property hbase.split.writer.creation.bounded to limit the opening writers for each WALSplitter. If set to true, we won't open any writer for recovered.edits until the entries accumulated in memory reaching hbase.regionserver.hlog.splitlog.buffersize (which defaults at 128M) and will write and close the file in one go instead of keeping the writer open. It's false by default and we recommend to set it to true if your cluster has a high region load (like more than 300 regions per RS), especially when you observed obvious NN/HDFS slow down during hbase (single RS or cluster) failover.
+
+
+---
+
+* [HBASE-19651](https://issues.apache.org/jira/browse/HBASE-19651) | *Minor* | **Remove LimitInputStream**
+
+HBase had copied from guava the file LmiitedInputStream. This commit removes the copied file in favor of (our internal, shaded) guava's ByteStreams.limit. Guava 14.0's LIS noted: "Use ByteStreams.limit(java.io.InputStream, long) instead. This class is scheduled to be removed in Guava release 15.0."
+
+
+---
+
+* [HBASE-19691](https://issues.apache.org/jira/browse/HBASE-19691) | *Critical* | **Do not require ADMIN permission for obtaining ClusterStatus**
+
+This change reverts an unintentional requirement for global ADMIN permission to obtain cluster status from the active HMaster.
+
+
+---
+
+* [HBASE-19486](https://issues.apache.org/jira/browse/HBASE-19486) | *Major* | ** Periodically ensure records are not buffered too long by BufferedMutator**
+
+The BufferedMutator now supports two settings that are used to ensure records do not stay too long in the buffer of a BufferedMutator. For periodically flushing the BufferedMutator there is now a "Timeout": "How old may the oldest record in the buffer be before we force a flush" and a "TimerTick": How often do we check if the timeout has been exceeded. Using these settings you can make the BufferedMutator automatically flush the write buffer if after the specified number of milliseconds no flush has occurred.
+
+This is mainly useful in streaming scenarios (i.e. writing data into HBase using Apache Flink/Beam/Storm) where it is common (especially in a test/development situation) to see small unpredictable bursts of data that need to be written into HBase. When using the BufferedMutator till now the effect was that records would remain in the write buffer until the buffer was full or an explicit flush was triggered. In practice this would mean that the 'last few records' of a burst would remain in the write buffer until the next burst arrives filling the buffer to capacity and thus triggering a flush.
+
+
+---
+
+* [HBASE-19670](https://issues.apache.org/jira/browse/HBASE-19670) | *Major* | **Workaround: Purge User API building from branch-2 so can make a beta-1**
+
+Disable filtering of User API based off yetus annotation done in doclet. See parent issue for build failure currently being worked on but not done in time for a beta-1.
+
+
+---
+
+* [HBASE-19282](https://issues.apache.org/jira/browse/HBASE-19282) | *Major* | **CellChunkMap Benchmarking and User Interface**
+
+When MSLAB is in use (that is the default config) , we will always use the CellChunkMap indexing variant for in memory flushed Immutable segments. When MSLAB is turned off, we will use CellAraryMap. These can not be changed with any configs.  The in memory flush threshold been made to be default to 10% of region flush size. This can be turned using 'hbase.memstore.inmemoryflush.threshold.factor'.
+
+
+---
+
+* [HBASE-19628](https://issues.apache.org/jira/browse/HBASE-19628) | *Major* | **ByteBufferCell should extend ExtendedCell**
+
+ByteBufferCell → ByteBufferExtendedCell
+MapReduceCell → MapReduceExtendedCell
+ByteBufferChunkCell → ByteBufferChunkKeyValue
+NoTagByteBufferChunkCell → NoTagByteBufferChunkKeyValue
+KeyOnlyByteBufferCell → KeyOnlyByteBufferExtendedCell
+TagRewriteByteBufferCell → TagRewriteByteBufferExtendedCell
+ValueAndTagRewriteByteBufferCell → ValueAndTagRewriteByteBufferExtendedCell
+EmptyByteBufferCell → EmptyByteBufferExtendedCell
+FirstOnRowByteBufferCell → FirstOnRowByteBufferExtendedCell
+LastOnRowByteBufferCell → LastOnRowByteBufferExtendedCell
+FirstOnRowColByteBufferCell → FirstOnRowColByteBufferExtendedCell
+FirstOnRowColTSByteBufferCell → FirstOnRowColTSByteBufferExtendedCell
+LastOnRowColByteBufferCell → LastOnRowColByteBufferCell
+OffheapDecodedCell → OffheapDecodedExtendedCell
+
+
+---
+
+* [HBASE-19576](https://issues.apache.org/jira/browse/HBASE-19576) | *Major* | **Introduce builder for ReplicationPeerConfig and make it immutable**
+
+Add a ReplicationPeerConfigBuilder to create ReplicationPeerConfig and make ReplicationPeerConfig immutable. Meanwhile, deprecated set\* methods in ReplicationPeerConfig.
+
+
+---
+
+* [HBASE-10092](https://issues.apache.org/jira/browse/HBASE-10092) | *Critical* | **Move to slf4j**
+
+We now have slf4j as our front-end. Be careful adding logging from here on out; make sure it slf4j.
+
+From here on out, as us devs go, we need to convert log messages from being 'guarded' -- i.e. surrounded by if (LOG.isDebugEnabled...) -- to instead being parameterized log messages. e.g. the latter rather than the former in the below:
+
+logger.debug("The new entry is "+entry+".");
+logger.debug("The new entry is {}.", entry);
+
+See [1] for background on perf benefits.
+
+Note, FATAL log level is not present in slf4j. It is noted as a Marker but won't show in logs as a LEVEL.
+
+1.  https://www.slf4j.org/faq.html#logging\_performance
+
+
+---
+
+* [HBASE-19148](https://issues.apache.org/jira/browse/HBASE-19148) | *Blocker* | **Reevaluate default values of configurations**
+
+Removed unused hbase.fs.tmp.dir from hbase-default.xml.
+
+Upped hbase.master.fileSplitTimeout from 30s to 10minutes (suggested by production experience)
+
+Added note that handler-count should be ~CPU count.
+
+hbase.regionserver.logroll.multiplier has been changed from 0.95 to 0.5 AND the default block size has been doubled.
+
+A few of the core configs are now dumped to the log on startup.
+
+
+---
+
+* [HBASE-19492](https://issues.apache.org/jira/browse/HBASE-19492) | *Major* | **Add EXCLUDE\_NAMESPACE and EXCLUDE\_TABLECFS support to replication peer config**
+
+Add two new field:  EXCLUDE\_NAMESPACE and EXCLUDE\_TABLECFS to replication peer config.
+
+If replicate\_all flag is true, it means all user tables will be replicated to peer cluster. Then allow config exclude namespaces or exclude table-cfs which can't be replicated to  peer cluster.
+
+If replicate\_all flag is false, it means all user tables can't be replicated to peer cluster. Then allow to config namespaces or table-cfs which will be replicated to peer cluster.
+
+
+---
+
+* [HBASE-19494](https://issues.apache.org/jira/browse/HBASE-19494) | *Major* | **Create simple WALKey filter that can be plugged in on the Replication Sink**
+
+Adds means of adding very basic filter on the sink side of replication. We already have a means of installing filter source-side, which is better place to filter edits before they are shipped over the network, but this facility is needed by hbase-indexer.
+
+Set hbase.replication.sink.walentrysinkfilter with a no-param Constructor implementation. See test in patch for example.
+
+
+---
+
+* [HBASE-19112](https://issues.apache.org/jira/browse/HBASE-19112) | *Blocker* | **Suspect methods on Cell to be deprecated**
+
+Adds method Cell#getType which returns enum describing Cell Type.
+
+Deprecates the following Cell methods:
+
+ getTypeByte
+ getSequenceId
+ getTagsArray
+ getTagsOffset
+ getTagsLength
+
+CPs trying to build cells should use RawCellBuilderFactory that supports  building cells with tags.
+
+
+---
+
+* [HBASE-14790](https://issues.apache.org/jira/browse/HBASE-14790) | *Major* | **Implement a new DFSOutputStream for logging WAL only**
+
+Implement a FanOutOneBlockAsyncDFSOutput for writing WAL only, the WAL provider which uses this class is AsyncFSWALProvider.
+
+It is based on netty, and will write to 3 DNs at the same time concurrently(fan-out) so generally it will lead to a lower latency. And it is also fail-fast, the stream will become unwritable immediately after there are any read/write errors, no pipeline recovery. You need to call recoverLease to force close the output for this case. And it only supports to write a file with a single block. For WAL this is a good behavior as we can always open a new file when the old one is broken. The performance analysis in HBASE-16890 shows that it has a better performance.
+
+Behavior changes:
+1. As now we write to 3 DNs concurrently, according to the visibility guarantee of HDFS, the data will be available immediately when arriving at DN since all the DNs will be considered as the last one in pipeline. This means replication may read uncommitted data and replicate it to the remote cluster and cause data inconsistency. HBASE-14004 is used to solve the problem.
+2. There will be no sync failure. When the output is broken, we will open a new file and write all the unacked wal entries to the new file. This means that we may have duplicated entries in wal files. HBASE-14949 is used to solve this problem.
+
+
+---
+
+* [HBASE-15536](https://issues.apache.org/jira/browse/HBASE-15536) | *Critical* | **Make AsyncFSWAL as our default WAL**
+
+Now the default WALProvider is AsyncFSWALProvider, i.e. 'asyncfs'.
+If you want to change back to use FSHLog, please add this in hbase-site.xml
+{code}
+\<property\>
+\<name\>hbase.wal.provider\</name\>
+\<value\>filesystem\</value\>
+\</property\>
+{code}
+If you want to use FSHLog with multiwal, please add this in hbase-site.xml
+{code}
+\<property\>
+\<name\>hbase.wal.regiongrouping.delegate.provider\</name\>
+\<value\>filesystem\</value\>
+\</property\>
+{code}
+
+This patch also sets hbase.wal.async.use-shared-event-loop to false so WAL has its own netty event group.
+
+
+---
+
+* [HBASE-19462](https://issues.apache.org/jira/browse/HBASE-19462) | *Major* | **Deprecate all addImmutable methods in Put**
+
+Deprecates Put#addImmutable as of release 2.0.0, this will be removed in HBase 3.0.0. Use {@link #add(Cell)} and {@link org.apache.hadoop.hbase.CellBuilder} instead
+
+
+---
+
+* [HBASE-19213](https://issues.apache.org/jira/browse/HBASE-19213) | *Minor* | **Align check and mutate operations in Table and AsyncTable**
+
+In Table interface deprecate checkAndPut, checkAndDelete and checkAndMutate methods.
+Similarly to AsyncTable a new method was added to replace the deprecated ones: CheckAndMutateBuilder checkAndMutate(byte[] row, byte[] family) with CheckAndMutateBuilder interface which can be used to construct the checkAnd\*() operations.
+
+
+---
+
+* [HBASE-19134](https://issues.apache.org/jira/browse/HBASE-19134) | *Major* | **Make WALKey an Interface; expose Read-Only version to CPs**
+
+Made WALKey an Interface and added a WALKeyImpl implementation. WALKey comes through to Coprocessors. WALKey is read-only.
+
+
+---
+
+* [HBASE-18169](https://issues.apache.org/jira/browse/HBASE-18169) | *Blocker* | **Coprocessor fix and cleanup before 2.0.0 release**
+
+Refactor of Coprocessor API for hbase2. Purged methods that exposed too much of our internals. Other hooks were recast so they no longer took or returned internal classes; instead we pass Interfaces or read-only versions of implementations.
+
+Here is some overview doc on changes in hbase2 for Coprocessors including detail on why the change was made:
+https://github.com/apache/hbase/blob/branch-2.0/dev-support/design-docs/Coprocessor\_Design\_Improvements-Use\_composition\_instead\_of\_inheritance-HBASE-17732.adoc
+
+
+---
+
+* [HBASE-19301](https://issues.apache.org/jira/browse/HBASE-19301) | *Major* | **Provide way for CPs to create short circuited connection with custom configurations**
+
+Provided a way for the CP users to create a short circuitable connection with custom configs.
+
+createConnection(Configuration) is added to MasterCoprocessorEnvironment, RegionServerCoprocessorEnvironment and RegionCoprocessorEnvironment.
+
+The getConnection() method already available in these Env interfaces returns the cluster connection used by the server (which the server also uses) where as this new method will create a new connection on request. The difference from connection created using ConnectionFactory APIs is that this connection can short circuit the calls to same server avoiding the RPC paths. The connection will NOT be cached/maintained by server. That should be done the CPs.
+
+Be careful creating Connections out of a Coprocessor. See the javadoc on these createConnection and getConnection.
+
+
+---
+
+* [HBASE-19357](https://issues.apache.org/jira/browse/HBASE-19357) | *Major* | **Bucket cache no longer L2 for LRU cache**
+
+Removed cacheDataInL1 option for HCD
+BucketCache is no longer the L2 for LRU on heap cache. When BC is used, data blocks will be strictly on BC only where as index/bloom blocks are on LRU L1 cache.
+Config 'hbase.bucketcache.combinedcache.enabled' is removed. There is no way set combined mode = false. Means make BC as victim handler for LRU cache.
+This will be one more noticeable change when one uses BucketCache in File mode.  Then the system table's data block(Including the META table)  will be cached in Bucket Cache files only. Plain scan from META files alone test reveal that the throughput of file mode BC is almost half only.  But for META entries we have RegionLocation cache at client side connections. So this would not be a big concern in a real cluster usage. Will check more on this and probably fix even when we do tiered BucketCache.
+
+
+---
+
+* [HBASE-19430](https://issues.apache.org/jira/browse/HBASE-19430) | *Major* | **Remove the SettableTimestamp and SettableSequenceId**
+
+All the cells which are used in server side are of ExtendedCell now.
+
+
+---
+
+* [HBASE-19295](https://issues.apache.org/jira/browse/HBASE-19295) | *Major* | **The Configuration returned by CPEnv should be read-only.**
+
+CoprocessorEnvironment#getConfiguration returns a READ-ONLY Configuration. Attempts at altering the returned Configuration -- whether setting or adding resources -- will result in an IllegalStateException warning of the Read-only condition of the returned Configuration.
+
+
+---
+
+* [HBASE-19410](https://issues.apache.org/jira/browse/HBASE-19410) | *Major* | **Move zookeeper related UTs to hbase-zookeeper and mark them as ZKTests**
+
+There is a new HBaseZKTestingUtility which can only start a mini zookeeper cluster. And we will publish sources for test-jar for all modules.
+
+
+---
+
+* [HBASE-19323](https://issues.apache.org/jira/browse/HBASE-19323) | *Major* | **Make netty engine default in hbase2**
+
+NettyRpcServer is now our default RPC server replacing SimpleRpcServer.
+
+
+---
+
+* [HBASE-19426](https://issues.apache.org/jira/browse/HBASE-19426) | *Major* | **Move has() and setTimestamp() to Mutation**
+
+Moves #has and #setTimestamp back up to Mutation from the subclass Put so available to other Mutation implementations.
+
+
+---
+
+* [HBASE-19384](https://issues.apache.org/jira/browse/HBASE-19384) | *Critical* | **Results returned by preAppend hook in a coprocessor are replaced with null from other coprocessor even on bypass**
+
+When a coprocessor sets 'bypass', we will skip calling subsequent Coprocessors that may be stacked-up on the method invocation; e.g. if a prePut has three coprocessors hooked up, if the first coprocessor decides to set 'bypass', we will not call the two subsequent coprocessors (this is similar to the 'complete' functionality that was in hbase1, removed in hbase2).
+
+
+---
+
+* [HBASE-19408](https://issues.apache.org/jira/browse/HBASE-19408) | *Trivial* | **Remove WALActionsListener.Base**
+
+1) remove the WALActionsListener.Base
+2) provide default method implementation to WALActionsListener
+The person who want to receive the notification of WAL events should implements the WALActionsListener rather than WALActionsListener.Base.
+
+
+---
+
+* [HBASE-19339](https://issues.apache.org/jira/browse/HBASE-19339) | *Critical* | **Eager policy results in the negative size of memstore**
+
+Enable TestAcidGuaranteesWithEagerPolicy and TestAcidGuaranteesWithAdaptivePolicy
+
+
+---
+
+* [HBASE-19336](https://issues.apache.org/jira/browse/HBASE-19336) | *Major* | **Improve rsgroup to allow assign all tables within a specified namespace by only writing namespace**
+
+Add two new shell cmd.
+move\_namespaces\_rsgroup is used to reassign tables of specified namespaces from one RegionServer group to another.
+move\_servers\_namespaces\_rsgroup is used to reassign regionServers and tables of specified namespaces from one group to another.
+
+
+---
+
+* [HBASE-19285](https://issues.apache.org/jira/browse/HBASE-19285) | *Critical* | **Add per-table latency histograms**
+
+Per-RegionServer table latency histograms have been returned to HBase (after being removed due to impacting performance). These metrics are exposed via a new JMX bean "TableLatencies" with the typical naming conventions: namespace, table, and histogram component.
+
+
+---
+
+* [HBASE-19359](https://issues.apache.org/jira/browse/HBASE-19359) | *Major* | **Revisit the default config of hbase client retries number**
+
+The default value of hbase.client.retries.number was 35. It is now 10.
+And for server side, the default hbase.client.serverside.retries.multiplier was 10. So the server side retries number was 35 \* 10 = 350. It is now 3.
+
+
+---
+
+* [HBASE-18090](https://issues.apache.org/jira/browse/HBASE-18090) | *Major* | **Improve TableSnapshotInputFormat to allow more multiple mappers per region**
+
+In this task, we make it possible to run multiple mappers per region in the table snapshot. The following code is primary table snapshot mapper initializatio:
+
+TableMapReduceUtil.initTableSnapshotMapperJob(
+          snapshotName,                     // The name of the snapshot (of a table) to read from
+          scan,                                      // Scan instance to control CF and attribute selection
+          mapper,                                 // mapper
+          outputKeyClass,                   // mapper output key
+          outputValueClass,                // mapper output value
+          job,                                       // The current job to adjust
+          true,                                     // upload HBase jars and jars for any of the configured job classes via the distributed cache (tmpjars)
+          restoreDir,                           // a temporary directory to copy the snapshot files into
+);
+
+The job only run one map task per region in the table snapshot. With this feature, client can specify the desired num of mappers when init table snapshot mapper job:
+
+TableMapReduceUtil.initTableSnapshotMapperJob(
+          snapshotName,                     // The name of the snapshot (of a table) to read from
+          scan,                                      // Scan instance to control CF and attribute selection
+          mapper,                                 // mapper
+          outputKeyClass,                   // mapper output key
+          outputValueClass,                // mapper output value
+          job,                                       // The current job to adjust
+          true,                                     // upload HBase jars and jars for any of the configured job classes via the distributed cache (tmpjars)
+          restoreDir,                           // a temporary directory to copy the snapshot files into
+          splitAlgorithm,                     // splitAlgo algorithm to split, current split algorithms  support RegionSplitter.UniformSplit() and RegionSplitter.HexStringSplit()
+          n                                         // how many input splits to generate per one region
+);
+
+
+---
+
+* [HBASE-19035](https://issues.apache.org/jira/browse/HBASE-19035) | *Major* | **Miss metrics when coprocessor use region scanner to read data**
+
+1. Move read requests count to region level. Because RegionScanner is exposed to CP.
+2. Update write requests count in processRowsWithLocks.
+3. Remove requestRowActionCount in RSRpcServices. This metric can be computed by region's readRequestsCount and writeRequestsCount.
+
+
+---
+
+* [HBASE-19318](https://issues.apache.org/jira/browse/HBASE-19318) | *Critical* | **MasterRpcServices#getSecurityCapabilities explicitly checks for the HBase AccessController implementation**
+
+Fixes an issue with loading customer coprocessor endpoint implementations inside of the HBase Master which breaks Apache Ranger.
+
+
+---
+
+* [HBASE-19092](https://issues.apache.org/jira/browse/HBASE-19092) | *Critical* | **Make Tag IA.LimitedPrivate and expose for CPs**
+
+This JIRA aims at exposing Tags for Coprocessor usage.
+Tag interface is now exposed to Coprocessors and CPs can make use of this interface to create their own Tags.
+RawCell is a new interface that is a subtype of Cell and that is exposed to CPs. RawCell has the following APIs
+
+List\<Tag\> getTags()
+Optional\<Tag\> getTag(byte type)
+byte[] cloneTags()
+
+The above APIs helps to read tags from the Cell.
+
+CellUtil#createCell(Cell cell, List\<Tag\> tags)
+CellUtil#createCell(Cell cell, byte[] tags)
+CellUtil#createCell(Cell cell, byte[] value, byte[] tags)
+are deprecated.
+If CPs want to create a cell with Tags they can use the RegionCoprocessorEnvironment#getCellBuilder() that returns an ExtendedCellBuilder.
+Using ExtendedCellBuilder the CP can create Cells with Tags. Other helper methods to work on Tags are available as static APIs in Tag interface.
+
+
+---
+
+* [HBASE-19266](https://issues.apache.org/jira/browse/HBASE-19266) | *Minor* | **TestAcidGuarantees should cover adaptive in-memory compaction**
+
+separate the TestAcidGuarantees by the policy:
+1) NONE -\> TestAcidGuaranteesWithNoInMemCompaction
+2) BASIC -\> TestAcidGuaranteesWithBasicPolicy
+3) EAGER -\> TestAcidGuaranteesWithEagerPolicy
+4) ADAPTIVE -\> TestAcidGuaranteesWithAdaptivePolicy
+
+TestAcidGuaranteesWithEagerPolicy and TestAcidGuaranteesWithAdaptivePolicy are disabled by default as the eager policy may cause the negative size of memstore.
+
+
+---
+
+* [HBASE-16868](https://issues.apache.org/jira/browse/HBASE-16868) | *Critical* | **Add a replicate\_all flag to avoid misuse the namespaces and table-cfs config of replication peer**
+
+Add a replicate\_all flag to replication peer config. The default value is true, which means all user tables (REPLICATION\_SCOPE != 0 ) will be replicated to peer cluster.
+
+How to config a peer from replicate all to only replicate special namespace/tablecfs?
+Step1. Add a new peer with no namespace/tablecfs config, the replicate\_all flag will be true automatically.
+Step2. User want only replicate some namespaces or tables, so set replicate\_all flag to false first.
+Step3. Add special namespaces or table-cfs config to the replication peer.
+
+How to config a peer from replicate special namespace/tablecfs to replicate all?
+Step1. Add a new peer with special namespace/tablecfs config, the replicate\_all flag will be false automatically.
+Step2. User want replicate all user tables, so remove the special namespace/tablecfs config first.
+Step3. Set replicate\_all flag to true.
+
+How to config replicate nothing?
+Set replicate\_all flag to false and no namespace/tablecfs config, then all tables cannot be replicated to peer cluster.
+
+
+---
+
+* [HBASE-19122](https://issues.apache.org/jira/browse/HBASE-19122) | *Critical* | **preCompact and preFlush can bypass by returning null scanner; shut it down**
+
+Remove the ability to 'bypass' preFlush and preCompact by returning a null Scanner. Bypass is disallowed on these methods in hbase2.
+
+
+---
+
+* [HBASE-19200](https://issues.apache.org/jira/browse/HBASE-19200) | *Major* | **make hbase-client only depend on ZKAsyncRegistry and ZNodePaths**
+
+ConnectionImplementation now uses asynchronous connections to zookeeper via ZKAsyncRegistry to get cluster id, master address, meta region location, etc.
+Since ZKAsyncRegistry uses curator framework, this change purges a lot of zookeeper dependencies in hbase-client.
+Now hbase-client only depends on only ZKAsyncRegistry, ZNodePaths and the newly introduced ZKMetadata.
+
+
+---
+
+* [HBASE-19311](https://issues.apache.org/jira/browse/HBASE-19311) | *Major* | **Promote TestAcidGuarantees to LargeTests and start mini cluster once to make it faster**
+
+Introduce a AcidGuaranteesTestTool and expose as tool instead of TestAcidGuarantees. Now TestAcidGuarantees is just a UT.
+
+
+---
+
+* [HBASE-19293](https://issues.apache.org/jira/browse/HBASE-19293) | *Major* | **Support adding a new replication peer in disabled state**
+
+Add a boolean parameter which means the new replication peer's state is enabled or disabled for Admin/AsyncAdmin's addReplicationPeer method. Meanwhile, you can use shell cmd to add a enabled/disabled replication peer. The STATE parameter is optional and the default state is enabled.
+
+hbase\> add\_peer '1', CLUSTER\_KEY =\> "server1.cie.com:2181:/hbase", STATE =\> "ENABLED"
+hbase\> add\_peer '1', CLUSTER\_KEY =\> "server1.cie.com:2181:/hbase", STATE =\> "DISABLED"
+
+
+---
+
+* [HBASE-19123](https://issues.apache.org/jira/browse/HBASE-19123) | *Major* | **Purge 'complete' support from Coprocesor Observers**
+
+This issue removes the 'complete' facility that was in ObserverContext. It is no longer possible for a Coprocessor to cut the chain-of-invocation and insist its response prevails.
+
+
+---
+
+* [HBASE-18911](https://issues.apache.org/jira/browse/HBASE-18911) | *Major* | **Unify Admin and AsyncAdmin's methods name**
+
+Deprecated 4 methods for Admin interface.
+Deprecated compactRegionServer(ServerName, boolean). Use compactRegionServer(ServerName) and majorCompactcompactRegionServer(ServerName) instead.
+Deprecated getRegionLoad(ServerName) method. Use getRegionLoads(ServerName) instead.
+Deprecated getRegionLoad(ServerName, TableName) method. Use getRegionLoads(ServerName, TableName) instead.
+Deprecated getQuotaRetriever(QuotaFilter) instead. Use  getQuota(QuotaFilter) instead.
+
+Add 7 methods for Admin interface.
+ServerName getMaster();
+Collection\<ServerName\> getBackupMasters();
+Collection\<ServerName\> getRegionServers();
+boolean splitSwitch(boolean enabled, boolean synchronous);
+boolean mergeSwitch(boolean enabled, boolean synchronous);
+boolean isSplitEnabled();
+boolean isMergeEnabled();
+
+
+---
+
+* [HBASE-18703](https://issues.apache.org/jira/browse/HBASE-18703) | *Critical* | **Inconsistent behavior for preBatchMutate in doMiniBatchMutate and processRowsWithLocks**
+
+Two write paths Region.batchMutate() and Region.mutateRows() are unified and inconsistencies are resolved.
+
+
+---
+
+* [HBASE-18964](https://issues.apache.org/jira/browse/HBASE-18964) | *Major* | **Deprecate RowProcessor and processRowsWithLocks() APIs that take RowProcessor as an argument**
+
+RowProcessor and Region#processRowsWithLocks() methods that take RowProcessor as an argument are deprecated. Use Coprocessors if you want to customize handling.
+
+
+---
+
+* [HBASE-19251](https://issues.apache.org/jira/browse/HBASE-19251) | *Major* | **Merge RawAsyncTable and AsyncTable**
+
+Merge the RawAsyncTable and AsyncTable interfaces. Use generic to reflection the difference between the observer style scan API. For the implementation which does not have a user specified thread pool, the observer is AdvancedScanResultConsumer. For the implementation which needs a user specified thread pool, the observer is ScanResultConsumer.
+
+
+---
+
+* [HBASE-19262](https://issues.apache.org/jira/browse/HBASE-19262) | *Major* | **Revisit checkstyle rules**
+
+Change the import order rule that now we should put the shaded import at bottom. Ignore the VisibilityModifier warnings for test code.
+
+
+---
+
+* [HBASE-19187](https://issues.apache.org/jira/browse/HBASE-19187) | *Minor* | **Remove option to create on heap bucket cache**
+
+Removing the on heap Bucket cache feature.
+The config "hbase.bucketcache.ioengine" no longer support the 'heap' value.
+Its supported values now are 'offheap',  'file:\<path\>', 'files:\<path\>'  and 'mmap:\<path\>'
+
+
+---
+
+* [HBASE-12350](https://issues.apache.org/jira/browse/HBASE-12350) | *Minor* | **Backport error-prone build support to branch-1 and branch-2**
+
+This change introduces compile time support for running the error-prone suite of static analyses. Enable with -PerrorProne on the Maven command line. Requires JDK 8 or higher. (Don't enable if building with JDK 7.)
+
+
+---
+
+* [HBASE-14350](https://issues.apache.org/jira/browse/HBASE-14350) | *Blocker* | **Procedure V2 Phase 2: Assignment Manager**
+
+(Incomplete)
+
+= Incompatbiles
+
+== Coprocessor Incompatibilities
+
+Split/Merge have moved to the Master; it runs them now. Means hooks around Split/Merge are now noops. To intercept Split/Merge phases, CPs need to intercept on MasterObserver.
+
+
+---
+
+* [HBASE-19189](https://issues.apache.org/jira/browse/HBASE-19189) | *Major* | **Ad-hoc test job for running a subset of tests lots of times**
+
+<!-- markdown -->
+
+Folks can now test out tests on an arbitrary release branch. Head over to [builds.a.o job "HBase-adhoc-run-tests"](https://builds.apache.org/view/H-L/view/HBase/job/HBase-adhoc-run-tests/), then pick "Build with parameters".
+Tests are specified as just names e.g. TestLogRollingNoCluster. can also be a glob. e.g. TestHFile*
+
+
+---
+
+* [HBASE-19220](https://issues.apache.org/jira/browse/HBASE-19220) | *Major* | **Async tests time out talking to zk; 'clusterid came back null'**
+
+Changed retries from 3 to 30 for zk initial connect for registry.
+
+
+---
+
+* [HBASE-19002](https://issues.apache.org/jira/browse/HBASE-19002) | *Minor* | **Introduce more examples to show how to intercept normal region operations**
+
+With the change in Coprocessor APIs, the hbase-examples module has been updated to provide additional examples that show how to write Coprocessors against the new API.
+
+
+---
+
+* [HBASE-18961](https://issues.apache.org/jira/browse/HBASE-18961) | *Major* | **doMiniBatchMutate() is big, split it into smaller methods**
+
+HRegion.batchMutate()/ doMiniBatchMutate() is refactored with aim to unify batchMutate() and mutateRows() code paths later. batchMutate() currently handles 2 types of batches: MutationBatchOperations and ReplayBatchOperations. Common base class BatchOperations is augmented with common methods which are overridden in derived classes as needed. doMiniBatchMutate() is implemented using common methods in base class BatchOperations.
+
+
+---
+
+* [HBASE-19103](https://issues.apache.org/jira/browse/HBASE-19103) | *Minor* | **Add BigDecimalComparator for filter**
+
+If BigDecimal is stored as value, and you need to add a matched comparator to the value filter when scanning, a BigDecimalComparator can be used.
+
+
+---
+
+* [HBASE-19111](https://issues.apache.org/jira/browse/HBASE-19111) | *Critical* | **Add missing CellUtil#isPut(Cell) methods**
+
+A new public API method was added to CellUtil "isPut(Cell)" for clients to use to determine if the Cell is for a Put operation.
+
+Additionally, other CellUtil API calls which expose Cell-implementation were marked as deprecated and will be removed in a future version.
+
+
+---
+
+* [HBASE-19160](https://issues.apache.org/jira/browse/HBASE-19160) | *Critical* | **Re-expose CellComparator**
+
+CellComparator is now InterfaceAudience.Public
+
+
+---
+
+* [HBASE-19131](https://issues.apache.org/jira/browse/HBASE-19131) | *Major* | **Add the ClusterStatus hook and cleanup other hooks which can be replaced by ClusterStatus hook**
+
+1) Add preGetClusterStatus() and postGetClusterStatus() hooks
+2) add preGetClusterStatus() to access control check - an admin action
+
+
+---
+
+* [HBASE-19095](https://issues.apache.org/jira/browse/HBASE-19095) | *Major* | **Add CP hooks in RegionObserver for in memory compaction**
+
+Add 4 methods in RegionObserver:
+preMemStoreCompaction
+preMemStoreCompactionCompactScannerOpen
+preMemStoreCompactionCompact
+postMemStoreCompaction
+preMemStoreCompaction and postMemStoreCompaction will always be called for all in memory compactions. Under eager mode, preMemStoreCompactionCompactScannerOpen will be called before opening store scanner to allow you changing the max versions and TTL, and preMemStoreCompactionCompact will be called after the creation to let you do wrapping.
+
+
+---
+
+* [HBASE-19152](https://issues.apache.org/jira/browse/HBASE-19152) | *Trivial* | **Update refguide 'how to build an RC' and the make\_rc.sh script**
+
+The make\_rc.sh script can run an hbase2 build now generating tarballs and pushing up to maven repository. TODO: Sign and checksum, check tarball, push to apache dist.....
+
+
+---
+
+* [HBASE-19179](https://issues.apache.org/jira/browse/HBASE-19179) | *Critical* | **Remove hbase-prefix-tree**
+
+Purged the hbase-prefix-tree module and all references from the code base.
+
+prefix-tree data block encoding was a super cool experimental feature that saw some usage initially but has since languished. If interested in carrying this sweet facility forward, write the dev list and we'll restore this module.
+
+
+---
+
+* [HBASE-19176](https://issues.apache.org/jira/browse/HBASE-19176) | *Major* | **Remove hbase-native-client from branch-2**
+
+Removed the hbase-native-client module from branch-2 (it is still in Master). It is not complete. Look for a finished C++ client in the near future. Will restore native client to branch-2 at that point.
+
+
+---
+
+* [HBASE-19144](https://issues.apache.org/jira/browse/HBASE-19144) | *Major* | **[RSgroups] Retry assignments in FAILED\_OPEN state when servers (re)join the cluster**
+
+When regionserver placement groups (RSGroups) is active, as servers join the cluster the Master will attempt to reassign regions in FAILED\_OPEN state.
+
+
+---
+
+* [HBASE-18770](https://issues.apache.org/jira/browse/HBASE-18770) | *Critical* | **Remove bypass method in ObserverContext and implement the 'bypass' logic case by case**
+
+Removes blanket bypass mechanism (Observer#bypass). Instead, a curated subset of methods are bypassable.
+
+    Changes Coprocessor ObserverContext 'bypass' semantic. We flip the
+    default so bypass is NOT supported on Observer invocations; only a
+    couple of preXXX methods in RegionObserver allow it: e.g.  preGet
+    and prePut but not preFlush, etc. Everywhere else, we throw
+    a Exception if a Coprocessor Observer tries to invoke bypass. Master
+    Observers can no longer stop or change move, split, assign, create table, etc.
+    preBatchMutate can no longer be bypassed (bypass the finer-grained
+    prePut, preDelete, etc. instead)
+
+    Ditto on complete, the mechanism that allowed a Coprocessor
+    rule that all subsequent Coprocessors are skipped in an
+    invocation chain; now, complete is only available to
+    bypassable methods (and Coprocessors will get an exception if
+    they try to 'complete' when it is not allowed).
+
+    See javadoc for whether a Coprocessor Observer method supports
+    'bypass'. If no mention, 'bypass' is NOT supported.
+
+The below methods have been marked deprecated in hbase2. We would have liked to have removed them because they use IA.Private parameters but they are in use by CoreCoprocessors or are critical to downstreamers and we have no alternatives to provide currently.
+
+@Deprecated public boolean prePrepareTimeStampForDeleteVersion(final Mutation mutation, final Cell kv, final byte[] byteNow, final Get get) throws IOException {
+
+@Deprecated public boolean preWALRestore(final RegionInfo info, final WALKey logKey, final WALEdit logEdit) throws IOException {
+
+@Deprecated public void postWALRestore(final RegionInfo info, final WALKey logKey, final WALEdit logEdit) throws IOException {
+
+@Deprecated public DeleteTracker postInstantiateDeleteTracker(DeleteTracker result) throws IOException
+
+Metrics are updated now even if the Coprocessor does a bypass; e.g. The put count is updated even if a Coprocessor bypasses the core put operation (We do it this way so no need for Coprocessors to have access to our core metrics system).
+
+
+---
+
+* [HBASE-19033](https://issues.apache.org/jira/browse/HBASE-19033) | *Blocker* | **Allow CP users to change versions and TTL before opening StoreScanner**
+
+Add back the three methods without a return value:
+preFlushScannerOpen
+preCompactScannerOpen
+preStoreScannerOpen
+
+Introduce a ScanOptions interface to let CP users change the max versions and TTL of a ScanInfo. It will be passed as a parameter in the three methods above.
+
+Inntroduce a new example WriteHeavyIncrementObserver which convert increment to put and do aggregating when get. It uses the above three methods.
+
+
+---
+
+* [HBASE-19110](https://issues.apache.org/jira/browse/HBASE-19110) | *Minor* | **Add default for Server#isStopping & #getFileSystem**
+
+Made defaults for Server#isStopping and Server#getFileSystem. Should have done this when I added them (lesson learned, was actually mentioned in a review).
+
+
+---
+
+* [HBASE-19047](https://issues.apache.org/jira/browse/HBASE-19047) | *Critical* | **CP exposed Scanner types should not extend Shipper**
+
+RegionObserver#preScannerOpen signature changed
+RegionScanner preScannerOpen( ObserverContext\<RegionCoprocessorEnvironment\> c, Scan scan,  RegionScanner s)   -\>   void preScannerOpen( ObserverContext\<RegionCoprocessorEnvironment\> c, Scan scan)
+The pre hook can no longer return a RegionScanner instance.
+
+
+---
+
+* [HBASE-18995](https://issues.apache.org/jira/browse/HBASE-18995) | *Critical* | **Move methods that are for internal usage from CellUtil to Private util class**
+
+Split CellUtil into public CellUtil and PrivateCellUtil for Internal use only.
+
+
+---
+
+* [HBASE-18906](https://issues.apache.org/jira/browse/HBASE-18906) | *Critical* | **Provide Region#waitForFlushes API**
+
+Provided an API in Region (Exposed to CPs)
+boolean waitForFlushes(long timeout)
+This call will make the current thread to be waiting for all flushes in this region to be finished.  (Upto the time out time being specified). The boolean return value specify whether the flushes are really over or the time out being elapsed. Return false when timeout elapsed but flushes are not over or  true when flushes are over
+
+
+---
+
+* [HBASE-18905](https://issues.apache.org/jira/browse/HBASE-18905) | *Major* | **Allow CPs to request flush on Region and know the completion of the requested flush**
+
+Add a FlushLifeCycleTracker which is similiar to CompactionLifeCycleTracker for tracking flush.
+Add a requestFlush method in Region interface to let CP users request flush on a region. The operation is asynchronous, you need to use the FlushLifeCycleTracker to track the flush.
+The difference with CompactionLifeCycleTracker is that, flush is per region so we do not use Store as a parameter of the methods. And also, notExecuted means the whole flush has not been executed, and afterExecution means the whole flush has been finished, so we do not have a separated completed method. A flush will be ended either by notExecuted or afterExecution.
+
+
+---
+
+* [HBASE-19048](https://issues.apache.org/jira/browse/HBASE-19048) | *Major* | **Cleanup MasterObserver hooks which takes IA private params**
+
+Purged InterfaceAudience.Private parameters from methods in MasterObserver.
+
+preAbortProcedure no longer takes a ProcedureExecutor.
+
+postGetProcedures no longer takes a list of Procedures.
+
+postGetLocks no longer takes a list of locks.
+
+preRequestLock and postRequestLock no longer take lock type.
+
+preLockHeartbeat and postLockHeartbeat no longer takes a lock procedure.
+
+The implication is that that the Coprocessors that depended on these params have had to coarsen so for example, the AccessController can not do access per Procedure or Lock but rather, makes a judgement on the general access (You'll need to be ADMIN to see list of procedures and locks).
+
+
+---
+
+* [HBASE-18994](https://issues.apache.org/jira/browse/HBASE-18994) | *Major* | **Decide if META/System tables should use Compacting Memstore or Default Memstore**
+
+Added a new config 'hbase.systemtables.compacting.memstore.type"  for the system tables. By default all the system tables will have 'NONE' as the type and so it will be using the default memstore by default.
+{code}
+ \<property\>
+    \<name\>hbase.systemtables.compacting.memstore.type\</name\>
+    \<value\>NONE\</value\>
+  \</property\>
+{code}
+
+
+---
+
+* [HBASE-19029](https://issues.apache.org/jira/browse/HBASE-19029) | *Critical* | **Align RPC timout methods in Table and AsyncTableBase**
+
+Deprecate the following methods in Table:
+- int getRpcTimeout()
+- int getReadRpcTimeout()
+- int getWriteRpcTimeout()
+- int getOperationTimeout()
+
+Add the following methods to Table:
+- long getRpcTimeout(TimeUnit)
+- long getReadRpcTimeout(TimeUnit)
+- long getWriteRpcTimeout(TimeUnit)
+- long getOperationTimeout(TimeUnit)
+
+Add missing deprecation tag for long getRpcTimeout(TimeUnit unit) in AsyncTableBase
+
+
+---
+
+* [HBASE-18410](https://issues.apache.org/jira/browse/HBASE-18410) | *Major* | **FilterList  Improvement.**
+
+In this task, we fixed all existing bugs in FilterList, and did the code refactor which ensured interface compatibility .
+
+The primary bug  fixes are :
+1. For sub-filter in FilterList with MUST\_PASS\_ONE, if previous filterKeyValue() of sub-filter returns NEXT\_COL, we cannot make sure that the next cell will be the first cell in next column, because FilterList choose the minimal forward step among sub-filters, and it may return a SKIP. so here we add an extra check to ensure that the next cell will match preivous return code for sub-filters.
+2. Previous logic about transforming cell of FilterList is incorrect, we should set the previous transform result (rather than the given cell in question) as the initial vaule of transform cell before call filterKeyValue() of FilterList.
+3. Handle the ReturnCodes which the previous code did not handle.
+
+About code refactor, we divided the FilterList into two separated sub-classes: FilterListWithOR and FilterListWithAND,  The FilterListWithOR has been optimised to choose the next minimal step to seek cell rather than SKIP cell one by one, and the FilterListWithAND  has been optimised to choose the next maximal key to seek among sub-filters in filter list. All in all, The code in FilterList is clean and easier to follow now.
+
+Note that ReturnCode NEXT\_ROW has been redefined as skipping to next row in current family,   not to next row in all family. it’s more reasonable, because ReturnCode is a concept in store level, not in region level.
+
+Another bug that needs attention is: filterAllRemaining() in FilterList with MUST\_PASS\_ONE  will now return false if the filter list is empty whereas earlier it used to return true for Operator.MUST\_PASS\_ONE.  it's more reasonable now.
+
+
+---
+
+* [HBASE-19077](https://issues.apache.org/jira/browse/HBASE-19077) | *Critical* | **Have Region\*CoprocessorEnvironment provide an ImmutableOnlineRegions**
+
+Adds getOnlineRegions to the RegionCoprocessorEnvironment (Context) and ditto to RegionServerCoprocessorEnvironment. Allows Coprocessor get list of Regions online on the currently hosting RegionServer.
+
+
+---
+
+* [HBASE-19021](https://issues.apache.org/jira/browse/HBASE-19021) | *Critical* | **Restore a few important missing logics for balancer in 2.0**
+
+Re-enabled 'hbase.master.loadbalance.bytable', default 'false'.
+Draining servers are removed from consideration by blancer.balanceCluster() call.
+
+
+---
+
+* [HBASE-19049](https://issues.apache.org/jira/browse/HBASE-19049) | *Major* | **Update kerby to 1.0.1 GA release**
+
+HBase now relies on Kerby version 1.0.1 for its test environment. No downstream facing change is expected.
+
+
+---
+
+* [HBASE-16290](https://issues.apache.org/jira/browse/HBASE-16290) | *Major* | **Dump summary of callQueue content; can help debugging**
+
+Patch to print summary of call queues by size and count. This is displayed on the debug dump page of region server UI
+
+
+---
+
+* [HBASE-18846](https://issues.apache.org/jira/browse/HBASE-18846) | *Major* | **Accommodate the hbase-indexer/lily/SEP consumer deploy-type**
+
+Makes it so hbase-indexer/lily can move off dependence on internal APIs and instead move to public APIs.
+
+Adds being able to disable near-all HRegionServer services. This along with an existing plugin mechanism which allows configuring the RegionServer to host an alternate Connection implementation, makes it so we can put up a cluster of hollowed-out HRegionServers purposed to pose as a Replication Sink for a source HBase Cluster (Users do not need to figure our RPC, our PB encodings, build a distributed service, etc.). In the alternate supplied Connection implementation, hbase-indexer would install its own code to catch the Replication.
+
+Below and attached are sample hbase-server.xml files and alternate Connection implementations. To start up an HRegionServer as a sink, first make sure there is a ZooKeeper ensemble we can talk to. If none, just start one:
+{code}
+./bin/hbase-daemon.sh start zookeeper
+{code}
+
+To start up a single RegionServer, put in place the below sample hbase-site.xml and a derviative of the below IndexerConnection on the CLASSPATH, and then start the RegionServer:
+{code}
+./bin/hbase-daemon.sh  start  org.apache.hadoop.hbase.regionserver.HRegionServer
+{code}
+Stdout and Stderr will go into files under configured logs directory. Browse to localhost:16030 to find webui (unless disabled).
+
+DETAILS
+
+This patch adds configuration to disable RegionServer internal Services, Managers, Caches, etc., starting up.
+
+By default a RegionServer starts up an Admin and Client Service. To disable either or both, use the below booleans:
+{code}
+hbase.regionserver.admin.service
+hbase.regionserver.client.service
+{code}
+
+Both default true.
+
+To make a HRegionServer startup and stay up without expecting to communicate with a master, set the below boolean to false:
+
+{code}
+hbase.masterless
+{code]
+Default is false.
+
+h3. Sample hbase-site.xml that disables internal HRegionServer Services
+Below is an example hbase-site.xml that turns off most Services and that then installs an alternate Connection implementation, one that is nulled out in all regards except in being able to return a "Table" that can catch a Replication Stream in its {code}batch(List\<? extends Row\> actions, Object[] results){code} method. i.e. what the hbase-indexer wants. I also add the example alternate Connection implementation below (both of these files are also attached to this issue). Expects there to be an up and running zookeeper ensemble.
+
+{code}
+\<configuration\>
+  \<!-- This file is an example for hbase-indexer. It shuts down
+       facility in the regionserver and interjects a special
+       Connection implementation which is how hbase-indexer will
+       receive the replication stream from source hbase cluster.
+       See the class referenced in the config.
+
+       Most of the config in here is booleans set to off and
+       setting values to zero so services doon't start. Some of
+       the flags are new via this patch.
+--\>
+  \<!--Need this for the RegionServer to come up standalone--\>
+  \<property\>
+    \<name\>hbase.cluster.distributed\</name\>
+    \<value\>true\</value\>
+  \</property\>
+
+  \<!--This is what you implement, a Connection that returns a Table that
+       overrides the batch call. It is at this point you do your indexer inserts.
+    --\>
+  \<property\>
+    \<name\>hbase.client.connection.impl\</name\>
+    \<value\>org.apache.hadoop.hbase.client.IndexerConnection\</value\>
+    \<description\>A customs connection implementation just so we can interject our
+      own Table class, one that has an override for the batch call which receives
+      the replication stream edits; i.e. it is called by the replication sink
+      #replicateEntries method.\</description\>
+  \</property\>
+
+  \<!--Set hbase.regionserver.info.port to -1 for no webui--\>
+
+  \<!--Below are configs to shut down unused services in hregionserver--\>
+  \<property\>
+    \<name\>hbase.regionserver.admin.service\</name\>
+    \<value\>false\</value\>
+    \<description\>Do NOT stand up an Admin Service Interface on RPC\</description\>
+  \</property\>
+  \<property\>
+    \<name\>hbase.regionserver.client.service\</name\>
+    \<value\>false\</value\>
+    \<description\>Do NOT stand up a client-facing Service on RPC\</description\>
+  \</property\>
+  \<property\>
+    \<name\>hbase.wal.provider\</name\>
+    \<value\>org.apache.hadoop.hbase.wal.DisabledWALProvider\</value\>
+    \<description\>Set WAL service to be the null WAL\</description\>
+  \</property\>
+  \<property\>
+    \<name\>hbase.regionserver.workers\</name\>
+    \<value\>false\</value\>
+    \<description\>Turn off all background workers, log splitters, executors, etc.\</description\>
+  \</property\>
+  \<property\>
+    \<name\>hfile.block.cache.size\</name\>
+    \<value\>0.0001\</value\>
+    \<description\>Turn off block cache completely\</description\>
+  \</property\>
+  \<property\>
+    \<name\>hbase.mob.file.cache.size\</name\>
+    \<value\>0\</value\>
+    \<description\>Disable MOB cache.\</description\>
+  \</property\>
+  \<property\>
+    \<name\>hbase.masterless\</name\>
+    \<value\>true\</value\>
+    \<description\>Do not expect Master in cluster.\</description\>
+  \</property\>
+  \<property\>
+    \<name\>hbase.regionserver.metahandler.count\</name\>
+    \<value\>1\</value\>
+    \<description\>How many priority handlers to run; we probably need none.
+    Default is 20 which is too much on a server like this.\</description\>
+  \</property\>
+  \<property\>
+    \<name\>hbase.regionserver.replication.handler.count\</name\>
+    \<value\>1\</value\>
+    \<description\>How many replication handlers to run; we probably need none.
+    Default is 3 which is too much on a server like this.\</description\>
+  \</property\>
+  \<property\>
+    \<name\>hbase.regionserver.handler.count\</name\>
+    \<value\>10\</value\>
+    \<description\>How many default handlers to run; tie to # of CPUs.
+    Default is 30 which is too much on a server like this.\</description\>
+  \</property\>
+  \<property\>
+    \<name\>hbase.ipc.server.read.threadpool.size\</name\>
+    \<value\>3\</value\>
+    \<description\>How many Listener request reaaders to run; tie to a portion # of CPUs (1/4?).
+    Default is 10 which is too much on a server like this.\</description\>
+  \</property\>
+\</configuration\>
+{code}
+
+h2. Sample Connection Implementation
+Has call-out for where an hbase-indexer would insert its capture code.
+{code}
+package org.apache.hadoop.hbase.client;
+
+import com.google.protobuf.Descriptors;
+import com.google.protobuf.Message;
+import com.google.protobuf.Service;
+import com.google.protobuf.ServiceException;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.CompareOperator;
+import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.coprocessor.Batch;
+import org.apache.hadoop.hbase.filter.CompareFilter;
+import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel;
+import org.apache.hadoop.hbase.security.User;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ExecutorService;
+
+
+/\*\*
+ \* Sample class for hbase-indexer.
+ \* DO NOT COMMIT TO HBASE CODEBASE!!!
+ \* Overrides Connection just so we can return a Table that has the
+ \* method that the replication sink calls, i.e. Table#batch.
+ \* It is at this point that the hbase-indexer catches the replication
+ \* stream so it can insert into the lucene index.
+ \*/
+public class IndexerConnection implements Connection {
+  private final Configuration conf;
+  private final User user;
+  private final ExecutorService pool;
+  private volatile boolean closed = false;
+
+  public IndexerConnection(Configuration conf, ExecutorService pool, User user) throws IOException {
+    this.conf = conf;
+    this.user = user;
+    this.pool = pool;
+  }
+
+  @Override
+  public void abort(String why, Throwable e) {}
+
+  @Override
+  public boolean isAborted() {
+    return false;
+  }
+
+  @Override
+  public Configuration getConfiguration() {
+    return this.conf;
+  }
+
+  @Override
+  public BufferedMutator getBufferedMutator(TableName tableName) throws IOException {
+    return null;
+  }
+
+  @Override
+  public BufferedMutator getBufferedMutator(BufferedMutatorParams params) throws IOException {
+    return null;
+  }
+
+  @Override
+  public RegionLocator getRegionLocator(TableName tableName) throws IOException {
+    return null;
+  }
+
+  @Override
+  public Admin getAdmin() throws IOException {
+    return null;
+  }
+
+  @Override
+  public void close() throws IOException {
+    if (!this.closed) this.closed = true;
+  }
+
+  @Override
+  public boolean isClosed() {
+    return this.closed;
+  }
+
+  @Override
+  public TableBuilder getTableBuilder(final TableName tn, ExecutorService pool) {
+    if (isClosed()) {
+      throw new RuntimeException("IndexerConnection is closed.");
+    }
+    final Configuration passedInConfiguration = getConfiguration();
+    return new TableBuilder() {
+      @Override
+      public TableBuilder setOperationTimeout(int timeout) {
+        return null;
+      }
+
+      @Override
+      public TableBuilder setRpcTimeout(int timeout) {
+        return null;
+      }
+
+      @Override
+      public TableBuilder setReadRpcTimeout(int timeout) {
+        return null;
+      }
+
+      @Override
+      public TableBuilder setWriteRpcTimeout(int timeout) {
+        return null;
+      }
+
+      @Override
+      public Table build() {
+        return new Table() {
+          private final Configuration conf = passedInConfiguration;
+          private final TableName tableName = tn;
+
+          @Override
+          public TableName getName() {
+            return this.tableName;
+          }
+
+          @Override
+          public Configuration getConfiguration() {
+            return this.conf;
+          }
+
+          @Override
+          public void batch(List\<? extends Row\> actions, Object[] results)
+          throws IOException, InterruptedException {
+            // Implementation goes here.
+          }
+
+          @Override
+          public HTableDescriptor getTableDescriptor() throws IOException {
+            return null;
+          }
+
+          @Override
+          public TableDescriptor getDescriptor() throws IOException {
+            return null;
+          }
+
+          @Override
+          public boolean exists(Get get) throws IOException {
+            return false;
+          }
+
+          @Override
+          public boolean[] existsAll(List\<Get\> gets) throws IOException {
+            return new boolean[0];
+          }
+
+          @Override
+          public \<R\> void batchCallback(List\<? extends Row\> actions, Object[] results, Batch.Callback\<R\> callback) throws IOException, InterruptedException {
+
+          }
+
+          @Override
+          public Result get(Get get) throws IOException {
+            return null;
+          }
+
+          @Override
+          public Result[] get(List\<Get\> gets) throws IOException {
+            return new Result[0];
+          }
+
+          @Override
+          public ResultScanner getScanner(Scan scan) throws IOException {
+            return null;
+          }
+
+          @Override
+          public ResultScanner getScanner(byte[] family) throws IOException {
+            return null;
+          }
+
+          @Override
+          public ResultScanner getScanner(byte[] family, byte[] qualifier) throws IOException {
+            return null;
+          }
+
+          @Override
+          public void put(Put put) throws IOException {
+
+          }
+
+          @Override
+          public void put(List\<Put\> puts) throws IOException {
+
+          }
+
+          @Override
+          public boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier, byte[] value, Put put) throws IOException {
+            return false;
+          }
+
+          @Override
+          public boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, byte[] value, Put put) throws IOException {
+            return false;
+          }
+
+          @Override
+          public boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier, CompareOperator op, byte[] value, Put put) throws IOException {
+            return false;
+          }
+
+          @Override
+          public void delete(Delete delete) throws IOException {
+
+          }
+
+          @Override
+          public void delete(List\<Delete\> deletes) throws IOException {
+
+          }
+
+          @Override
+          public boolean checkAndDelete(byte[] row, byte[] family, byte[] qualifier, byte[] value, Delete delete) throws IOException {
+            return false;
+          }
+
+          @Override
+          public boolean checkAndDelete(byte[] row, byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, byte[] value, Delete delete) throws IOException {
+            return false;
+          }
+
+          @Override
+          public boolean checkAndDelete(byte[] row, byte[] family, byte[] qualifier, CompareOperator op, byte[] value, Delete delete) throws IOException {
+            return false;
+          }
+
+          @Override
+          public void mutateRow(RowMutations rm) throws IOException {
+
+          }
+
+          @Override
+          public Result append(Append append) throws IOException {
+            return null;
+          }
+
+          @Override
+          public Result increment(Increment increment) throws IOException {
+            return null;
+          }
+
+          @Override
+          public long incrementColumnValue(byte[] row, byte[] family, byte[] qualifier, long amount) throws IOException {
+            return 0;
+          }
+
+          @Override
+          public long incrementColumnValue(byte[] row, byte[] family, byte[] qualifier, long amount, Durability durability) throws IOException {
+            return 0;
+          }
+
+          @Override
+          public void close() throws IOException {
+
+          }
+
+          @Override
+          public CoprocessorRpcChannel coprocessorService(byte[] row) {
+            return null;
+          }
+
+          @Override
+          public \<T extends Service, R\> Map\<byte[], R\> coprocessorService(Class\<T\> service, byte[] startKey, byte[] endKey, Batch.Call\<T, R\> callable) throws ServiceException, Throwable {
+            return null;
+          }
+
+          @Override
+          public \<T extends Service, R\> void coprocessorService(Class\<T\> service, byte[] startKey, byte[] endKey, Batch.Call\<T, R\> callable, Batch.Callback\<R\> callback) throws ServiceException, Throwable {
+
+          }
+
+          @Override
+          public \<R extends Message\> Map\<byte[], R\> batchCoprocessorService(Descriptors.MethodDescriptor methodDescriptor, Message request, byte[] startKey, byte[] endKey, R responsePrototype) throws ServiceException, Throwable {
+            return null;
+          }
+
+          @Override
+          public \<R extends Message\> void batchCoprocessorService(Descriptors.MethodDescriptor methodDescriptor, Message request, byte[] startKey, byte[] endKey, R responsePrototype, Batch.Callback\<R\> callback) throws ServiceException, Throwable {
+
+          }
+
+          @Override
+          public boolean checkAndMutate(byte[] row, byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, byte[] value, RowMutations mutation) throws IOException {
+            return false;
+          }
+
+          @Override
+          public boolean checkAndMutate(byte[] row, byte[] family, byte[] qualifier, CompareOperator op, byte[] value, RowMutations mutation) throws IOException {
+            return false;
+          }
+
+          @Override
+          public void setOperationTimeout(int operationTimeout) {
+
+          }
+
+          @Override
+          public int getOperationTimeout() {
+            return 0;
+          }
+
+          @Override
+          public int getRpcTimeout() {
+            return 0;
+          }
+
+          @Override
+          public void setRpcTimeout(int rpcTimeout) {
+
+          }
+
+          @Override
+          public int getReadRpcTimeout() {
+            return 0;
+          }
+
+          @Override
+          public void setReadRpcTimeout(int readRpcTimeout) {
+
+          }
+
+          @Override
+          public int getWriteRpcTimeout() {
+            return 0;
+          }
+
+          @Override
+          public void setWriteRpcTimeout(int writeRpcTimeout) {
+
+          }
+        };
+      }
+    };
+  }
+}
+{code}
+
+
+---
+
+* [HBASE-18873](https://issues.apache.org/jira/browse/HBASE-18873) | *Critical* | **Hide protobufs in GlobalQuotaSettings**
+
+GlobalQuotaSettings was introduced to avoid protocol-specific Java classes from leaking into API which is users may leverage. This class has a number of methods which return plain-Java-objects instead of these protocol-specific classes in an effort to better provide stability in the future.
+
+
+---
+
+* [HBASE-18893](https://issues.apache.org/jira/browse/HBASE-18893) | *Major* | **Remove Add/Modify/DeleteColumnFamilyProcedure in favor of using ModifyTableProcedure**
+
+The RPC calls for Add/Modify/DeleteColumn have been removed and are now backed by ModifyTable functionality. The corresponding permissions in AccessController have been removed as well.
+
+The shell already bypassed these RPCs and used ModifyTable directly, and thus would not be getting these permission checks, this change brings the rest of the RPC inline with that.
+
+Coprocessor hooks for pre/post Add/Modify/DeleteColumn have likewise been removed. Coprocessors needing to take special actions on schema change should instead process ModifyTable events (which they should have been doing already, but it was easy for developers to miss this nuance).
+
+
+---
+
+* [HBASE-16338](https://issues.apache.org/jira/browse/HBASE-16338) | *Major* | **update jackson to 2.y**
+
+HBase has upgraded from Jackson 1 to Jackson 2. JSON output should not have changed and this should not be user facing, but server classpaths should be adjusted accordingly.
+
+
+---
+
+* [HBASE-19051](https://issues.apache.org/jira/browse

<TRUNCATED>

[4/5] hbase git commit: HBASE-18828 [2.0] Generate CHANGES.txt

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7547c61/CHANGES.md
----------------------------------------------------------------------
diff --git a/CHANGES.md b/CHANGES.md
new file mode 100644
index 0000000..493ac79
--- /dev/null
+++ b/CHANGES.md
@@ -0,0 +1,6034 @@
+# HBASE Changelog
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+## Release 2.0.0 - Unreleased (as of 2018-04-06)
+
+### INCOMPATIBLE CHANGES:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-16459](https://issues.apache.org/jira/browse/HBASE-16459) | Remove unused hbase shell --format option |  Trivial | shell |
+| [HBASE-19128](https://issues.apache.org/jira/browse/HBASE-19128) | Purge Distributed Log Replay from codebase, configurations, text; mark the feature as unsupported, broken. |  Major | documentation |
+| [HBASE-19504](https://issues.apache.org/jira/browse/HBASE-19504) | Add TimeRange support into checkAndMutate |  Major | . |
+| [HBASE-20119](https://issues.apache.org/jira/browse/HBASE-20119) | Introduce a pojo class to carry coprocessor information in order to make TableDescriptorBuilder accept multiple cp at once |  Minor | . |
+| [HBASE-19437](https://issues.apache.org/jira/browse/HBASE-19437) | Batch operation can't handle the null result for Append/Increment |  Critical | Usability |
+| [HBASE-19873](https://issues.apache.org/jira/browse/HBASE-19873) | Add a CategoryBasedTimeout ClassRule for all UTs |  Major | . |
+| [HBASE-19783](https://issues.apache.org/jira/browse/HBASE-19783) | Change replication peer cluster key/endpoint from a not-null value to null is not allowed |  Minor | Replication |
+| [HBASE-19483](https://issues.apache.org/jira/browse/HBASE-19483) | Add proper privilege check for rsgroup commands |  Major | rsgroup, security |
+| [HBASE-19492](https://issues.apache.org/jira/browse/HBASE-19492) | Add EXCLUDE\_NAMESPACE and EXCLUDE\_TABLECFS support to replication peer config |  Major | . |
+| [HBASE-19357](https://issues.apache.org/jira/browse/HBASE-19357) | Bucket cache no longer L2 for LRU cache |  Major | . |
+| [HBASE-19359](https://issues.apache.org/jira/browse/HBASE-19359) | Revisit the default config of hbase client retries number |  Major | . |
+| [HBASE-19092](https://issues.apache.org/jira/browse/HBASE-19092) | Make Tag IA.LimitedPrivate and expose for CPs |  Critical | Coprocessors |
+| [HBASE-19187](https://issues.apache.org/jira/browse/HBASE-19187) | Remove option to create on heap bucket cache |  Minor | regionserver |
+| [HBASE-19033](https://issues.apache.org/jira/browse/HBASE-19033) | Allow CP users to change versions and TTL before opening StoreScanner |  Blocker | Coprocessors |
+| [HBASE-19047](https://issues.apache.org/jira/browse/HBASE-19047) | CP exposed Scanner types should not extend Shipper |  Critical | Coprocessors |
+| [HBASE-18905](https://issues.apache.org/jira/browse/HBASE-18905) | Allow CPs to request flush on Region and know the completion of the requested flush |  Major | Coprocessors |
+| [HBASE-18410](https://issues.apache.org/jira/browse/HBASE-18410) | FilterList  Improvement. |  Major | Filters |
+| [HBASE-18893](https://issues.apache.org/jira/browse/HBASE-18893) | Remove Add/Modify/DeleteColumnFamilyProcedure in favor of using ModifyTableProcedure |  Major | Coprocessors, master |
+| [HBASE-19067](https://issues.apache.org/jira/browse/HBASE-19067) | Do not expose getHDFSBlockDistribution in StoreFile |  Major | Coprocessors |
+| [HBASE-18989](https://issues.apache.org/jira/browse/HBASE-18989) | Polish the compaction related CP hooks |  Major | Compaction, Coprocessors |
+| [HBASE-19046](https://issues.apache.org/jira/browse/HBASE-19046) | RegionObserver#postCompactSelection  Avoid passing shaded ImmutableList param |  Major | Coprocessors |
+| [HBASE-19001](https://issues.apache.org/jira/browse/HBASE-19001) | Remove the hooks in RegionObserver which are designed to construct a StoreScanner which is marked as IA.Private |  Major | Coprocessors |
+| [HBASE-14247](https://issues.apache.org/jira/browse/HBASE-14247) | Separate the old WALs into different regionserver directories |  Critical | wal |
+| [HBASE-18183](https://issues.apache.org/jira/browse/HBASE-18183) | Region interface cleanup for CP expose |  Major | Coprocessors |
+| [HBASE-18878](https://issues.apache.org/jira/browse/HBASE-18878) | Use Optional\<T\> return types when T can be null |  Major | Coprocessors |
+| [HBASE-18649](https://issues.apache.org/jira/browse/HBASE-18649) | Deprecate KV Usage in MR to move to Cells in 3.0 |  Major | API, mapreduce |
+| [HBASE-18897](https://issues.apache.org/jira/browse/HBASE-18897) | Substitute MemStore for Memstore |  Major | . |
+| [HBASE-18883](https://issues.apache.org/jira/browse/HBASE-18883) | Upgrade to Curator 4.0 |  Major | Client, dependencies |
+| [HBASE-18839](https://issues.apache.org/jira/browse/HBASE-18839) | Apply RegionInfo to code base |  Major | Coprocessors |
+| [HBASE-18826](https://issues.apache.org/jira/browse/HBASE-18826) | Use HStore instead of Store in our own code base and remove unnecessary methods in Store interface |  Major | Coprocessors |
+| [HBASE-17732](https://issues.apache.org/jira/browse/HBASE-17732) | Coprocessor Design Improvements |  Critical | Coprocessors |
+| [HBASE-18298](https://issues.apache.org/jira/browse/HBASE-18298) | RegionServerServices Interface cleanup for CP expose |  Critical | Coprocessors |
+| [HBASE-16769](https://issues.apache.org/jira/browse/HBASE-16769) | Deprecate/remove PB references from MasterObserver and RegionServerObserver |  Blocker | . |
+| [HBASE-18859](https://issues.apache.org/jira/browse/HBASE-18859) | Purge PB from BulkLoadObserver |  Major | Coprocessors |
+| [HBASE-18731](https://issues.apache.org/jira/browse/HBASE-18731) | [compat 1-2] Mark protected methods of QuotaSettings that touch Protobuf internals as IA.Private |  Major | API |
+| [HBASE-18825](https://issues.apache.org/jira/browse/HBASE-18825) | Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface |  Major | Coprocessors |
+| [HBASE-18142](https://issues.apache.org/jira/browse/HBASE-18142) | Deletion of a cell deletes the previous versions too |  Major | API, shell |
+| [HBASE-18446](https://issues.apache.org/jira/browse/HBASE-18446) | Mark StoreFileScanner/StoreFileReader as IA.LimitedPrivate(Phoenix) |  Critical | Coprocessors |
+| [HBASE-18798](https://issues.apache.org/jira/browse/HBASE-18798) | Remove the unused methods in RegionServerObserver |  Major | Coprocessors |
+| [HBASE-18453](https://issues.apache.org/jira/browse/HBASE-18453) | CompactionRequest should not be exposed to user directly |  Major | Coprocessors |
+| [HBASE-18794](https://issues.apache.org/jira/browse/HBASE-18794) | Remove deprecated methods in MasterObserver |  Major | Coprocessors |
+| [HBASE-17823](https://issues.apache.org/jira/browse/HBASE-17823) | Migrate to Apache Yetus Audience Annotations |  Major | API |
+| [HBASE-18793](https://issues.apache.org/jira/browse/HBASE-18793) | Remove deprecated methods in RegionObserver |  Major | Coprocessors |
+| [HBASE-18733](https://issues.apache.org/jira/browse/HBASE-18733) | [compat 1-2] Hide WALKey |  Major | API |
+| [HBASE-16479](https://issues.apache.org/jira/browse/HBASE-16479) | Move WALEdit from hbase.regionserver.wal package to hbase.wal package |  Major | wal |
+| [HBASE-18783](https://issues.apache.org/jira/browse/HBASE-18783) | Declare the builder of ClusterStatus as IA.Private, and remove the Writables from ClusterStatus |  Minor | . |
+| [HBASE-18106](https://issues.apache.org/jira/browse/HBASE-18106) | Redo ProcedureInfo and LockInfo |  Critical | proc-v2 |
+| [HBASE-18780](https://issues.apache.org/jira/browse/HBASE-18780) | Remove HLogPrettyPrinter and hlog command |  Minor | documentation, wal |
+| [HBASE-18704](https://issues.apache.org/jira/browse/HBASE-18704) | Upgrade hbase to commons-collections 4 |  Major | dependencies |
+| [HBASE-15607](https://issues.apache.org/jira/browse/HBASE-15607) | Remove PB references from Admin for 2.0 |  Blocker | . |
+| [HBASE-18736](https://issues.apache.org/jira/browse/HBASE-18736) | Cleanup the HTD/HCD for Admin |  Major | . |
+| [HBASE-18577](https://issues.apache.org/jira/browse/HBASE-18577) | shaded client includes several non-relocated third party dependencies |  Critical | Client |
+| [HBASE-3935](https://issues.apache.org/jira/browse/HBASE-3935) | HServerLoad.storefileIndexSizeMB should be changed to storefileIndexSizeKB |  Major | . |
+| [HBASE-15982](https://issues.apache.org/jira/browse/HBASE-15982) | Interface ReplicationEndpoint extends Guava's Service |  Blocker | . |
+| [HBASE-18546](https://issues.apache.org/jira/browse/HBASE-18546) | Always overwrite the TS for Append/Increment unless no existing cells are found |  Critical | API, Client |
+| [HBASE-17442](https://issues.apache.org/jira/browse/HBASE-17442) | Move most of the replication related classes from hbase-client to hbase-replication package |  Critical | build, Replication |
+| [HBASE-18511](https://issues.apache.org/jira/browse/HBASE-18511) | Default no regions on master |  Blocker | master |
+| [HBASE-18528](https://issues.apache.org/jira/browse/HBASE-18528) | DON'T allow user to modify the passed table/column descriptor |  Critical | Coprocessors, master |
+| [HBASE-18469](https://issues.apache.org/jira/browse/HBASE-18469) | Correct  RegionServer metric of  totalRequestCount |  Critical | metrics, regionserver |
+| [HBASE-18500](https://issues.apache.org/jira/browse/HBASE-18500) | Performance issue: Don't use BufferedMutator for HTable's put method |  Major | . |
+| [HBASE-17125](https://issues.apache.org/jira/browse/HBASE-17125) | Inconsistent result when use filter to read data |  Critical | . |
+| [HBASE-18517](https://issues.apache.org/jira/browse/HBASE-18517) | limit max log message width in log4j |  Major | . |
+| [HBASE-18502](https://issues.apache.org/jira/browse/HBASE-18502) | Change MasterObserver to use TableDescriptor and ColumnFamilyDescriptor |  Critical | Coprocessors, master |
+| [HBASE-18374](https://issues.apache.org/jira/browse/HBASE-18374) | RegionServer Metrics improvements |  Major | . |
+| [HBASE-17908](https://issues.apache.org/jira/browse/HBASE-17908) | Upgrade guava |  Critical | dependencies |
+| [HBASE-18161](https://issues.apache.org/jira/browse/HBASE-18161) | Incremental Load support for Multiple-Table HFileOutputFormat |  Minor | . |
+| [HBASE-18267](https://issues.apache.org/jira/browse/HBASE-18267) | The result from the postAppend is ignored |  Major | Coprocessors |
+| [HBASE-18241](https://issues.apache.org/jira/browse/HBASE-18241) | Change client.Table, client.Admin, Region, Store, and HBaseTestingUtility to not use HTableDescriptor or HColumnDescriptor |  Critical | Client |
+| [HBASE-18038](https://issues.apache.org/jira/browse/HBASE-18038) | Rename StoreFile to HStoreFile and add a StoreFile interface for CP |  Critical | Coprocessors, regionserver |
+| [HBASE-16196](https://issues.apache.org/jira/browse/HBASE-16196) | Update jruby to a newer version. |  Critical | dependencies, shell |
+| [HBASE-14614](https://issues.apache.org/jira/browse/HBASE-14614) | Procedure v2: Core Assignment Manager |  Major | proc-v2 |
+| [HBASE-3462](https://issues.apache.org/jira/browse/HBASE-3462) | Fix table.jsp in regards to splitting a region/table with an optional splitkey |  Major | master |
+| [HBASE-11013](https://issues.apache.org/jira/browse/HBASE-11013) | Clone Snapshots on Secure Cluster Should provide option to apply Retained User Permissions |  Major | snapshots |
+| [HBASE-15296](https://issues.apache.org/jira/browse/HBASE-15296) | Break out writer and reader from StoreFile |  Major | regionserver |
+| [HBASE-15199](https://issues.apache.org/jira/browse/HBASE-15199) | Move jruby jar so only on hbase-shell module classpath; currently globally available |  Critical | dependencies, jruby, shell |
+| [HBASE-18009](https://issues.apache.org/jira/browse/HBASE-18009) | Move RpcServer.Call to a separated file |  Major | IPC/RPC |
+| [HBASE-17956](https://issues.apache.org/jira/browse/HBASE-17956) | Raw scan should ignore TTL |  Major | scan |
+| [HBASE-17914](https://issues.apache.org/jira/browse/HBASE-17914) | Create a new reader instead of cloning a new StoreFile when compaction |  Major | Compaction, regionserver |
+| [HBASE-17595](https://issues.apache.org/jira/browse/HBASE-17595) | Add partial result support for small/limited scan |  Critical | asyncclient, Client, scan |
+| [HBASE-17584](https://issues.apache.org/jira/browse/HBASE-17584) | Expose ScanMetrics with ResultScanner rather than Scan |  Major | Client, mapreduce, scan |
+| [HBASE-17716](https://issues.apache.org/jira/browse/HBASE-17716) | Formalize Scan Metric names |  Minor | metrics |
+| [HBASE-17312](https://issues.apache.org/jira/browse/HBASE-17312) | [JDK8] Use default method for Observer Coprocessors |  Major | Coprocessors |
+| [HBASE-17647](https://issues.apache.org/jira/browse/HBASE-17647) | OffheapKeyValue#heapSize() implementation is wrong |  Major | regionserver |
+| [HBASE-17472](https://issues.apache.org/jira/browse/HBASE-17472) | Correct the semantic of  permission grant |  Major | Admin |
+| [HBASE-17599](https://issues.apache.org/jira/browse/HBASE-17599) | Use mayHaveMoreCellsInRow instead of isPartial |  Major | Client, scan |
+| [HBASE-17508](https://issues.apache.org/jira/browse/HBASE-17508) | Unify the implementation of small scan and regular scan for sync client |  Major | Client, scan |
+| [HBASE-12894](https://issues.apache.org/jira/browse/HBASE-12894) | Upgrade Jetty to 9.2.6 |  Critical | REST, UI |
+| [HBASE-16786](https://issues.apache.org/jira/browse/HBASE-16786) | Procedure V2 - Move ZK-lock's uses to Procedure framework locks (LockProcedure) |  Major | . |
+| [HBASE-17470](https://issues.apache.org/jira/browse/HBASE-17470) | Remove merge region code from region server |  Major | regionserver |
+| [HBASE-5401](https://issues.apache.org/jira/browse/HBASE-5401) | PerformanceEvaluation generates 10x the number of expected mappers |  Major | test |
+| [HBASE-17221](https://issues.apache.org/jira/browse/HBASE-17221) | Abstract out an interface for RpcServer.Call |  Major | . |
+| [HBASE-16119](https://issues.apache.org/jira/browse/HBASE-16119) | Procedure v2 - Reimplement merge |  Major | proc-v2, Region Assignment |
+| [HBASE-17132](https://issues.apache.org/jira/browse/HBASE-17132) | Cleanup deprecated code for WAL |  Major | wal |
+| [HBASE-17017](https://issues.apache.org/jira/browse/HBASE-17017) | Remove the current per-region latency histogram metrics |  Major | metrics |
+| [HBASE-15513](https://issues.apache.org/jira/browse/HBASE-15513) | hbase.hregion.memstore.chunkpool.maxsize is 0.0 by default |  Major | . |
+| [HBASE-16972](https://issues.apache.org/jira/browse/HBASE-16972) | Log more details for Scan#next request when responseTooSlow |  Major | Operability |
+| [HBASE-16765](https://issues.apache.org/jira/browse/HBASE-16765) | New SteppingRegionSplitPolicy, avoid too aggressive spread of regions for small tables. |  Critical | . |
+| [HBASE-16747](https://issues.apache.org/jira/browse/HBASE-16747) | Track memstore data size and heap overhead separately |  Major | regionserver |
+| [HBASE-14551](https://issues.apache.org/jira/browse/HBASE-14551) | Procedure v2 - Reimplement split |  Minor | proc-v2 |
+| [HBASE-16729](https://issues.apache.org/jira/browse/HBASE-16729) | Define the behavior of (default) empty FilterList |  Trivial | . |
+| [HBASE-16799](https://issues.apache.org/jira/browse/HBASE-16799) | CP exposed Store should not expose unwanted APIs |  Major | . |
+| [HBASE-16117](https://issues.apache.org/jira/browse/HBASE-16117) | Fix Connection leak in mapred.TableOutputFormat |  Major | mapreduce |
+| [HBASE-15638](https://issues.apache.org/jira/browse/HBASE-15638) | Shade protobuf |  Critical | Protobufs |
+| [HBASE-16257](https://issues.apache.org/jira/browse/HBASE-16257) | Move staging dir to be under hbase root dir |  Blocker | . |
+| [HBASE-16650](https://issues.apache.org/jira/browse/HBASE-16650) | Wrong usage of BlockCache eviction stat for heap memory tuning |  Major | . |
+| [HBASE-16598](https://issues.apache.org/jira/browse/HBASE-16598) | Enable zookeeper useMulti always and clean up in HBase code |  Major | . |
+| [HBASE-15297](https://issues.apache.org/jira/browse/HBASE-15297) | error message is wrong when a wrong namspace is specified in grant in hbase shell |  Minor | shell |
+| [HBASE-16340](https://issues.apache.org/jira/browse/HBASE-16340) | ensure no Xerces jars included |  Critical | dependencies |
+| [HBASE-16321](https://issues.apache.org/jira/browse/HBASE-16321) | Ensure findbugs jsr305 jar isn't present |  Blocker | dependencies |
+| [HBASE-16355](https://issues.apache.org/jira/browse/HBASE-16355) | hbase-client dependency on hbase-common test-jar should be test scope |  Major | Client, dependencies |
+| [HBASE-16186](https://issues.apache.org/jira/browse/HBASE-16186) | Fix AssignmentManager MBean name |  Major | master |
+| [HBASE-13823](https://issues.apache.org/jira/browse/HBASE-13823) | Procedure V2: unnecessaery operations on AssignmentManager#recoverTableInDisablingState() and recoverTableInEnablingState() |  Major | master, proc-v2 |
+| [HBASE-15950](https://issues.apache.org/jira/browse/HBASE-15950) | Fix memstore size estimates to be more tighter |  Major | . |
+| [HBASE-15971](https://issues.apache.org/jira/browse/HBASE-15971) | Regression: Random Read/WorkloadC slower in 1.x than 0.98 |  Critical | rpc |
+| [HBASE-15875](https://issues.apache.org/jira/browse/HBASE-15875) | Remove HTable references and HTableInterface |  Major | . |
+| [HBASE-15610](https://issues.apache.org/jira/browse/HBASE-15610) | Remove deprecated HConnection for 2.0 thus removing all PB references for 2.0 |  Blocker | . |
+| [HBASE-15876](https://issues.apache.org/jira/browse/HBASE-15876) | Remove doBulkLoad(Path hfofDir, final HTable table) though it has not been through a full deprecation cycle |  Blocker | . |
+| [HBASE-15575](https://issues.apache.org/jira/browse/HBASE-15575) | Rename table DDL \*Handler methods in MasterObserver to more meaningful names |  Minor | Coprocessors |
+| [HBASE-15481](https://issues.apache.org/jira/browse/HBASE-15481) | Add pre/post roll to WALObserver |  Trivial | . |
+| [HBASE-15568](https://issues.apache.org/jira/browse/HBASE-15568) | Procedure V2 - Remove CreateTableHandler in HBase Apache 2.0 release |  Major | master, proc-v2 |
+| [HBASE-15521](https://issues.apache.org/jira/browse/HBASE-15521) | Procedure V2 - RestoreSnapshot and CloneSnapshot |  Major | Client, master, proc-v2 |
+| [HBASE-11393](https://issues.apache.org/jira/browse/HBASE-11393) | Replication TableCfs should be a PB object rather than a string |  Major | Replication |
+| [HBASE-15265](https://issues.apache.org/jira/browse/HBASE-15265) | Implement an asynchronous FSHLog |  Major | wal |
+| [HBASE-15323](https://issues.apache.org/jira/browse/HBASE-15323) | Hbase Rest CheckAndDeleteAPi should be able to delete more cells |  Major | hbase |
+| [HBASE-15377](https://issues.apache.org/jira/browse/HBASE-15377) | Per-RS Get metric is time based, per-region metric is size-based |  Major | . |
+| [HBASE-13963](https://issues.apache.org/jira/browse/HBASE-13963) | avoid leaking jdk.tools |  Critical | build, documentation |
+| [HBASE-15376](https://issues.apache.org/jira/browse/HBASE-15376) | ScanNext metric is size-based while every other per-operation metric is time based |  Major | . |
+| [HBASE-15290](https://issues.apache.org/jira/browse/HBASE-15290) | Hbase Rest CheckAndAPI should save other cells along with compared cell |  Major | hbase |
+| [HBASE-15100](https://issues.apache.org/jira/browse/HBASE-15100) | Master WALProcs still never clean up |  Blocker | master, proc-v2 |
+| [HBASE-15111](https://issues.apache.org/jira/browse/HBASE-15111) | "hbase version" should write to stdout |  Trivial | util |
+| [HBASE-14888](https://issues.apache.org/jira/browse/HBASE-14888) | ClusterSchema: Add Namespace Operations |  Major | API |
+| [HBASE-15018](https://issues.apache.org/jira/browse/HBASE-15018) | Inconsistent way of handling TimeoutException in the rpc client implementations |  Major | Client, IPC/RPC |
+| [HBASE-14205](https://issues.apache.org/jira/browse/HBASE-14205) | RegionCoprocessorHost System.nanoTime() performance bottleneck |  Critical | Coprocessors, Performance, regionserver |
+| [HBASE-12751](https://issues.apache.org/jira/browse/HBASE-12751) | Allow RowLock to be reader writer |  Major | regionserver |
+| [HBASE-13706](https://issues.apache.org/jira/browse/HBASE-13706) | CoprocessorClassLoader should not exempt Hive classes |  Minor | Coprocessors |
+| [HBASE-13954](https://issues.apache.org/jira/browse/HBASE-13954) | Remove HTableInterface#getRowOrBefore related server side code |  Major | API |
+| [HBASE-12296](https://issues.apache.org/jira/browse/HBASE-12296) | Filters should work with ByteBufferedCell |  Major | regionserver, Scanners |
+| [HBASE-14027](https://issues.apache.org/jira/browse/HBASE-14027) | Clean up netty dependencies |  Major | build |
+| [HBASE-7782](https://issues.apache.org/jira/browse/HBASE-7782) | HBaseTestingUtility.truncateTable() not acting like CLI |  Minor | test |
+| [HBASE-14047](https://issues.apache.org/jira/browse/HBASE-14047) | Cleanup deprecated APIs from Cell class |  Major | Client |
+| [HBASE-13849](https://issues.apache.org/jira/browse/HBASE-13849) | Remove restore and clone snapshot from the WebUI |  Major | snapshots |
+| [HBASE-13646](https://issues.apache.org/jira/browse/HBASE-13646) | HRegion#execService should not try to build incomplete messages |  Major | Coprocessors, regionserver |
+| [HBASE-13983](https://issues.apache.org/jira/browse/HBASE-13983) | Doc how the oddball HTable methods getStartKey, getEndKey, etc. will be removed in 2.0.0 |  Minor | documentation |
+| [HBASE-13214](https://issues.apache.org/jira/browse/HBASE-13214) | Remove deprecated and unused methods from HTable class |  Major | API |
+| [HBASE-13843](https://issues.apache.org/jira/browse/HBASE-13843) | Fix internal constant text in ReplicationManager.java |  Trivial | master |
+| [HBASE-13375](https://issues.apache.org/jira/browse/HBASE-13375) | Provide HBase superuser higher priority over other users in the RPC handling |  Major | IPC/RPC |
+| [HBASE-13636](https://issues.apache.org/jira/browse/HBASE-13636) | Remove deprecation for HBASE-4072 (Reading of zoo.cfg) |  Major | . |
+| [HBASE-10800](https://issues.apache.org/jira/browse/HBASE-10800) | Use CellComparator instead of KVComparator |  Major | . |
+| [HBASE-13118](https://issues.apache.org/jira/browse/HBASE-13118) | [PE] Add being able to write many columns |  Major | test |
+| [HBASE-12990](https://issues.apache.org/jira/browse/HBASE-12990) | MetaScanner should be replaced by MetaTableAccessor |  Major | Client |
+| [HBASE-13373](https://issues.apache.org/jira/browse/HBASE-13373) | Squash HFileReaderV3 together with HFileReaderV2 and AbstractHFileReader; ditto for Scanners and BlockReader, etc. |  Major | . |
+| [HBASE-10728](https://issues.apache.org/jira/browse/HBASE-10728) | get\_counter value is never used. |  Major | . |
+| [HBASE-13298](https://issues.apache.org/jira/browse/HBASE-13298) | Clarify if Table.{set\|get}WriteBufferSize() is deprecated or not |  Critical | API |
+| [HBASE-13248](https://issues.apache.org/jira/browse/HBASE-13248) | Make HConnectionImplementation top-level class. |  Major | API |
+| [HBASE-13198](https://issues.apache.org/jira/browse/HBASE-13198) | Remove HConnectionManager |  Major | API |
+| [HBASE-12586](https://issues.apache.org/jira/browse/HBASE-12586) | Task 6 & 7 from HBASE-9117,  delete all public HTable constructors and delete ConnectionManager#{delete,get}Connection |  Major | . |
+| [HBASE-13171](https://issues.apache.org/jira/browse/HBASE-13171) | Change AccessControlClient methods to accept connection object to reduce setup time. |  Minor | . |
+| [HBASE-6778](https://issues.apache.org/jira/browse/HBASE-6778) | Deprecate Chore; its a thread per task when we should have one thread to do all tasks |  Major | . |
+| [HBASE-12684](https://issues.apache.org/jira/browse/HBASE-12684) | Add new AsyncRpcClient |  Major | Client |
+| [HBASE-10378](https://issues.apache.org/jira/browse/HBASE-10378) | Divide HLog interface into User and Implementor specific interfaces |  Major | wal |
+| [HBASE-12111](https://issues.apache.org/jira/browse/HBASE-12111) | Remove deprecated APIs from Mutation(s) |  Major | Client |
+| [HBASE-12084](https://issues.apache.org/jira/browse/HBASE-12084) | Remove deprecated APIs from Result |  Major | Client |
+| [HBASE-12048](https://issues.apache.org/jira/browse/HBASE-12048) | Remove deprecated APIs from Filter |  Major | regionserver |
+| [HBASE-11556](https://issues.apache.org/jira/browse/HBASE-11556) | Move HTablePool to hbase-thrift module. |  Major | Thrift |
+| [HBASE-4072](https://issues.apache.org/jira/browse/HBASE-4072) | Deprecate/disable and remove support for reading ZooKeeper zoo.cfg files from the classpath |  Major | . |
+
+
+### IMPORTANT ISSUES:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-15780](https://issues.apache.org/jira/browse/HBASE-15780) | Expose AuthUtil as IA.Public |  Critical | API, security |
+| [HBASE-15322](https://issues.apache.org/jira/browse/HBASE-15322) | Operations using Unsafe path broken for platforms not having sun.misc.Unsafe |  Critical | hbase |
+| [HBASE-15125](https://issues.apache.org/jira/browse/HBASE-15125) | HBaseFsck's adoptHdfsOrphan function creates region with wrong end key boundary |  Major | hbck |
+
+
+### NEW FEATURES:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-19950](https://issues.apache.org/jira/browse/HBASE-19950) | Introduce a ColumnValueFilter |  Minor | Filters |
+| [HBASE-19844](https://issues.apache.org/jira/browse/HBASE-19844) | Shell should support flush by regionserver |  Minor | shell |
+| [HBASE-19886](https://issues.apache.org/jira/browse/HBASE-19886) | Display maintenance mode in shell, web UI |  Major | . |
+| [HBASE-19528](https://issues.apache.org/jira/browse/HBASE-19528) | Major Compaction Tool |  Major | . |
+| [HBASE-19897](https://issues.apache.org/jira/browse/HBASE-19897) | RowMutations should follow the fluent pattern |  Minor | . |
+| [HBASE-4224](https://issues.apache.org/jira/browse/HBASE-4224) | Need a flush by regionserver rather than by table option |  Major | . |
+| [HBASE-15321](https://issues.apache.org/jira/browse/HBASE-15321) | Ability to open a HRegion from hdfs snapshot. |  Major | . |
+| [HBASE-19799](https://issues.apache.org/jira/browse/HBASE-19799) | Add web UI to rsgroup |  Major | rsgroup, UI |
+| [HBASE-19326](https://issues.apache.org/jira/browse/HBASE-19326) | Remove decommissioned servers from rsgroup |  Major | rsgroup |
+| [HBASE-19189](https://issues.apache.org/jira/browse/HBASE-19189) | Ad-hoc test job for running a subset of tests lots of times |  Major | build |
+| [HBASE-19103](https://issues.apache.org/jira/browse/HBASE-19103) | Add BigDecimalComparator for filter |  Minor | Client |
+| [HBASE-18171](https://issues.apache.org/jira/browse/HBASE-18171) | Scanning cursor for async client |  Major | . |
+| [HBASE-18875](https://issues.apache.org/jira/browse/HBASE-18875) | Thrift server supports read-only mode |  Major | Thrift |
+| [HBASE-14417](https://issues.apache.org/jira/browse/HBASE-14417) | Incremental backup and bulk loading |  Blocker | . |
+| [HBASE-18131](https://issues.apache.org/jira/browse/HBASE-18131) | Add an hbase shell command to clear deadserver list in ServerManager |  Major | Operability |
+| [HBASE-15806](https://issues.apache.org/jira/browse/HBASE-15806) | An endpoint-based export tool |  Critical | Coprocessors, tooling |
+| [HBASE-14135](https://issues.apache.org/jira/browse/HBASE-14135) | HBase Backup/Restore Phase 3: Merge backup images |  Critical | . |
+| [HBASE-15134](https://issues.apache.org/jira/browse/HBASE-15134) | Add visibility into Flush and Compaction queues |  Major | Compaction, metrics, regionserver |
+| [HBASE-15968](https://issues.apache.org/jira/browse/HBASE-15968) | New behavior of versions considering mvcc and ts rather than ts only |  Major | . |
+| [HBASE-15943](https://issues.apache.org/jira/browse/HBASE-15943) | Add page displaying JVM process metrics |  Major | Operability, UI |
+| [HBASE-17928](https://issues.apache.org/jira/browse/HBASE-17928) | Shell tool to clear compaction queues |  Major | Compaction, Operability |
+| [HBASE-18226](https://issues.apache.org/jira/browse/HBASE-18226) | Disable reverse DNS lookup at HMaster and use the hostname provided by RegionServer |  Major | . |
+| [HBASE-13784](https://issues.apache.org/jira/browse/HBASE-13784) | Add Async Client Table API |  Major | . |
+| [HBASE-17849](https://issues.apache.org/jira/browse/HBASE-17849) | PE tool random read is not totally random |  Major | Performance, test |
+| [HBASE-15576](https://issues.apache.org/jira/browse/HBASE-15576) | Scanning cursor to prevent blocking long time on ResultScanner.next() |  Major | . |
+| [HBASE-16961](https://issues.apache.org/jira/browse/HBASE-16961) | FileSystem Quotas |  Major | . |
+| [HBASE-17757](https://issues.apache.org/jira/browse/HBASE-17757) | Unify blocksize after encoding to decrease memory fragment |  Major | . |
+| [HBASE-17542](https://issues.apache.org/jira/browse/HBASE-17542) | Move backup system table into separate namespace |  Major | . |
+| [HBASE-14141](https://issues.apache.org/jira/browse/HBASE-14141) | HBase Backup/Restore Phase 3: Filter WALs on backup to include only edits from backed up tables |  Blocker | . |
+| [HBASE-17758](https://issues.apache.org/jira/browse/HBASE-17758) | [RSGROUP] Add shell command to move servers and tables at the same time |  Major | rsgroup |
+| [HBASE-17737](https://issues.apache.org/jira/browse/HBASE-17737) | Thrift2 proxy should support scan timeRange per column family |  Major | Thrift |
+| [HBASE-16981](https://issues.apache.org/jira/browse/HBASE-16981) | Expand Mob Compaction Partition policy from daily to weekly, monthly |  Major | mob |
+| [HBASE-9774](https://issues.apache.org/jira/browse/HBASE-9774) | HBase native metrics and metric collection for coprocessors |  Major | Coprocessors, metrics |
+| [HBASE-17174](https://issues.apache.org/jira/browse/HBASE-17174) | Refactor the AsyncProcess, BufferedMutatorImpl, and HTable |  Minor | . |
+| [HBASE-15432](https://issues.apache.org/jira/browse/HBASE-15432) | TableInputFormat - support multi column family scan |  Major | . |
+| [HBASE-17181](https://issues.apache.org/jira/browse/HBASE-17181) | Let HBase thrift2 support TThreadedSelectorServer |  Minor | Thrift |
+| [HBASE-17151](https://issues.apache.org/jira/browse/HBASE-17151) | New API to create HFile.Reader without instantiating block cache |  Major | . |
+| [HBASE-16463](https://issues.apache.org/jira/browse/HBASE-16463) | Improve transparent table/CF encryption with Commons Crypto |  Major | encryption |
+| [HBASE-16751](https://issues.apache.org/jira/browse/HBASE-16751) | Add tuning information to HBase Book |  Minor | . |
+| [HBASE-16677](https://issues.apache.org/jira/browse/HBASE-16677) | Add table size (total store file size) to table page |  Minor | website |
+| [HBASE-16447](https://issues.apache.org/jira/browse/HBASE-16447) | Replication by namespaces config in peer |  Critical | Replication |
+| [HBASE-16388](https://issues.apache.org/jira/browse/HBASE-16388) | Prevent client threads being blocked by only one slow region server |  Major | . |
+| [HBASE-16213](https://issues.apache.org/jira/browse/HBASE-16213) | A new HFileBlock structure for fast random get |  Major | Performance |
+| [HBASE-12721](https://issues.apache.org/jira/browse/HBASE-12721) | Create Docker container cluster infrastructure to enable better testing |  Major | build, community, documentation, test |
+| [HBASE-3727](https://issues.apache.org/jira/browse/HBASE-3727) | MultiHFileOutputFormat |  Minor | . |
+| [HBASE-15881](https://issues.apache.org/jira/browse/HBASE-15881) | Allow BZIP2 compression |  Major | HFile |
+| [HBASE-10358](https://issues.apache.org/jira/browse/HBASE-10358) | Shell changes for setting consistency per request |  Major | shell |
+| [HBASE-15892](https://issues.apache.org/jira/browse/HBASE-15892) | submit-patch.py: Single command line to make patch, upload it to jira, and update review board |  Trivial | . |
+| [HBASE-15228](https://issues.apache.org/jira/browse/HBASE-15228) | Add the methods to RegionObserver to trigger start/complete restoring WALs |  Major | Coprocessors |
+| [HBASE-15847](https://issues.apache.org/jira/browse/HBASE-15847) | VerifyReplication prefix filtering |  Major | Replication |
+| [HBASE-15798](https://issues.apache.org/jira/browse/HBASE-15798) | Add Async RpcChannels to all RpcClients |  Major | . |
+| [HBASE-15281](https://issues.apache.org/jira/browse/HBASE-15281) | Allow the FileSystem inside HFileSystem to be wrapped |  Major | Filesystem Integration, hbase |
+| [HBASE-15592](https://issues.apache.org/jira/browse/HBASE-15592) | Print Procedure WAL content |  Major | . |
+| [HBASE-6721](https://issues.apache.org/jira/browse/HBASE-6721) | RegionServer Group based Assignment |  Major | regionserver |
+| [HBASE-15136](https://issues.apache.org/jira/browse/HBASE-15136) | Explore different queuing behaviors while busy |  Critical | IPC/RPC |
+| [HBASE-15181](https://issues.apache.org/jira/browse/HBASE-15181) | A simple implementation of date based tiered compaction |  Major | Compaction |
+| [HBASE-13259](https://issues.apache.org/jira/browse/HBASE-13259) | mmap() based BucketCache IOEngine |  Critical | BlockCache |
+| [HBASE-15135](https://issues.apache.org/jira/browse/HBASE-15135) | Add metrics for storefile age |  Major | . |
+| [HBASE-14355](https://issues.apache.org/jira/browse/HBASE-14355) | Scan different TimeRange for each column family |  Major | Client, regionserver, Scanners |
+| [HBASE-11262](https://issues.apache.org/jira/browse/HBASE-11262) | Avoid empty columns while doing bulk-load |  Major | . |
+| [HBASE-15036](https://issues.apache.org/jira/browse/HBASE-15036) | Update HBase Spark documentation to include bulk load with thin records |  Major | . |
+| [HBASE-14980](https://issues.apache.org/jira/browse/HBASE-14980) | Project Astro |  Major | documentation |
+| [HBASE-13153](https://issues.apache.org/jira/browse/HBASE-13153) | Bulk Loaded HFile Replication |  Major | Replication |
+| [HBASE-12911](https://issues.apache.org/jira/browse/HBASE-12911) | Client-side metrics |  Major | Client, Operability, Performance |
+| [HBASE-14529](https://issues.apache.org/jira/browse/HBASE-14529) | Respond to SIGHUP to reload config |  Major | Operability |
+| [HBASE-14459](https://issues.apache.org/jira/browse/HBASE-14459) | Add request and response sizes metrics |  Major | metrics |
+| [HBASE-14456](https://issues.apache.org/jira/browse/HBASE-14456) | Implement a namespace-based region grouping strategy for RegionGroupingProvider |  Major | . |
+| [HBASE-14154](https://issues.apache.org/jira/browse/HBASE-14154) | DFS Replication should be configurable at column family level |  Minor | . |
+| [HBASE-13702](https://issues.apache.org/jira/browse/HBASE-13702) | ImportTsv: Add dry-run functionality and log bad rows |  Major | . |
+| [HBASE-13639](https://issues.apache.org/jira/browse/HBASE-13639) | SyncTable - rsync for HBase tables |  Major | mapreduce, Operability, tooling |
+| [HBASE-10070](https://issues.apache.org/jira/browse/HBASE-10070) | HBase read high-availability using timeline-consistent region replicas |  Major | Admin, API, LatencyResilience |
+| [HBASE-13356](https://issues.apache.org/jira/browse/HBASE-13356) | HBase should provide an InputFormat supporting multiple scans in mapreduce jobs over snapshots |  Minor | mapreduce |
+| [HBASE-5980](https://issues.apache.org/jira/browse/HBASE-5980) | Scanner responses from RS should include metrics on rows/KVs filtered |  Minor | Client, metrics, Operability, regionserver |
+| [HBASE-13698](https://issues.apache.org/jira/browse/HBASE-13698) | Add RegionLocator methods to Thrift2 proxy. |  Major | Thrift |
+| [HBASE-13071](https://issues.apache.org/jira/browse/HBASE-13071) | Hbase Streaming Scan Feature |  Major | . |
+| [HBASE-13090](https://issues.apache.org/jira/browse/HBASE-13090) | Progress heartbeats for long running scanners |  Major | . |
+| [HBASE-13412](https://issues.apache.org/jira/browse/HBASE-13412) | Region split decisions should have jitter |  Major | regionserver |
+| [HBASE-12972](https://issues.apache.org/jira/browse/HBASE-12972) | Region, a supportable public/evolving subset of HRegion |  Major | . |
+| [HBASE-13170](https://issues.apache.org/jira/browse/HBASE-13170) | Allow block cache to be external |  Major | io |
+| [HBASE-5238](https://issues.apache.org/jira/browse/HBASE-5238) | Add a log4j category for all edits to META/ROOT |  Minor | regionserver |
+| [HBASE-13063](https://issues.apache.org/jira/browse/HBASE-13063) | Allow to turn off memstore replication for region replicas |  Minor | regionserver, Replication |
+| [HBASE-13057](https://issues.apache.org/jira/browse/HBASE-13057) | Provide client utility to easily enable and disable table replication |  Major | Replication |
+| [HBASE-12869](https://issues.apache.org/jira/browse/HBASE-12869) | Add a REST API implementation of the ClusterManager interface |  Major | integration tests |
+| [HBASE-12944](https://issues.apache.org/jira/browse/HBASE-12944) | Support patches to branches in precommit jenkins build |  Major | . |
+| [HBASE-12268](https://issues.apache.org/jira/browse/HBASE-12268) | Add support for Scan.setRowPrefixFilter to shell |  Major | shell |
+| [HBASE-5162](https://issues.apache.org/jira/browse/HBASE-5162) | Basic client pushback mechanism |  Major | . |
+
+
+### IMPROVEMENTS:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-20135](https://issues.apache.org/jira/browse/HBASE-20135) | NullPointerException during reading bloom filter when upgraded from hbase-1 to hbase-2 |  Minor | . |
+| [HBASE-17165](https://issues.apache.org/jira/browse/HBASE-17165) | Add retry to LoadIncrementalHFiles tool |  Critical | hbase, HFile, tooling |
+| [HBASE-18467](https://issues.apache.org/jira/browse/HBASE-18467) | nightly job needs to run all stages and then comment on jira |  Critical | community, test |
+| [HBASE-17448](https://issues.apache.org/jira/browse/HBASE-17448) | Export metrics from RecoverableZooKeeper |  Major | Zookeeper |
+| [HBASE-20055](https://issues.apache.org/jira/browse/HBASE-20055) | Remove declaration of un-thrown exceptions and unused setRegionStateBackToOpen() from MergeTableRegionsProcedure |  Minor | amv2 |
+| [HBASE-18020](https://issues.apache.org/jira/browse/HBASE-18020) | Update API Compliance Checker to Incorporate Improvements Done in Hadoop |  Major | API, community |
+| [HBASE-20065](https://issues.apache.org/jira/browse/HBASE-20065) | Revisit the timestamp usage in MetaTableAccessor |  Major | . |
+| [HBASE-18294](https://issues.apache.org/jira/browse/HBASE-18294) | Reduce global heap pressure: flush based on heap occupancy |  Major | . |
+| [HBASE-19680](https://issues.apache.org/jira/browse/HBASE-19680) | BufferedMutatorImpl#mutate should wait the result from AP in order to throw the failed mutations |  Major | . |
+| [HBASE-19988](https://issues.apache.org/jira/browse/HBASE-19988) | HRegion#lockRowsAndBuildMiniBatch() is too chatty when interrupted while waiting for a row lock |  Minor | amv2 |
+| [HBASE-19915](https://issues.apache.org/jira/browse/HBASE-19915) | From split/ merge procedures daughter/ merged regions get created in OFFLINE state |  Major | . |
+| [HBASE-19917](https://issues.apache.org/jira/browse/HBASE-19917) | Improve RSGroupBasedLoadBalancer#filterServers() to be more efficient |  Minor | rsgroup |
+| [HBASE-19904](https://issues.apache.org/jira/browse/HBASE-19904) | Break dependency of WAL constructor on Replication |  Major | Replication, wal |
+| [HBASE-19912](https://issues.apache.org/jira/browse/HBASE-19912) | The flag "writeToWAL" of Region#checkAndRowMutate is useless |  Minor | . |
+| [HBASE-19861](https://issues.apache.org/jira/browse/HBASE-19861) | Avoid using RPCs when querying table infos for master status pages |  Major | UI |
+| [HBASE-19770](https://issues.apache.org/jira/browse/HBASE-19770) | Add '--return-values' option to Shell to print return values of commands in interactive mode |  Critical | shell |
+| [HBASE-19823](https://issues.apache.org/jira/browse/HBASE-19823) | Make RawCellBuilderFactory LimitedPrivate.UNITTEST |  Minor | . |
+| [HBASE-19820](https://issues.apache.org/jira/browse/HBASE-19820) | Restore public constructor of MiniHBaseCluster (API compat) |  Major | . |
+| [HBASE-19736](https://issues.apache.org/jira/browse/HBASE-19736) | Remove BaseLogCleanerDelegate deprecated #isLogDeletable(FileStatus) and use #isFileDeletable(FileStatus) instead |  Minor | . |
+| [HBASE-19739](https://issues.apache.org/jira/browse/HBASE-19739) | Include thrift IDL files in HBase binary distribution |  Minor | Thrift |
+| [HBASE-19789](https://issues.apache.org/jira/browse/HBASE-19789) | Not exclude flaky tests from nightly builds |  Major | . |
+| [HBASE-19758](https://issues.apache.org/jira/browse/HBASE-19758) | Split TestHCM to several smaller tests |  Major | test |
+| [HBASE-19751](https://issues.apache.org/jira/browse/HBASE-19751) | Use RegionInfo directly instead of an identifier and a namespace when getting WAL |  Major | wal |
+| [HBASE-19139](https://issues.apache.org/jira/browse/HBASE-19139) | Create Async Admin methods for Clear Block Cache |  Major | Admin |
+| [HBASE-19702](https://issues.apache.org/jira/browse/HBASE-19702) | Improve RSGroupInfo constructors |  Minor | . |
+| [HBASE-19684](https://issues.apache.org/jira/browse/HBASE-19684) | BlockCacheKey toString Performance |  Trivial | hbase |
+| [HBASE-19358](https://issues.apache.org/jira/browse/HBASE-19358) | Improve the stability of splitting log when do fail over |  Major | MTTR |
+| [HBASE-19723](https://issues.apache.org/jira/browse/HBASE-19723) | hbase-thrift declares slf4j-api twice |  Trivial | Thrift |
+| [HBASE-19651](https://issues.apache.org/jira/browse/HBASE-19651) | Remove LimitInputStream |  Minor | hbase |
+| [HBASE-19473](https://issues.apache.org/jira/browse/HBASE-19473) | Miscellaneous changes to ClientScanner |  Trivial | hbase |
+| [HBASE-19613](https://issues.apache.org/jira/browse/HBASE-19613) | Miscellaneous changes to WALSplitter |  Trivial | hbase |
+| [HBASE-18806](https://issues.apache.org/jira/browse/HBASE-18806) | VerifyRep by snapshot need not to restore snapshot for each mapper |  Major | Replication |
+| [HBASE-18011](https://issues.apache.org/jira/browse/HBASE-18011) | Refactor RpcServer |  Major | IPC/RPC |
+| [HBASE-19641](https://issues.apache.org/jira/browse/HBASE-19641) | AsyncHBaseAdmin should use exponential backoff when polling the procedure result |  Major | asyncclient, proc-v2 |
+| [HBASE-19675](https://issues.apache.org/jira/browse/HBASE-19675) | Miscellaneous HStore Class Improvements |  Minor | hbase |
+| [HBASE-19683](https://issues.apache.org/jira/browse/HBASE-19683) | Remove Superfluous Methods From String Class |  Trivial | hbase |
+| [HBASE-19676](https://issues.apache.org/jira/browse/HBASE-19676) | CleanerChore logging improvements |  Trivial | hbase |
+| [HBASE-19486](https://issues.apache.org/jira/browse/HBASE-19486) |  Periodically ensure records are not buffered too long by BufferedMutator |  Major | Client |
+| [HBASE-19679](https://issues.apache.org/jira/browse/HBASE-19679) | Superusers Logging and Data Structures |  Trivial | hbase |
+| [HBASE-19677](https://issues.apache.org/jira/browse/HBASE-19677) | Miscellaneous HFileCleaner Improvements |  Trivial | hbase |
+| [HBASE-19649](https://issues.apache.org/jira/browse/HBASE-19649) | Use singleton feature for ImmutableSegment |  Trivial | . |
+| [HBASE-8518](https://issues.apache.org/jira/browse/HBASE-8518) | Get rid of hbase.hstore.compaction.complete setting |  Minor | . |
+| [HBASE-19659](https://issues.apache.org/jira/browse/HBASE-19659) | Enable -x in make\_rc.sh so logs where it is in execution |  Trivial | build |
+| [HBASE-19647](https://issues.apache.org/jira/browse/HBASE-19647) | Logging cleanups; emit regionname when RegionTooBusyException inside RetriesExhausted... make netty connect/disconnect TRACE-level |  Major | . |
+| [HBASE-19545](https://issues.apache.org/jira/browse/HBASE-19545) | Replace getBytes(StandardCharsets.UTF\_8) with Bytes.toBytes |  Minor | . |
+| [HBASE-19615](https://issues.apache.org/jira/browse/HBASE-19615) | CompositeImmutableSegment ArrayList Instead of LinkedList |  Trivial | hbase |
+| [HBASE-19621](https://issues.apache.org/jira/browse/HBASE-19621) | Revisit the methods in ReplicationPeerConfigBuilder |  Minor | . |
+| [HBASE-19618](https://issues.apache.org/jira/browse/HBASE-19618) | Remove replicationQueuesClient.class/replicationQueues.class config and remove table based ReplicationQueuesClient/ReplicationQueues implementation |  Major | . |
+| [HBASE-19576](https://issues.apache.org/jira/browse/HBASE-19576) | Introduce builder for ReplicationPeerConfig and make it immutable |  Major | . |
+| [HBASE-19590](https://issues.apache.org/jira/browse/HBASE-19590) | Remove the duplicate code in deprecated ReplicationAdmin |  Minor | . |
+| [HBASE-19570](https://issues.apache.org/jira/browse/HBASE-19570) | Add hadoop3 tests to Nightly master/branch-2 runs |  Critical | . |
+| [HBASE-19571](https://issues.apache.org/jira/browse/HBASE-19571) | Minor refactor of Nightly run scripts |  Minor | . |
+| [HBASE-19491](https://issues.apache.org/jira/browse/HBASE-19491) | Exclude flaky tests from nightly master run |  Major | . |
+| [HBASE-15482](https://issues.apache.org/jira/browse/HBASE-15482) | Provide an option to skip calculating block locations for SnapshotInputFormat |  Minor | mapreduce |
+| [HBASE-19531](https://issues.apache.org/jira/browse/HBASE-19531) | Remove needless volatile declaration |  Trivial | . |
+| [HBASE-19521](https://issues.apache.org/jira/browse/HBASE-19521) | HBase mob compaction need to check hfile version |  Critical | Compaction, mob |
+| [HBASE-14790](https://issues.apache.org/jira/browse/HBASE-14790) | Implement a new DFSOutputStream for logging WAL only |  Major | wal |
+| [HBASE-19472](https://issues.apache.org/jira/browse/HBASE-19472) | Remove ArrayUtil Class |  Major | hbase |
+| [HBASE-19489](https://issues.apache.org/jira/browse/HBASE-19489) | Check against only the latest maintenance release in pre-commit hadoopcheck. |  Minor | . |
+| [HBASE-17425](https://issues.apache.org/jira/browse/HBASE-17425) | Fix calls to deprecated APIs in TestUpdateConfiguration |  Trivial | Client |
+| [HBASE-19464](https://issues.apache.org/jira/browse/HBASE-19464) | Replace StringBuffer with StringBuilder for hbase-common |  Trivial | hbase |
+| [HBASE-19463](https://issues.apache.org/jira/browse/HBASE-19463) | Make CPEnv#getConnection return a facade that throws Unsupported if CP calls #close |  Major | Coprocessors |
+| [HBASE-19180](https://issues.apache.org/jira/browse/HBASE-19180) | Remove unused imports from AlwaysPasses |  Trivial | build |
+| [HBASE-18169](https://issues.apache.org/jira/browse/HBASE-18169) | Coprocessor fix and cleanup before 2.0.0 release |  Blocker | Coprocessors |
+| [HBASE-19448](https://issues.apache.org/jira/browse/HBASE-19448) | Replace StringBuffer with StringBuilder for hbase-server |  Trivial | hbase |
+| [HBASE-19432](https://issues.apache.org/jira/browse/HBASE-19432) | Roll the specified writer in HFileOutputFormat2 |  Major | . |
+| [HBASE-19290](https://issues.apache.org/jira/browse/HBASE-19290) | Reduce zk request when doing split log |  Major | . |
+| [HBASE-19336](https://issues.apache.org/jira/browse/HBASE-19336) | Improve rsgroup to allow assign all tables within a specified namespace by only writing namespace |  Major | rsgroup |
+| [HBASE-19367](https://issues.apache.org/jira/browse/HBASE-19367) | Refactoring in RegionStates, and RSProcedureDispatcher |  Minor | . |
+| [HBASE-19382](https://issues.apache.org/jira/browse/HBASE-19382) | Update report-flakies.py script to handle yetus builds |  Major | . |
+| [HBASE-19252](https://issues.apache.org/jira/browse/HBASE-19252) | Move the transform logic of FilterList into transformCell() method to avoid extra ref to question cell |  Minor | . |
+| [HBASE-19372](https://issues.apache.org/jira/browse/HBASE-19372) | Remove the Span object in SyncFuture as it is useless now |  Major | tracing, wal |
+| [HBASE-18090](https://issues.apache.org/jira/browse/HBASE-18090) | Improve TableSnapshotInputFormat to allow more multiple mappers per region |  Major | mapreduce |
+| [HBASE-16868](https://issues.apache.org/jira/browse/HBASE-16868) | Add a replicate\_all flag to avoid misuse the namespaces and table-cfs config of replication peer |  Critical | Replication |
+| [HBASE-19311](https://issues.apache.org/jira/browse/HBASE-19311) | Promote TestAcidGuarantees to LargeTests and start mini cluster once to make it faster |  Major | test |
+| [HBASE-19293](https://issues.apache.org/jira/browse/HBASE-19293) | Support adding a new replication peer in disabled state |  Major | . |
+| [HBASE-16574](https://issues.apache.org/jira/browse/HBASE-16574) | Add backup / restore feature to refguide |  Major | . |
+| [HBASE-19274](https://issues.apache.org/jira/browse/HBASE-19274) | Log IOException when unable to determine the size of committed file |  Trivial | . |
+| [HBASE-19251](https://issues.apache.org/jira/browse/HBASE-19251) | Merge RawAsyncTable and AsyncTable |  Major | asyncclient, Client |
+| [HBASE-19262](https://issues.apache.org/jira/browse/HBASE-19262) | Revisit checkstyle rules |  Major | build |
+| [HBASE-18601](https://issues.apache.org/jira/browse/HBASE-18601) | Update Htrace to 4.2 |  Major | dependencies, tracing |
+| [HBASE-19227](https://issues.apache.org/jira/browse/HBASE-19227) | Nightly jobs should archive JVM dumpstream files |  Critical | build |
+| [HBASE-12350](https://issues.apache.org/jira/browse/HBASE-12350) | Backport error-prone build support to branch-1 and branch-2 |  Minor | . |
+| [HBASE-19228](https://issues.apache.org/jira/browse/HBASE-19228) | nightly job should gather machine stats. |  Major | build |
+| [HBASE-19186](https://issues.apache.org/jira/browse/HBASE-19186) | Unify to use bytes to show size in master/rs ui |  Minor | . |
+| [HBASE-19027](https://issues.apache.org/jira/browse/HBASE-19027) | Honor the CellComparator of ScanInfo in scanning over a store |  Major | . |
+| [HBASE-13622](https://issues.apache.org/jira/browse/HBASE-13622) | document upgrade rollback |  Major | documentation |
+| [HBASE-18925](https://issues.apache.org/jira/browse/HBASE-18925) | Need updated mockito for using java optional |  Major | . |
+| [HBASE-19140](https://issues.apache.org/jira/browse/HBASE-19140) | hbase-cleanup.sh uses deprecated call to remove files in hdfs |  Trivial | scripts |
+| [HBASE-17065](https://issues.apache.org/jira/browse/HBASE-17065) | Perform more effective sorting for RPC Handler Tasks |  Minor | . |
+| [HBASE-18870](https://issues.apache.org/jira/browse/HBASE-18870) | Hbase Backup should set the details to MR job name |  Minor | . |
+| [HBASE-18602](https://issues.apache.org/jira/browse/HBASE-18602) | rsgroup cleanup unassign code |  Minor | rsgroup |
+| [HBASE-19110](https://issues.apache.org/jira/browse/HBASE-19110) | Add default for Server#isStopping & #getFileSystem |  Minor | . |
+| [HBASE-19091](https://issues.apache.org/jira/browse/HBASE-19091) | Code annotation wrote "BinaryComparator" instead of "LongComparator" |  Minor | Client |
+| [HBASE-18994](https://issues.apache.org/jira/browse/HBASE-18994) | Decide if META/System tables should use Compacting Memstore or Default Memstore |  Major | . |
+| [HBASE-19051](https://issues.apache.org/jira/browse/HBASE-19051) | Add new split algorithm for num string |  Minor | . |
+| [HBASE-18824](https://issues.apache.org/jira/browse/HBASE-18824) | Add meaningful comment to HConstants.LATEST\_TIMESTAMP to explain why it is MAX\_VALUE |  Minor | . |
+| [HBASE-10367](https://issues.apache.org/jira/browse/HBASE-10367) | RegionServer graceful stop / decommissioning |  Major | . |
+| [HBASE-18986](https://issues.apache.org/jira/browse/HBASE-18986) | Remove unnecessary null check after CellUtil.cloneQualifier() |  Minor | . |
+| [HBASE-15410](https://issues.apache.org/jira/browse/HBASE-15410) | Utilize the max seek value when all Filters in MUST\_PASS\_ALL FilterList return SEEK\_NEXT\_USING\_HINT |  Major | . |
+| [HBASE-18843](https://issues.apache.org/jira/browse/HBASE-18843) | Add DistCp support to incremental backup with bulk loading |  Major | . |
+| [HBASE-16010](https://issues.apache.org/jira/browse/HBASE-16010) | Put draining function through Admin API |  Minor | . |
+| [HBASE-18899](https://issues.apache.org/jira/browse/HBASE-18899) | Make Fileinfo more readable in HFilePrettyPrinter |  Major | HFile |
+| [HBASE-16894](https://issues.apache.org/jira/browse/HBASE-16894) | Create more than 1 split per region, generalize HBASE-12590 |  Major | . |
+| [HBASE-18929](https://issues.apache.org/jira/browse/HBASE-18929) | Hbase backup command doesn’t show debug option to enable backup in debug mode |  Minor | . |
+| [HBASE-18814](https://issues.apache.org/jira/browse/HBASE-18814) | Make ScanMetrics enabled and add counter \<HBase Counters, ROWS\_SCANNED\> into the MapReduce Job over snapshot |  Minor | mapreduce |
+| [HBASE-18559](https://issues.apache.org/jira/browse/HBASE-18559) | Add histogram to MetricsConnection to track concurrent calls per server |  Minor | Client |
+| [HBASE-18436](https://issues.apache.org/jira/browse/HBASE-18436) | Add client-side hedged read metrics |  Minor | . |
+| [HBASE-13844](https://issues.apache.org/jira/browse/HBASE-13844) | Move static helper methods from KeyValue into CellUtils |  Minor | . |
+| [HBASE-18884](https://issues.apache.org/jira/browse/HBASE-18884) | Coprocessor Design Improvements follow up of HBASE-17732 |  Major | Coprocessors |
+| [HBASE-18652](https://issues.apache.org/jira/browse/HBASE-18652) | Expose individual cache stats in a CombinedCache through JMX |  Major | regionserver |
+| [HBASE-18651](https://issues.apache.org/jira/browse/HBASE-18651) | Let ChaosMonkeyRunner expose the chaos monkey runner it creates |  Major | . |
+| [HBASE-11462](https://issues.apache.org/jira/browse/HBASE-11462) | MetaTableAccessor shouldn't use ZooKeeeper |  Major | Client, Zookeeper |
+| [HBASE-18478](https://issues.apache.org/jira/browse/HBASE-18478) | Allow users to remove RegionFinder from LoadBalancer calculations if no locality possible |  Major | Balancer |
+| [HBASE-18849](https://issues.apache.org/jira/browse/HBASE-18849) | expand "thirdparty" reference to give examples of setting netty location in common testing modules |  Critical | documentation, thirdparty |
+| [HBASE-18609](https://issues.apache.org/jira/browse/HBASE-18609) | Apply ClusterStatus#getClusterStatus(EnumSet\<Option\>) in code base |  Major | . |
+| [HBASE-18795](https://issues.apache.org/jira/browse/HBASE-18795) | Expose KeyValue.getBuffer() for tests alone |  Major | . |
+| [HBASE-18772](https://issues.apache.org/jira/browse/HBASE-18772) | [JDK8]  Replace AtomicLong with LongAdder |  Trivial | . |
+| [HBASE-14996](https://issues.apache.org/jira/browse/HBASE-14996) | Some more API cleanup for 2.0 |  Blocker | . |
+| [HBASE-18683](https://issues.apache.org/jira/browse/HBASE-18683) | Upgrade hbase to commons-math 3 |  Major | . |
+| [HBASE-13271](https://issues.apache.org/jira/browse/HBASE-13271) | Table#puts(List\<Put\>) operation is indeterminate; needs fixing |  Critical | API |
+| [HBASE-10240](https://issues.apache.org/jira/browse/HBASE-10240) | Remove 0.94-\>0.96 migration code |  Critical | . |
+| [HBASE-18662](https://issues.apache.org/jira/browse/HBASE-18662) | The default values for many configuration items in the code are not consistent with hbase-default.xml |  Minor | . |
+| [HBASE-18621](https://issues.apache.org/jira/browse/HBASE-18621) | Refactor ClusterOptions before applying to code base |  Major | . |
+| [HBASE-18778](https://issues.apache.org/jira/browse/HBASE-18778) | Use Comparator for StealJobQueue |  Major | Compaction |
+| [HBASE-18737](https://issues.apache.org/jira/browse/HBASE-18737) | Display configured max size of memstore and cache on RS UI |  Minor | . |
+| [HBASE-18674](https://issues.apache.org/jira/browse/HBASE-18674) | upgrade hbase to commons-lang3 |  Major | . |
+| [HBASE-18746](https://issues.apache.org/jira/browse/HBASE-18746) | Throw exception with job.getStatus().getFailureInfo() when ExportSnapshot fails |  Minor | mapreduce, snapshots |
+| [HBASE-18740](https://issues.apache.org/jira/browse/HBASE-18740) | Upgrade Zookeeper version to 3.4.10 |  Major | . |
+| [HBASE-18699](https://issues.apache.org/jira/browse/HBASE-18699) | Copy LoadIncrementalHFiles to another package and mark the old one as deprecated |  Major | mapreduce |
+| [HBASE-18675](https://issues.apache.org/jira/browse/HBASE-18675) | Making {max,min}SessionTimeout configurable for MiniZooKeeperCluster |  Minor | test, Zookeeper |
+| [HBASE-17826](https://issues.apache.org/jira/browse/HBASE-17826) | Backup: submit M/R job to a particular Yarn queue |  Major | . |
+| [HBASE-18677](https://issues.apache.org/jira/browse/HBASE-18677) | typo in namespace docs |  Trivial | documentation |
+| [HBASE-18701](https://issues.apache.org/jira/browse/HBASE-18701) | Optimize reference guide to use cell acl conveniently |  Trivial | . |
+| [HBASE-18519](https://issues.apache.org/jira/browse/HBASE-18519) | Use builder pattern to create cell |  Major | . |
+| [HBASE-18673](https://issues.apache.org/jira/browse/HBASE-18673) | Some more unwanted reference to unshaded PB classes |  Minor | . |
+| [HBASE-18224](https://issues.apache.org/jira/browse/HBASE-18224) | Upgrade jetty |  Critical | dependencies |
+| [HBASE-18532](https://issues.apache.org/jira/browse/HBASE-18532) | Improve cache related stats rendered on RS UI |  Major | regionserver, UI |
+| [HBASE-18629](https://issues.apache.org/jira/browse/HBASE-18629) | Enhance ChaosMonkeyRunner with interruptibility |  Major | . |
+| [HBASE-18631](https://issues.apache.org/jira/browse/HBASE-18631) | Allow configuration of ChaosMonkey properties via hbase-site |  Minor | integration tests |
+| [HBASE-18573](https://issues.apache.org/jira/browse/HBASE-18573) | Update Append and Delete to use Mutation#getCellList(family) |  Minor | . |
+| [HBASE-18251](https://issues.apache.org/jira/browse/HBASE-18251) | Remove unnecessary traversing to the first and last keys in the CellSet |  Major | . |
+| [HBASE-18581](https://issues.apache.org/jira/browse/HBASE-18581) | Remove dead code and some tidy up in BaseLoadBalancer |  Minor | Balancer |
+| [HBASE-18504](https://issues.apache.org/jira/browse/HBASE-18504) | Add documentation for WAL compression |  Minor | documentation |
+| [HBASE-17064](https://issues.apache.org/jira/browse/HBASE-17064) | Add TaskMonitor#getTasks() variant which accepts type selection |  Minor | . |
+| [HBASE-2631](https://issues.apache.org/jira/browse/HBASE-2631) | Decide between "InMB" and "MB" as suffix for field names in ClusterStatus objects |  Minor | . |
+| [HBASE-18533](https://issues.apache.org/jira/browse/HBASE-18533) | Expose BucketCache values to be configured |  Major | BucketCache |
+| [HBASE-18303](https://issues.apache.org/jira/browse/HBASE-18303) | Clean up some parameterized test declarations |  Minor | test |
+| [HBASE-18522](https://issues.apache.org/jira/browse/HBASE-18522) | Add RowMutations support to Batch |  Major | . |
+| [HBASE-18566](https://issues.apache.org/jira/browse/HBASE-18566) | [RSGROUP]Log the client IP/port of the rsgroup admin |  Major | rsgroup |
+| [HBASE-15511](https://issues.apache.org/jira/browse/HBASE-15511) | ClusterStatus should be able to return responses by scope |  Major | . |
+| [HBASE-18555](https://issues.apache.org/jira/browse/HBASE-18555) | Remove redundant familyMap.put() from addxxx() of sub-classes of Mutation and Query |  Minor | Client |
+| [HBASE-18387](https://issues.apache.org/jira/browse/HBASE-18387) | [Thrift] Make principal configurable in DemoClient.java |  Minor | . |
+| [HBASE-18548](https://issues.apache.org/jira/browse/HBASE-18548) | Move sources of important Jenkins jobs into source control |  Critical | documentation, scripts |
+| [HBASE-18248](https://issues.apache.org/jira/browse/HBASE-18248) | Warn if monitored RPC task has been tied up beyond a configurable threshold |  Major | . |
+| [HBASE-18485](https://issues.apache.org/jira/browse/HBASE-18485) | Performance issue: ClientAsyncPrefetchScanner is slower than ClientSimpleScanner |  Major | . |
+| [HBASE-18426](https://issues.apache.org/jira/browse/HBASE-18426) | nightly job should use independent stages to check supported jdks |  Critical | community, test |
+| [HBASE-14220](https://issues.apache.org/jira/browse/HBASE-14220) | nightly tests should verify src tgz generates and builds correctly |  Minor | build |
+| [HBASE-18520](https://issues.apache.org/jira/browse/HBASE-18520) | Add jmx value to determine true Master Start time |  Minor | metrics |
+| [HBASE-16893](https://issues.apache.org/jira/browse/HBASE-16893) | Use Collection.removeIf instead of Iterator.remove in DependentColumnFilter |  Minor | . |
+| [HBASE-16116](https://issues.apache.org/jira/browse/HBASE-16116) | Remove redundant pattern \*.iml |  Trivial | . |
+| [HBASE-18261](https://issues.apache.org/jira/browse/HBASE-18261) | [AMv2] Create new RecoverMetaProcedure and use it from ServerCrashProcedure and HMaster.finishActiveMasterInitialization() |  Major | amv2 |
+| [HBASE-18402](https://issues.apache.org/jira/browse/HBASE-18402) | Thrift2 should support  DeleteFamilyVersion type |  Major | Thrift |
+| [HBASE-18434](https://issues.apache.org/jira/browse/HBASE-18434) | Address some alerts raised by lgtm.com |  Major | . |
+| [HBASE-18023](https://issues.apache.org/jira/browse/HBASE-18023) | Log multi-\* requests for more than threshold number of rows |  Minor | regionserver |
+| [HBASE-15816](https://issues.apache.org/jira/browse/HBASE-15816) | Provide client with ability to set priority on Operations |  Major | . |
+| [HBASE-18389](https://issues.apache.org/jira/browse/HBASE-18389) | Remove byte[] from formal parameter of sizeOf() of ClassSize, ClassSize.MemoryLayout and ClassSize.UnsafeLayout |  Minor | util |
+| [HBASE-18412](https://issues.apache.org/jira/browse/HBASE-18412) | [Shell] Support unset of list of configuration for a table |  Minor | . |
+| [HBASE-16312](https://issues.apache.org/jira/browse/HBASE-16312) | update jquery version |  Critical | dependencies, UI |
+| [HBASE-18332](https://issues.apache.org/jira/browse/HBASE-18332) | Upgrade asciidoctor-maven-plugin |  Minor | website |
+| [HBASE-18339](https://issues.apache.org/jira/browse/HBASE-18339) | Update test-patch to use hadoop 3.0.0-alpha4 |  Major | test |
+| [HBASE-18004](https://issues.apache.org/jira/browse/HBASE-18004) | getRegionLocations  needs to be called once in ScannerCallableWithReplicas#call() |  Minor | Client |
+| [HBASE-18307](https://issues.apache.org/jira/browse/HBASE-18307) | Share the same EventLoopGroup for NettyRpcServer, NettyRpcClient and AsyncFSWALProvider at RS side |  Major | io, rpc, wal |
+| [HBASE-18083](https://issues.apache.org/jira/browse/HBASE-18083) | Make large/small file clean thread number configurable in HFileCleaner |  Major | . |
+| [HBASE-16730](https://issues.apache.org/jira/browse/HBASE-16730) | Exclude junit as a transitive dependency from hadoop-common |  Trivial | hbase |
+| [HBASE-15062](https://issues.apache.org/jira/browse/HBASE-15062) | IntegrationTestMTTR conditionally run some tests |  Minor | integration tests |
+| [HBASE-11707](https://issues.apache.org/jira/browse/HBASE-11707) | Using Map instead of list in FailedServers of RpcClient |  Minor | Client |
+| [HBASE-18286](https://issues.apache.org/jira/browse/HBASE-18286) | Create static empty byte array to save memory |  Trivial | community |
+| [HBASE-17995](https://issues.apache.org/jira/browse/HBASE-17995) | improve log messages during snapshot related tests |  Trivial | integration tests, mapreduce, snapshots, test |
+| [HBASE-15391](https://issues.apache.org/jira/browse/HBASE-15391) | Avoid too large "deleted from META" info log |  Minor | . |
+| [HBASE-16585](https://issues.apache.org/jira/browse/HBASE-16585) | Rewrite the delegation token tests with Parameterized pattern |  Major | security, test |
+| [HBASE-13197](https://issues.apache.org/jira/browse/HBASE-13197) | Connection API cleanup |  Major | API |
+| [HBASE-15756](https://issues.apache.org/jira/browse/HBASE-15756) | Pluggable RpcServer |  Critical | Performance, rpc |
+| [HBASE-17110](https://issues.apache.org/jira/browse/HBASE-17110) | Improve SimpleLoadBalancer to always take server-level balance into account |  Major | Balancer |
+| [HBASE-18022](https://issues.apache.org/jira/browse/HBASE-18022) | Refine the error message issued with TableNotFoundException when expected table is not the same as the one fetched from meta |  Minor | . |
+| [HBASE-18281](https://issues.apache.org/jira/browse/HBASE-18281) | Performance update in StoreFileWriter.java for string replacement |  Trivial | community |
+| [HBASE-18041](https://issues.apache.org/jira/browse/HBASE-18041) | Add pylintrc file to HBase |  Major | community |
+| [HBASE-18275](https://issues.apache.org/jira/browse/HBASE-18275) | Formatting and grammar mistakes in schemadoc chapter |  Trivial | documentation |
+| [HBASE-18164](https://issues.apache.org/jira/browse/HBASE-18164) | Much faster locality cost function and candidate generator |  Critical | Balancer |
+| [HBASE-16351](https://issues.apache.org/jira/browse/HBASE-16351) | do dependency license check via enforcer plugin |  Major | build, dependencies |
+| [HBASE-18252](https://issues.apache.org/jira/browse/HBASE-18252) | Resolve BaseLoadBalancer bad practice warnings |  Minor | . |
+| [HBASE-18033](https://issues.apache.org/jira/browse/HBASE-18033) | Update supplemental models for new deps in Hadoop trunk |  Critical | dependencies |
+| [HBASE-17959](https://issues.apache.org/jira/browse/HBASE-17959) | Canary timeout should be configurable on a per-table basis |  Minor | canary |
+| [HBASE-17777](https://issues.apache.org/jira/browse/HBASE-17777) | TestMemstoreLAB#testLABThreading runs too long for a small test |  Minor | test |
+| [HBASE-18101](https://issues.apache.org/jira/browse/HBASE-18101) | Fix type mismatch on container access in QuotaCache#chore |  Trivial | . |
+| [HBASE-18001](https://issues.apache.org/jira/browse/HBASE-18001) | Extend the "count" shell command to support specified conditions |  Minor | shell |
+| [HBASE-18094](https://issues.apache.org/jira/browse/HBASE-18094) | Display the return value of the command append |  Major | shell |
+| [HBASE-18075](https://issues.apache.org/jira/browse/HBASE-18075) | Support namespaces and tables with non-latin alphabetical characters |  Major | Client |
+| [HBASE-18067](https://issues.apache.org/jira/browse/HBASE-18067) | Support a default converter for data read shell commands |  Minor | shell |
+| [HBASE-18019](https://issues.apache.org/jira/browse/HBASE-18019) | Close redundant memstore scanners |  Major | . |
+| [HBASE-17910](https://issues.apache.org/jira/browse/HBASE-17910) | Use separated StoreFileReader for streaming read |  Major | regionserver, scan, Scanners |
+| [HBASE-18043](https://issues.apache.org/jira/browse/HBASE-18043) | Institute a hard limit for individual cell size that cannot be overridden by clients |  Major | IPC/RPC, regionserver |
+| [HBASE-17343](https://issues.apache.org/jira/browse/HBASE-17343) | Make Compacting Memstore default in 2.0 with BASIC as the default type |  Blocker | regionserver |
+| [HBASE-18021](https://issues.apache.org/jira/browse/HBASE-18021) | Add more info in timed out RetriesExhaustedException for read replica client get processing, |  Minor | Client |
+| [HBASE-18017](https://issues.apache.org/jira/browse/HBASE-18017) | Reduce frequency of setStoragePolicy failure warnings |  Minor | . |
+| [HBASE-14925](https://issues.apache.org/jira/browse/HBASE-14925) | Develop HBase shell command/tool to list table's region info through command line |  Major | shell |
+| [HBASE-17924](https://issues.apache.org/jira/browse/HBASE-17924) | Consider sorting the row order when processing multi() ops before taking rowlocks |  Major | . |
+| [HBASE-18015](https://issues.apache.org/jira/browse/HBASE-18015) | Storage class aware block placement for procedure v2 WALs |  Minor | . |
+| [HBASE-18007](https://issues.apache.org/jira/browse/HBASE-18007) | Clean up rest module code |  Trivial | . |
+| [HBASE-17990](https://issues.apache.org/jira/browse/HBASE-17990) | Refactor TestFSUtils to use Before |  Trivial | . |
+| [HBASE-16466](https://issues.apache.org/jira/browse/HBASE-16466) | HBase snapshots support in VerifyReplication tool to reduce load on live HBase cluster with large tables |  Major | hbase |
+| [HBASE-12870](https://issues.apache.org/jira/browse/HBASE-12870) | "Major compaction triggered" and "Skipping major compaction" messages lack the region information |  Major | Compaction |
+| [HBASE-17973](https://issues.apache.org/jira/browse/HBASE-17973) | Create shell command to identify regions with poor locality |  Major | shell |
+| [HBASE-17979](https://issues.apache.org/jira/browse/HBASE-17979) | HBase Shell 'list' Command Help Doc Improvements |  Minor | shell |
+| [HBASE-17875](https://issues.apache.org/jira/browse/HBASE-17875) | Document why objects over 10MB are not well-suited for hbase |  Major | documentation, mob |
+| [HBASE-8486](https://issues.apache.org/jira/browse/HBASE-8486) | IS\_ROOT isnt needed in HTableDescriptor. |  Minor | . |
+| [HBASE-17817](https://issues.apache.org/jira/browse/HBASE-17817) | Make Regionservers log which tables it removed coprocessors from when aborting |  Major | Coprocessors, regionserver |
+| [HBASE-17835](https://issues.apache.org/jira/browse/HBASE-17835) | Spelling mistakes in the Java source |  Trivial | documentation |
+| [HBASE-17962](https://issues.apache.org/jira/browse/HBASE-17962) | Improve documentation on Rest interface |  Trivial | documentation, REST |
+| [HBASE-17877](https://issues.apache.org/jira/browse/HBASE-17877) | Improve HBase's byte[] comparator |  Major | util |
+| [HBASE-9899](https://issues.apache.org/jira/browse/HBASE-9899) | for idempotent operation dups, return the result instead of throwing conflict exception |  Major | . |
+| [HBASE-17514](https://issues.apache.org/jira/browse/HBASE-17514) | Warn when Thrift Server 1 is configured for proxy users but not the HTTP transport |  Minor | Thrift, Usability |
+| [HBASE-17944](https://issues.apache.org/jira/browse/HBASE-17944) | Removed unused JDK version parsing from ClassSize. |  Minor | build |
+| [HBASE-17912](https://issues.apache.org/jira/browse/HBASE-17912) | Avoid major compactions on region server startup |  Major | Compaction |
+| [HBASE-17888](https://issues.apache.org/jira/browse/HBASE-17888) | Add generic methods for updating metrics on start and end of a procedure execution |  Major | proc-v2 |
+| [HBASE-16469](https://issues.apache.org/jira/browse/HBASE-16469) | Several log refactoring/improvement suggestions |  Major | Operability |
+| [HBASE-17836](https://issues.apache.org/jira/browse/HBASE-17836) | CellUtil#estimatedSerializedSizeOf is slow when input is ByteBufferCell |  Minor | . |
+| [HBASE-16969](https://issues.apache.org/jira/browse/HBASE-16969) | RegionCoprocessorServiceExec should override the toString() for debugging |  Minor | . |
+| [HBASE-17854](https://issues.apache.org/jira/browse/HBASE-17854) | Use StealJobQueue in HFileCleaner after HBASE-17215 |  Major | . |
+| [HBASE-17215](https://issues.apache.org/jira/browse/HBASE-17215) | Separate small/large file delete threads in HFileCleaner to accelerate archived hfile cleanup speed |  Major | . |
+| [HBASE-17831](https://issues.apache.org/jira/browse/HBASE-17831) | Support small scan in thrift2 |  Major | Thrift |
+| [HBASE-17623](https://issues.apache.org/jira/browse/HBASE-17623) | Reuse the bytes array when building the hfile block |  Major | HFile |
+| [HBASE-17815](https://issues.apache.org/jira/browse/HBASE-17815) | Remove the unused field in PrefixTreeSeeker |  Trivial | . |
+| [HBASE-17778](https://issues.apache.org/jira/browse/HBASE-17778) | Remove the testing code in the AsyncRequestFutureImpl |  Trivial | . |
+| [HBASE-15339](https://issues.apache.org/jira/browse/HBASE-15339) | Improve DateTieredCompactionPolicy |  Major | Compaction |
+| [HBASE-17747](https://issues.apache.org/jira/browse/HBASE-17747) | Support both weak and soft object pool |  Major | . |
+| [HBASE-15429](https://issues.apache.org/jira/browse/HBASE-15429) | Add a split policy for busy regions |  Major | regionserver |
+| [HBASE-17731](https://issues.apache.org/jira/browse/HBASE-17731) | Fractional latency reporting in MultiThreadedAction |  Trivial | . |
+| [HBASE-16977](https://issues.apache.org/jira/browse/HBASE-16977) | VerifyReplication should log a printable representation of the row keys |  Minor | Replication |
+| [HBASE-15941](https://issues.apache.org/jira/browse/HBASE-15941) | HBCK repair should not unsplit healthy splitted region |  Major | hbck |
+| [HBASE-17532](https://issues.apache.org/jira/browse/HBASE-17532) | Replace explicit type with diamond operator |  Trivial | build |
+| [HBASE-17734](https://issues.apache.org/jira/browse/HBASE-17734) | Guard against possibly copying the qualifier in the ScanDeleteTracker |  Minor | . |
+| [HBASE-17690](https://issues.apache.org/jira/browse/HBASE-17690) | Clean up MOB code |  Major | mob |
+| [HBASE-16188](https://issues.apache.org/jira/browse/HBASE-16188) | Add EventCounter information to log4j properties file |  Minor | . |
+| [HBASE-17689](https://issues.apache.org/jira/browse/HBASE-17689) | Add support for table.existsAll in thrift2 THBaseservice |  Major | Thrift |
+| [HBASE-17634](https://issues.apache.org/jira/browse/HBASE-17634) | Clean up the usage of Result.isPartial |  Major | scan |
+| [HBASE-17654](https://issues.apache.org/jira/browse/HBASE-17654) | RSGroup code refactoring |  Major | rsgroup |
+| [HBASE-17057](https://issues.apache.org/jira/browse/HBASE-17057) | Minor compactions should also drop page cache behind reads |  Major | Compaction |
+| [HBASE-17676](https://issues.apache.org/jira/browse/HBASE-17676) | Get class name once for all in AbstractFSWAL |  Major | Performance |
+| [HBASE-13718](https://issues.apache.org/jira/browse/HBASE-13718) | Add a pretty printed table description to the table detail page of HBase's master |  Minor | hbase |
+| [HBASE-17172](https://issues.apache.org/jira/browse/HBASE-17172) | Optimize mob compaction with \_del files |  Major | mob |
+| [HBASE-17627](https://issues.apache.org/jira/browse/HBASE-17627) | Active workers metric for thrift |  Major | Thrift |
+| [HBASE-17637](https://issues.apache.org/jira/browse/HBASE-17637) | Update progress more frequently in IntegrationTestBigLinkedList.Generator.persist |  Minor | . |
+| [HBASE-17605](https://issues.apache.org/jira/browse/HBASE-17605) | Refactor procedure framework code |  Major | proc-v2 |
+| [HBASE-17280](https://issues.apache.org/jira/browse/HBASE-17280) | Add mechanism to control hbase cleaner behavior |  Minor | Client, hbase, shell |
+| [HBASE-17613](https://issues.apache.org/jira/browse/HBASE-17613) | avoid copy of family when initializing the FSWALEntry |  Minor | . |
+| [HBASE-17437](https://issues.apache.org/jira/browse/HBASE-17437) | Support specifying a WAL directory outside of the root directory |  Major | Filesystem Integration, wal |
+| [HBASE-17592](https://issues.apache.org/jira/browse/HBASE-17592) | Fix typo in IPCUtil and RpcConnection |  Trivial | . |
+| [HBASE-17588](https://issues.apache.org/jira/browse/HBASE-17588) | Remove unused imports brought in by HBASE-17437 |  Trivial | . |
+| [HBASE-17552](https://issues.apache.org/jira/browse/HBASE-17552) | Update developer section in hbase book |  Major | . |
+| [HBASE-17543](https://issues.apache.org/jira/browse/HBASE-17543) | Create additional ReplicationEndpoint WALEntryFilters by configuration |  Major | Replication |
+| [HBASE-17569](https://issues.apache.org/jira/browse/HBASE-17569) | HBase-Procedure module need to support mvn clean test -PskipProcedureTests to skip unit test |  Minor | proc-v2 |
+| [HBASE-17555](https://issues.apache.org/jira/browse/HBASE-17555) | Change calls to deprecated getHBaseAdmin to getAdmin |  Minor | . |
+| [HBASE-17563](https://issues.apache.org/jira/browse/HBASE-17563) | Foreach and switch in RootDocProcessor and StabilityOptions |  Trivial | . |
+| [HBASE-17515](https://issues.apache.org/jira/browse/HBASE-17515) | Reduce memory footprint of RegionLoads kept by StochasticLoadBalancer |  Major | . |
+| [HBASE-17462](https://issues.apache.org/jira/browse/HBASE-17462) | Use sliding window for read/write request costs in StochasticLoadBalancer |  Major | . |
+| [HBASE-16698](https://issues.apache.org/jira/browse/HBASE-16698) | Performance issue: handlers stuck waiting for CountDownLatch inside WALKey#getWriteEntry under high writing workload |  Major | Performance |
+| [HBASE-17404](https://issues.apache.org/jira/browse/HBASE-17404) | Replace explicit type with diamond operator in hbase-annotations |  Trivial | . |
+| [HBASE-10699](https://issues.apache.org/jira/browse/HBASE-10699) | Optimize some code; set capacity on arraylist when possible; use isEmpty; reduce allocations |  Major | . |
+| [HBASE-17488](https://issues.apache.org/jira/browse/HBASE-17488) | WALEdit should be lazily instantiated |  Trivial | . |
+| [HBASE-17408](https://issues.apache.org/jira/browse/HBASE-17408) | Introduce per request limit by number of mutations |  Major | . |
+| [HBASE-17291](https://issues.apache.org/jira/browse/HBASE-17291) | Remove ImmutableSegment#getKeyValueScanner |  Major | Scanners |
+| [HBASE-17314](https://issues.apache.org/jira/browse/HBASE-17314) | Limit total buffered size for all replication sources |  Major | Replication |
+| [HBASE-17348](https://issues.apache.org/jira/browse/HBASE-17348) | Remove the unused hbase.replication from javadoc/comment/book completely |  Trivial | . |
+| [HBASE-15924](https://issues.apache.org/jira/browse/HBASE-15924) | Enhance hbase services autorestart capability to hbase-daemon.sh |  Major | . |
+| [HBASE-17292](https://issues.apache.org/jira/browse/HBASE-17292) | Add observer notification before bulk loaded hfile is moved to region directory |  Major | . |
+| [HBASE-17332](https://issues.apache.org/jira/browse/HBASE-17332) | Replace HashMap to Array for DataBlockEncoding.idToEncoding |  Major | . |
+| [HBASE-17331](https://issues.apache.org/jira/browse/HBASE-17331) | Avoid busy waiting in ThrottledInputStream |  Minor | . |
+| [HBASE-17318](https://issues.apache.org/jira/browse/HBASE-17318) | Increment does not add new column if the increment amount is zero at first time writing |  Major | . |
+| [HBASE-17298](https://issues.apache.org/jira/browse/HBASE-17298) | remove unused code in HRegion#doMiniBatchMutation |  Minor | regionserver |
+| [HBASE-17296](https://issues.apache.org/jira/browse/HBASE-17296) | Provide per peer throttling for replication |  Major | Replication |
+| [HBASE-17276](https://issues.apache.org/jira/browse/HBASE-17276) | Reduce log spam from WrongRegionException in large multi()'s |  Minor | regionserver |
+| [HBASE-17241](https://issues.apache.org/jira/browse/HBASE-17241) | Avoid compacting already compacted  mob files with \_del files |  Major | mob |
+| [HBASE-17207](https://issues.apache.org/jira/browse/HBASE-17207) | Arrays.asList() with too few arguments |  Trivial | . |
+| [HBASE-16700](https://issues.apache.org/jira/browse/HBASE-16700) | Allow for coprocessor whitelisting |  Minor | Coprocessors |
+| [HBASE-17239](https://issues.apache.org/jira/browse/HBASE-17239) | Add UnsafeByteOperations#wrap(ByteInput, int offset, int len) API |  Major | Protobufs |
+| [HBASE-17245](https://issues.apache.org/jira/browse/HBASE-17245) | Replace HTableDescriptor#htd.getColumnFamilies().length with a low-cost implementation |  Minor | . |
+| [HBASE-14882](https://issues.apache.org/jira/browse/HBASE-14882) | Provide a Put API that adds the provided family, qualifier, value without copying |  Major | . |
+| [HBASE-17243](https://issues.apache.org/jira/browse/HBASE-17243) | Reuse CompactionPartitionId and avoid creating MobFileName in PartitionedMobCompactor to avoid unnecessary new objects |  Minor | mob |
+| [HBASE-17194](https://issues.apache.org/jira/browse/HBASE-17194) | Assign the new region to the idle server after splitting |  Minor | . |
+| [HBASE-17232](https://issues.apache.org/jira/browse/HBASE-17232) | Replace HashSet with ArrayList to accumulate delayed scanners in KVHeap and StoreScanner. |  Major | . |
+| [HBASE-17161](https://issues.apache.org/jira/browse/HBASE-17161) | MOB : Make ref cell creation more efficient |  Major | . |
+| [HBASE-17235](https://issues.apache.org/jira/browse/HBASE-17235) | Improvement in creation of CIS for onheap buffer cases |  Major | rpc |
+| [HBASE-17191](https://issues.apache.org/jira/browse/HBASE-17191) | Make use of UnsafeByteOperations#unsafeWrap(ByteBuffer buffer) in PBUtil#toCell(Cell cell) |  Major | . |
+| [HBASE-17205](https://issues.apache.org/jira/browse/HBASE-17205) | Add a metric for the duration of region in transition |  Minor | Region Assignment |
+| [HBASE-17216](https://issues.apache.org/jira/browse/HBASE-17216) | A Few Fields Can Be Safely Made Static |  Major | . |
+| [HBASE-17212](https://issues.apache.org/jira/browse/HBASE-17212) | Should add null checker on table name in HTable constructor and RegionServerCallable |  Major | . |
+| [HBASE-17184](https://issues.apache.org/jira/browse/HBASE-17184) | Code cleanup of LruBlockCache |  Trivial | . |
+| [HBASE-17211](https://issues.apache.org/jira/browse/HBASE-17211) | Add more details in log when UnknownScannerException thrown in ScannerCallable |  Minor | Operability |
+| [HBASE-17178](https://issues.apache.org/jira/browse/HBASE-17178) | Add region balance throttling |  Major | Balancer |
+| [HBASE-16302](https://issues.apache.org/jira/browse/HBASE-16302) | age of last shipped op and age of last applied op should be histograms |  Major | Replication |
+| [HBASE-16561](https://issues.apache.org/jira/browse/HBASE-16561) | Add metrics about read/write/scan queue length and active read/write/scan handler count |  Minor | IPC/RPC, metrics |
+| [HBASE-17086](https://issues.apache.org/jira/browse/HBASE-17086) | Add comments to explain why Cell#getTagsLength() returns an int, rather than a short |  Minor |  Interface |
+| [HBASE-17176](https://issues.apache.org/jira/browse/HBASE-17176) | Reuse the builder in RequestConverter |  Minor | . |
+| [HBASE-17157](https://issues.apache.org/jira/browse/HBASE-17157) | Increase the default mergeable threshold for mob compaction |  Major | mob |
+| [HBASE-17129](https://issues.apache.org/jira/browse/HBASE-17129) | Remove public from methods in DataType interface |  Minor | . |
+| [HBASE-17123](https://issues.apache.org/jira/browse/HBASE-17123) | Add postBulkLoadHFile variant that notifies the final paths for the hfiles |  Major | . |
+| [HBASE-17126](https://issues.apache.org/jira/browse/HBASE-17126) | Expose KeyValue#checkParameters() and checkForTagsLength() to be used by other Cell implementations |  Minor | Client, regionserver |
+| [HBASE-17088](https://issues.apache.org/jira/browse/HBASE-17088) | Refactor RWQueueRpcExecutor/BalancedQueueRpcExecutor/RpcExecutor |  Major | rpc |
+| [HBASE-16708](https://issues.apache.org/jira/browse/HBASE-16708) | Expose endpoint Coprocessor name in "responseTooSlow" log messages |  Major | . |
+| [HBASE-17037](https://issues.apache.org/jira/browse/HBASE-17037) | Enhance LoadIncrementalHFiles API to convey loaded files |  Major | . |
+| [HBASE-17077](https://issues.apache.org/jira/browse/HBASE-17077) | Don't copy the replication queue belonging to the peer which has been deleted |  Minor | . |
+| [HBASE-17047](https://issues.apache.org/jira/browse/HBASE-17047) | Add an API to get HBase connection cache statistics |  Minor | spark |
+| [HBASE-17063](https://issues.apache.org/jira/browse/HBASE-17063) | Cleanup TestHRegion : remove duplicate variables for method name and two unused params in initRegion |  Minor | . |
+| [HBASE-17026](https://issues.apache.org/jira/browse/HBASE-17026) | VerifyReplication log should distinguish whether good row key is result of revalidation |  Minor | . |
+| [HBASE-16840](https://issues.apache.org/jira/browse/HBASE-16840) | Reuse cell's timestamp and type in ScanQueryMatcher |  Minor | . |
+| [HBASE-17005](https://issues.apache.org/jira/browse/HBASE-17005) | Improve log message in MobFileCache |  Trivial | mob |
+| [HBASE-17004](https://issues.apache.org/jira/browse/HBASE-17004) | Refactor IntegrationTestManyRegions to use @ClassRule for timing out |  Minor | integration tests |
+| [HBASE-16946](https://issues.apache.org/jira/browse/HBASE-16946) | Provide Raw scan as an option in VerifyReplication |  Minor | hbase |
+| [HBASE-17013](https://issues.apache.org/jira/browse/HBASE-17013) | Add constructor to RowMutations for initializing the capacity of internal list |  Minor | . |
+| [HBASE-17006](https://issues.apache.org/jira/browse/HBASE-17006) | Add names to threads for better debugability of thread dumps |  Minor | Operability |
+| [HBASE-17014](https://issues.apache.org/jira/browse/HBASE-17014) | Add clearly marked starting and shutdown log messages for all services. |  Minor | Operability |
+| [HBASE-16950](https://issues.apache.org/jira/browse/HBASE-16950) | Print raw stats in the end of procedure performance tools for parsing results from scripts |  Trivial | . |
+| [HBASE-16783](https://issues.apache.org/jira/browse/HBASE-16783) | Use ByteBufferPool for the header and message during Rpc response |  Minor | . |
+| [HBASE-16562](https://issues.apache.org/jira/browse/HBASE-16562) | ITBLL should fail to start if misconfigured |  Major | integration tests |
+| [HBASE-16414](https://issues.apache.org/jira/browse/HBASE-16414) | Improve performance for RPC encryption with Apache Common Crypto |  Major | IPC/RPC |
+| [HBASE-16854](https://issues.apache.org/jira/browse/HBASE-16854) | Refactor the org.apache.hadoop.hbase.client.Action |  Minor | . |
+| [HBASE-16774](https://issues.apache.org/jira/browse/HBASE-16774) | [shell] Add coverage to TestShell when ZooKeeper is not reachable |  Major | shell, test |
+| [HBASE-16844](https://issues.apache.org/jira/browse/HBASE-16844) |  Procedure V2: DispatchMergingRegionsProcedure to use base class StateMachineProcedure for abort and rollback |  Trivial | master, proc-v2 |
+| [HBASE-16818](https://issues.apache.org/jira/browse/HBASE-16818) | Avoid multiple copies of binary data during the conversion from Result to Row |  Major | spark |
+| [HBASE-16821](https://issues.apache.org/jira/browse/HBASE-16821) | Enhance LoadIncrementalHFiles API to convey missing hfiles if any |  Major | . |
+| [HBASE-15921](https://issues.apache.org/jira/browse/HBASE-15921) | Add first AsyncTable impl and create TableImpl based on it |  Major | Client |
+| [HBASE-16792](https://issues.apache.org/jira/browse/HBASE-16792) | Reuse KeyValue.KeyOnlyKeyValue in BufferedDataBlockEncoder.SeekerState |  Minor | . |
+| [HBASE-16784](https://issues.apache.org/jira/browse/HBASE-16784) | Make use of ExtendedCell#write(OutputStream os) for the default HFileWriter#append() |  Major | . |
+| [HBASE-16809](https://issues.apache.org/jira/browse/HBASE-16809) | Save one cell length calculation in HeapMemStoreLAB#copyCellInto |  Minor | . |
+| [HBASE-16661](https://issues.apache.org/jira/browse/HBASE-16661) | Add last major compaction age to per-region metrics |  Minor | . |
+| [HBASE-16773](https://issues.apache.org/jira/browse/HBASE-16773) | AccessController should access local region if possible |  Major | . |
+| [HBASE-16657](https://issues.apache.org/jira/browse/HBASE-16657) | Expos

<TRUNCATED>