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 2021/07/23 18:24:11 UTC

[hbase] annotated tag 2.3.6RC0 created (now fe18974)

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

stack pushed a change to annotated tag 2.3.6RC0
in repository https://gitbox.apache.org/repos/asf/hbase.git.


      at fe18974  (tag)
 tagging 34c4803db42a1094f1db275670a8ea96ed6bf51e (commit)
 replaces rel/2.3.5
      by stack
      on Fri Jul 23 18:23:18 2021 +0000

- Log -----------------------------------------------------------------
Via create-release
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEXzLoEtM2TIUEtz4m250xPaeHTykFAmD7CRYACgkQ250xPaeH
TynHKA//Xo+WvRByKB8NOJjHFVxSjz/jK12kCIp/zP5LGUTjPGkJt2B+HNueNTCK
znWLdZYRxYLY79pa962pyzV02X6p323T/0JzmyrGJBpgNfJ/HbuGck06ZvVxt2gW
oc/NE62SyjbEEASgMnHTxzZc46Kz5pqHC2zOAhB+sf+ynSJ7tzEAY+2EBNvMgCGK
Nx7SsNk8+PDeVSrlL4kRABGdfMJtGxz8PCOyqxa2cRLW09NFDQtu8NngF7YvaCky
qDG0l0yR1F10lorW3pdUCTjVPfTgoiiweU9sfawtyQk07F9wWHoW6hYK/U9SaVSu
DUug2IrBMQ+th1Rs+d5BvkifGCJbb2WEjPM1UEcekek+gPESH0bnnOQ7mzSN50XM
v8zV0xsjzHWWuaSkxBmwQ5thsLLfaN2YRMVG+Lgfbx4PMwypy+T/XCKGVi/PH/lI
GgmQuxyklxh2MXqiqCIjzSqX+jMym5hN57VYK2e4b2OX6689pMH2Y/Xr/MOdzMF8
bmZ76Jtz8A9zp7JXbPK493ZohIcamVuhUfGPGpMOvOFfZlqZN7/88IHYHMSU5btI
5vNfp+SmfqKH7X2V8m7UZOYVUCu3726VgKcmboT/wQ+b/+ZPeWjX9GhjaxrmYozN
WZat5sHaZazBdkoWHalu0cKjYet1TeY6krcbsXzD17kS5C9Gflg=
=nQwP
-----END PGP SIGNATURE-----
-----------------------------------------------------------------------

This annotated tag includes the following new commits:

     new 34c4803  Preparing hbase release 2.3.6RC0; tagging and updates to CHANGES.md and RELEASENOTES.md

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[hbase] 01/01: Preparing hbase release 2.3.6RC0; tagging and updates to CHANGES.md and RELEASENOTES.md

Posted by st...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 34c4803db42a1094f1db275670a8ea96ed6bf51e
Author: stack <st...@apache.org>
AuthorDate: Fri Jul 23 18:23:17 2021 +0000

    Preparing hbase release 2.3.6RC0; tagging and updates to CHANGES.md and RELEASENOTES.md
    
    Signed-off-by: stack <st...@apache.org>
---
 CHANGES.md                                         | 108 ++++++++++++++++++
 RELEASENOTES.md                                    | 123 +++++++++++++++++++++
 hbase-annotations/pom.xml                          |   2 +-
 hbase-archetypes/hbase-archetype-builder/pom.xml   |   2 +-
 hbase-archetypes/hbase-client-project/pom.xml      |   2 +-
 .../hbase-shaded-client-project/pom.xml            |   2 +-
 hbase-archetypes/pom.xml                           |   2 +-
 hbase-assembly/pom.xml                             |   2 +-
 hbase-asyncfs/pom.xml                              |   2 +-
 hbase-build-configuration/pom.xml                  |   2 +-
 hbase-checkstyle/pom.xml                           |   4 +-
 hbase-client/pom.xml                               |   2 +-
 hbase-common/pom.xml                               |   2 +-
 hbase-endpoint/pom.xml                             |   2 +-
 hbase-examples/pom.xml                             |   2 +-
 hbase-external-blockcache/pom.xml                  |   2 +-
 hbase-hadoop-compat/pom.xml                        |   2 +-
 hbase-hadoop2-compat/pom.xml                       |   2 +-
 hbase-hbtop/pom.xml                                |   2 +-
 hbase-http/pom.xml                                 |   2 +-
 hbase-it/pom.xml                                   |   2 +-
 hbase-logging/pom.xml                              |   2 +-
 hbase-mapreduce/pom.xml                            |   2 +-
 hbase-metrics-api/pom.xml                          |   2 +-
 hbase-metrics/pom.xml                              |   2 +-
 hbase-procedure/pom.xml                            |   2 +-
 hbase-protocol-shaded/pom.xml                      |   2 +-
 hbase-protocol/pom.xml                             |   2 +-
 hbase-replication/pom.xml                          |   2 +-
 hbase-resource-bundle/pom.xml                      |   2 +-
 hbase-rest/pom.xml                                 |   2 +-
 hbase-rsgroup/pom.xml                              |   2 +-
 hbase-server/pom.xml                               |   2 +-
 hbase-shaded/hbase-shaded-check-invariants/pom.xml |   2 +-
 .../hbase-shaded-client-byo-hadoop/pom.xml         |   2 +-
 hbase-shaded/hbase-shaded-client/pom.xml           |   2 +-
 hbase-shaded/hbase-shaded-mapreduce/pom.xml        |   2 +-
 .../hbase-shaded-testing-util-tester/pom.xml       |   2 +-
 hbase-shaded/hbase-shaded-testing-util/pom.xml     |   2 +-
 .../pom.xml                                        |   2 +-
 hbase-shaded/pom.xml                               |   2 +-
 hbase-shell/pom.xml                                |   2 +-
 hbase-testing-util/pom.xml                         |   2 +-
 hbase-thrift/pom.xml                               |   2 +-
 hbase-zookeeper/pom.xml                            |   2 +-
 pom.xml                                            |   2 +-
 46 files changed, 276 insertions(+), 45 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index b3e53d4..a3b36b7 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -20,6 +20,114 @@
 # Be careful doing manual edits in this file. Do not change format
 # of release header or remove the below marker. This file is generated.
 # DO NOT REMOVE THIS MARKER; FOR INTERPOLATING CHANGES!-->
+## Release 2.3.6 - Unreleased (as of 2021-07-23)
+
+
+
+### IMPROVEMENTS:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-26108](https://issues.apache.org/jira/browse/HBASE-26108) | add option to disable scanMetrics in TableSnapshotInputFormat |  Major | . |
+| [HBASE-26025](https://issues.apache.org/jira/browse/HBASE-26025) | Add a flag to mark if the IOError can be solved by retry in thrift IOError |  Major | Thrift |
+| [HBASE-26012](https://issues.apache.org/jira/browse/HBASE-26012) | Improve logging and dequeue logic in DelayQueue |  Minor | . |
+| [HBASE-25937](https://issues.apache.org/jira/browse/HBASE-25937) | Clarify UnknownRegionException |  Minor | Client |
+| [HBASE-25998](https://issues.apache.org/jira/browse/HBASE-25998) | Revisit synchronization in SyncFuture |  Major | Performance, regionserver, wal |
+| [HBASE-26000](https://issues.apache.org/jira/browse/HBASE-26000) | Optimize the display of ZK dump in the master web UI |  Minor | . |
+| [HBASE-25995](https://issues.apache.org/jira/browse/HBASE-25995) | Change the method name for DoubleArrayCost.setCosts |  Major | Balancer |
+| [HBASE-25993](https://issues.apache.org/jira/browse/HBASE-25993) | Make excluded SSL cipher suites configurable for all Web UIs |  Major | . |
+| [HBASE-25987](https://issues.apache.org/jira/browse/HBASE-25987) | Make SSL keystore type configurable for HBase ThriftServer |  Major | Thrift |
+| [HBASE-25933](https://issues.apache.org/jira/browse/HBASE-25933) | Log trace raw exception, instead of cause message in NettyRpcServerRequestDecoder |  Minor | . |
+| [HBASE-25860](https://issues.apache.org/jira/browse/HBASE-25860) | Add metric for successful wal roll requests. |  Major | metrics, wal |
+| [HBASE-25754](https://issues.apache.org/jira/browse/HBASE-25754) | StripeCompactionPolicy should support compacting cold regions |  Minor | Compaction |
+| [HBASE-25798](https://issues.apache.org/jira/browse/HBASE-25798) | typo in MetricsAssertHelper |  Minor | . |
+| [HBASE-25770](https://issues.apache.org/jira/browse/HBASE-25770) | Http InfoServers should honor gzip encoding when requested |  Major | UI |
+| [HBASE-25776](https://issues.apache.org/jira/browse/HBASE-25776) | Use Class.asSubclass to fix the warning in StochasticLoadBalancer.loadCustomCostFunctions |  Minor | Balancer |
+| [HBASE-25767](https://issues.apache.org/jira/browse/HBASE-25767) | CandidateGenerator.getRandomIterationOrder is too slow on large cluster |  Major | Balancer, Performance |
+| [HBASE-25762](https://issues.apache.org/jira/browse/HBASE-25762) | Improvement for some debug-logging guards |  Minor | logging, Performance |
+| [HBASE-25653](https://issues.apache.org/jira/browse/HBASE-25653) | Add units and round off region size to 2 digits after decimal |  Major | master, Normalizer |
+| [HBASE-25482](https://issues.apache.org/jira/browse/HBASE-25482) | Improve SimpleRegionNormalizer#getAverageRegionSizeMb |  Minor | Normalizer |
+| [HBASE-25759](https://issues.apache.org/jira/browse/HBASE-25759) | The master services field in LocalityBasedCostFunction is never used |  Major | Balancer |
+
+
+### BUG FIXES:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-24984](https://issues.apache.org/jira/browse/HBASE-24984) | WAL corruption due to early DBBs re-use when Durability.ASYNC\_WAL is used with multi operation |  Critical | rpc, wal |
+| [HBASE-26088](https://issues.apache.org/jira/browse/HBASE-26088) | conn.getBufferedMutator(tableName) leaks thread executors and other problems |  Critical | Client |
+| [HBASE-25973](https://issues.apache.org/jira/browse/HBASE-25973) | Balancer should explain progress in a better way in log |  Major | Balancer |
+| [HBASE-26083](https://issues.apache.org/jira/browse/HBASE-26083) | L1 miss metric is incorrect when using CombinedBlockCache |  Minor | BlockCache |
+| [HBASE-26086](https://issues.apache.org/jira/browse/HBASE-26086) | TestHRegionReplayEvents do not pass in branch-2 and throws NullPointerException |  Minor | . |
+| [HBASE-26068](https://issues.apache.org/jira/browse/HBASE-26068) | The last assertion in TestHStore.testRefreshStoreFilesNotChanged is wrong |  Major | test |
+| [HBASE-22923](https://issues.apache.org/jira/browse/HBASE-22923) | hbase:meta is assigned to localhost when we downgrade the hbase version |  Major | . |
+| [HBASE-26030](https://issues.apache.org/jira/browse/HBASE-26030) | hbase-cleanup.sh did not clean the wal dir if hbase.wal.dir configured individually |  Major | scripts |
+| [HBASE-26035](https://issues.apache.org/jira/browse/HBASE-26035) | Redundant null check in the compareTo function |  Minor | metrics, Performance |
+| [HBASE-25902](https://issues.apache.org/jira/browse/HBASE-25902) | Add missing CFs in meta during HBase 1 to 2.3+ Upgrade |  Critical | meta, Operability |
+| [HBASE-26028](https://issues.apache.org/jira/browse/HBASE-26028) | The view as json page shows exception when using TinyLfuBlockCache |  Major | UI |
+| [HBASE-26039](https://issues.apache.org/jira/browse/HBASE-26039) | TestReplicationKillRS is useless after HBASE-23956 |  Major | Replication, test |
+| [HBASE-25980](https://issues.apache.org/jira/browse/HBASE-25980) | Master table.jsp pointed at meta throws 500 when no all replicas are online |  Major | master, meta replicas, UI |
+| [HBASE-26013](https://issues.apache.org/jira/browse/HBASE-26013) | Get operations readRows metrics becomes zero after HBASE-25677 |  Minor | metrics |
+| [HBASE-25877](https://issues.apache.org/jira/browse/HBASE-25877) | Add access  check for compactionSwitch |  Major | security |
+| [HBASE-25698](https://issues.apache.org/jira/browse/HBASE-25698) | Persistent IllegalReferenceCountException at scanner open when using TinyLfuBlockCache |  Major | BucketCache, HFile, Scanners |
+| [HBASE-26001](https://issues.apache.org/jira/browse/HBASE-26001) | When turn on access control, the cell level TTL of Increment and Append operations is invalid. |  Minor | Coprocessors |
+| [HBASE-25984](https://issues.apache.org/jira/browse/HBASE-25984) | FSHLog WAL lockup with sync future reuse [RS deadlock] |  Critical | regionserver, wal |
+| [HBASE-25997](https://issues.apache.org/jira/browse/HBASE-25997) | NettyRpcFrameDecoder decode request header wrong  when handleTooBigRequest |  Major | rpc |
+| [HBASE-25967](https://issues.apache.org/jira/browse/HBASE-25967) | The readRequestsCount does not calculate when the outResults is empty |  Major | metrics |
+| [HBASE-25981](https://issues.apache.org/jira/browse/HBASE-25981) | JVM crash when displaying regionserver UI |  Major | rpc, UI |
+| [HBASE-25930](https://issues.apache.org/jira/browse/HBASE-25930) | Thrift does not support requests in Kerberos environment |  Major | Thrift |
+| [HBASE-25929](https://issues.apache.org/jira/browse/HBASE-25929) | RegionServer JVM crash when compaction |  Critical | Compaction |
+| [HBASE-25903](https://issues.apache.org/jira/browse/HBASE-25903) | ReadOnlyZKClient APIs - CompletableFuture.get() calls can cause threads to hang forver when ZK client create throws Non IOException |  Major | . |
+| [HBASE-25898](https://issues.apache.org/jira/browse/HBASE-25898) | RS getting aborted due to NPE in Replication WALEntryStream |  Critical | Replication |
+| [HBASE-25875](https://issues.apache.org/jira/browse/HBASE-25875) | RegionServer failed to start due to IllegalThreadStateException in AuthenticationTokenSecretManager.start |  Major | . |
+| [HBASE-25901](https://issues.apache.org/jira/browse/HBASE-25901) | Replication may lose data during regionserver restart when multiwal is in use |  Major | multiwal, Replication |
+| [HBASE-25892](https://issues.apache.org/jira/browse/HBASE-25892) | 'False' should be 'True' in auditlog of listLabels |  Major | logging, security |
+| [HBASE-25817](https://issues.apache.org/jira/browse/HBASE-25817) | Memory leak from thrift server hashMap |  Minor | Thrift |
+| [HBASE-25848](https://issues.apache.org/jira/browse/HBASE-25848) | Add flexibility to backup replication in case replication filter throws an exception |  Major | . |
+| [HBASE-25774](https://issues.apache.org/jira/browse/HBASE-25774) | ServerManager.getOnlineServer may miss some region servers when refreshing state in some procedure implementations |  Critical | Replication |
+| [HBASE-25825](https://issues.apache.org/jira/browse/HBASE-25825) | RSGroupBasedLoadBalancer.onConfigurationChange should chain the request to internal balancer |  Major | Balancer |
+| [HBASE-25806](https://issues.apache.org/jira/browse/HBASE-25806) | Backport the region location finder initialization fix in HBASE-25802 |  Major | Balancer |
+| [HBASE-25717](https://issues.apache.org/jira/browse/HBASE-25717) | RegionServer aborted due to ClassCastException |  Major | . |
+| [HBASE-25743](https://issues.apache.org/jira/browse/HBASE-25743) | Retry REQUESTTIMEOUT KeeperExceptions from ZK |  Major | Zookeeper |
+| [HBASE-25726](https://issues.apache.org/jira/browse/HBASE-25726) | MoveCostFunction is not included in the list of cost functions for StochasticLoadBalancer |  Major | Balancer |
+| [HBASE-25692](https://issues.apache.org/jira/browse/HBASE-25692) | Failure to instantiate WALCellCodec leaks socket in replication |  Major | Replication |
+
+
+### TESTS:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-25910](https://issues.apache.org/jira/browse/HBASE-25910) | Fix TestClusterPortAssignment.testClusterPortAssignment test and re-enable it. |  Minor | flakies, test |
+
+
+### SUB-TASKS:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-24734](https://issues.apache.org/jira/browse/HBASE-24734) | RegionInfo#containsRange should support check meta table |  Major | HFile, MTTR |
+| [HBASE-25739](https://issues.apache.org/jira/browse/HBASE-25739) | TableSkewCostFunction need to use aggregated deviation |  Major | Balancer, master |
+| [HBASE-25947](https://issues.apache.org/jira/browse/HBASE-25947) | Backport 'HBASE-25894 Improve the performance for region load and region count related cost functions' to branch-2.4 and branch-2.3 |  Major | Balancer, Performance |
+| [HBASE-25963](https://issues.apache.org/jira/browse/HBASE-25963) | HBaseCluster should be marked as IA.Public |  Major | API |
+| [HBASE-25941](https://issues.apache.org/jira/browse/HBASE-25941) | TestRESTServerSSL fails because of jdk bug |  Major | test |
+| [HBASE-25838](https://issues.apache.org/jira/browse/HBASE-25838) | Use double instead of Double in StochasticLoadBalancer |  Major | Balancer, Performance |
+| [HBASE-25840](https://issues.apache.org/jira/browse/HBASE-25840) | CatalogJanitor warns about skipping gc of regions during RIT, but does not actually skip |  Minor | . |
+| [HBASE-25775](https://issues.apache.org/jira/browse/HBASE-25775) | Use a special balancer to deal with maintenance mode |  Major | Balancer |
+| [HBASE-25199](https://issues.apache.org/jira/browse/HBASE-25199) | Remove HStore#getStoreHomedir |  Minor | . |
+| [HBASE-25696](https://issues.apache.org/jira/browse/HBASE-25696) | Need to initialize SLF4JBridgeHandler in jul-to-slf4j for redirecting jul to slf4j |  Major | logging |
+| [HBASE-25695](https://issues.apache.org/jira/browse/HBASE-25695) | Link to the filter on hbase:meta from user tables panel on master page |  Major | UI |
+
+
+### OTHER:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [HBASE-26015](https://issues.apache.org/jira/browse/HBASE-26015) | Should implement getRegionServers(boolean) method in AsyncAdmin |  Major | Admin, Client |
+| [HBASE-25755](https://issues.apache.org/jira/browse/HBASE-25755) | Exclude tomcat-embed-core from libthrift |  Critical | dependencies, Thrift |
+| [HBASE-25750](https://issues.apache.org/jira/browse/HBASE-25750) | Upgrade RpcControllerFactory and HBaseRpcController from Private to LimitedPrivate(COPROC,PHOENIX) |  Major | Coprocessors, phoenix, rpc |
+| [HBASE-24305](https://issues.apache.org/jira/browse/HBASE-24305) | Handle deprecations in ServerName |  Minor | . |
+| [HBASE-24492](https://issues.apache.org/jira/browse/HBASE-24492) | ProtobufLogReader.readNext does not need looping |  Minor | Replication, wal |
+
+
 ## Release 2.3.5 - Unreleased (as of 2021-03-25)
 
 
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index c2b3df4..20e6146 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -20,6 +20,129 @@
 # Be careful doing manual edits in this file. Do not change format
 # of release header or remove the below marker. This file is generated.
 # DO NOT REMOVE THIS MARKER; FOR INTERPOLATING CHANGES!-->
+# HBASE  2.3.6 Release Notes
+
+These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
+
+
+---
+
+* [HBASE-26088](https://issues.apache.org/jira/browse/HBASE-26088) | *Critical* | **conn.getBufferedMutator(tableName) leaks thread executors and other problems**
+
+The API doc for Connection#getBufferedMutator(TableName) and Connection#getBufferedMutator(BufferedMutatorParams) mentioned that when user dont pass a ThreadPool to be used, we use the ThreadPool in the Connection.  But in reality, we were creating new ThreadPool in such cases.
+
+We are keeping the behaviour of code as is but corrected the Javadoc and also a bug of not closing this new pool while Closing the BufferedMutator.
+
+
+---
+
+* [HBASE-22923](https://issues.apache.org/jira/browse/HBASE-22923) | *Major* | **hbase:meta is assigned to localhost when we downgrade the hbase version**
+
+Introduced new config: hbase.min.version.move.system.tables
+
+When the operator uses this configuration option, any version between
+the current cluster version and the value of "hbase.min.version.move.system.tables"
+does not trigger any auto-region movement. Auto-region movement here
+refers to auto-migration of system table regions to newer server versions.
+It is assumed that the configured range of versions does not require special
+handling of moving system table regions to higher versioned RegionServer.
+This auto-migration is done by AssignmentManager#checkIfShouldMoveSystemRegionAsync().
+Example: Let's assume the cluster is on version 1.4.0 and we have
+set "hbase.min.version.move.system.tables" as "2.0.0". Now if we upgrade
+one RegionServer on 1.4.0 cluster to 1.6.0 (\< 2.0.0), then AssignmentManager will
+not move hbase:meta, hbase:namespace and other system table regions
+to newly brought up RegionServer 1.6.0 as part of auto-migration.
+However, if we upgrade one RegionServer on 1.4.0 cluster to 2.2.0 (\> 2.0.0),
+then AssignmentManager will move all system table regions to newly brought
+up RegionServer 2.2.0 as part of auto-migration done by
+AssignmentManager#checkIfShouldMoveSystemRegionAsync().
+
+Overall, assuming we have system RSGroup where we keep HBase system tables, if we use
+config "hbase.min.version.move.system.tables" with value x.y.z then while upgrading cluster to
+version greater than or equal to x.y.z, the first RegionServer that we upgrade must
+belong to system RSGroup only.
+
+
+---
+
+* [HBASE-25902](https://issues.apache.org/jira/browse/HBASE-25902) | *Critical* | **Add missing CFs in meta during HBase 1 to 2.3+ Upgrade**
+
+While upgrading cluster from 1.x to 2.3+ versions, after the active master is done setting it's status as 'Initialized', it attempts to add 'table' and 'repl\_barrier' CFs in meta. Once CFs are added successfully, master is aborted with PleaseRestartMasterException because master has missed certain initialization events (e.g ClusterSchemaService is not initialized and tableStateManager fails to migrate table states from ZK to meta due to missing CFs). Subsequent active master initializat [...]
+In the presence of multi masters, when one of them becomes active for the first time after upgrading to HBase 2.3+, it is aborted after fixing CFs in meta and one of the other backup masters will take over and become active soon. Hence, overall this is expected to be smooth upgrade if we have backup masters configured. If not, operator is expected to restart same master again manually.
+
+
+---
+
+* [HBASE-25877](https://issues.apache.org/jira/browse/HBASE-25877) | *Major* | **Add access  check for compactionSwitch**
+
+Now calling RSRpcService.compactionSwitch, i.e, Admin.compactionSwitch at client side, requires ADMIN permission.
+This is an incompatible change but it is also a bug, as we should not allow any users to disable compaction on a regionserver, so we apply this to all active branches.
+
+
+---
+
+* [HBASE-25984](https://issues.apache.org/jira/browse/HBASE-25984) | *Critical* | **FSHLog WAL lockup with sync future reuse [RS deadlock]**
+
+Fixes a WAL lockup issue due to premature reuse of the sync futures by the WAL consumers. The lockup causes the WAL system to hang resulting in blocked appends and syncs thus holding up the RPC handlers from progressing. Only workaround without this fix is to force abort the region server.
+
+
+---
+
+* [HBASE-25993](https://issues.apache.org/jira/browse/HBASE-25993) | *Major* | **Make excluded SSL cipher suites configurable for all Web UIs**
+
+Add "ssl.server.exclude.cipher.list" configuration to excluded cipher suites for the http server started by the InfoServer.
+
+
+---
+
+* [HBASE-25963](https://issues.apache.org/jira/browse/HBASE-25963) | *Major* | **HBaseCluster should be marked as IA.Public**
+
+Change HBaseCluster to IA.Public as its sub class MiniHBaseCluster is IA.Public.
+
+
+---
+
+* [HBASE-25775](https://issues.apache.org/jira/browse/HBASE-25775) | *Major* | **Use a special balancer to deal with maintenance mode**
+
+Introduced a MaintenanceLoadBalancer to be used only under maintenance mode. Typically you should not use it as your balancer implementation.
+
+
+---
+
+* [HBASE-25767](https://issues.apache.org/jira/browse/HBASE-25767) | *Major* | **CandidateGenerator.getRandomIterationOrder is too slow on large cluster**
+
+In the actual implementation classes of CandidateGenerator, now we just random select a start point and then iterate sequentially, instead of using the old way, where we will create a big array to hold all the integers in [0, num\_regions\_in\_cluster), shuffle the array, and then iterate on the array.
+The new implementation is 'random' enough as every time we just select one candidate. The problem for the old implementation is that, it will create an array every time when we want to get a candidate, if we have tens of thousands regions, we will create an array with tens of thousands length everytime, which causes big GC pressure and slow down the balancer execution.
+
+
+---
+
+* [HBASE-25199](https://issues.apache.org/jira/browse/HBASE-25199) | *Minor* | **Remove HStore#getStoreHomedir**
+
+Moved the following methods from HStore to HRegionFileSystem
+
+- #getStoreHomedir(Path, RegionInfo, byte[])
+- #getStoreHomedir(Path, String, byte[])
+
+
+---
+
+* [HBASE-24305](https://issues.apache.org/jira/browse/HBASE-24305) | *Minor* | **Handle deprecations in ServerName**
+
+The following methods were removed or made private from ServerName (due to HBASE-17624):
+
+- getHostNameMinusDomain(String): Was made private without a replacement.
+- parseHostname(String): Use #valueOf(String) instead.
+- parsePort(String): Use #valueOf(String) instead.
+- parseStartcode(String): Use #valueOf(String) instead.
+- getServerName(String, int, long): Was made private. Use #valueOf(String, int, long) instead.
+- getServerName(String, long): Use #valueOf(String, long) instead.
+- getHostAndPort(): Use #getAddress() instead.
+- getServerStartcodeFromServerName(String): Use instance of ServerName to pull out start code)
+- getServerNameLessStartCode(String): Use #getAddress() instead.
+
+
+
 # HBASE  2.3.5 Release Notes
 
 These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
diff --git a/hbase-annotations/pom.xml b/hbase-annotations/pom.xml
index 46d85d7..6ef7c28 100644
--- a/hbase-annotations/pom.xml
+++ b/hbase-annotations/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>..</relativePath>
   </parent>
 
diff --git a/hbase-archetypes/hbase-archetype-builder/pom.xml b/hbase-archetypes/hbase-archetype-builder/pom.xml
index 31f1d7c..e0b3bbc 100644
--- a/hbase-archetypes/hbase-archetype-builder/pom.xml
+++ b/hbase-archetypes/hbase-archetype-builder/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>hbase-archetypes</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>..</relativePath>
   </parent>
 
diff --git a/hbase-archetypes/hbase-client-project/pom.xml b/hbase-archetypes/hbase-client-project/pom.xml
index a9e92a8..b85a349 100644
--- a/hbase-archetypes/hbase-client-project/pom.xml
+++ b/hbase-archetypes/hbase-client-project/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <artifactId>hbase-archetypes</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>..</relativePath>
   </parent>
   <artifactId>hbase-client-project</artifactId>
diff --git a/hbase-archetypes/hbase-shaded-client-project/pom.xml b/hbase-archetypes/hbase-shaded-client-project/pom.xml
index c1507c6..9327d61 100644
--- a/hbase-archetypes/hbase-shaded-client-project/pom.xml
+++ b/hbase-archetypes/hbase-shaded-client-project/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <artifactId>hbase-archetypes</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>..</relativePath>
   </parent>
   <artifactId>hbase-shaded-client-project</artifactId>
diff --git a/hbase-archetypes/pom.xml b/hbase-archetypes/pom.xml
index c4f53bc..6bcd62e 100644
--- a/hbase-archetypes/pom.xml
+++ b/hbase-archetypes/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-assembly/pom.xml b/hbase-assembly/pom.xml
index a020091..3d8af8b 100644
--- a/hbase-assembly/pom.xml
+++ b/hbase-assembly/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-assembly</artifactId>
diff --git a/hbase-asyncfs/pom.xml b/hbase-asyncfs/pom.xml
index 47563a9..266a084 100644
--- a/hbase-asyncfs/pom.xml
+++ b/hbase-asyncfs/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-build-configuration/pom.xml b/hbase-build-configuration/pom.xml
index 051e873..44af565 100644
--- a/hbase-build-configuration/pom.xml
+++ b/hbase-build-configuration/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>..</relativePath>
   </parent>
 
diff --git a/hbase-checkstyle/pom.xml b/hbase-checkstyle/pom.xml
index f7bfd03..781550f 100644
--- a/hbase-checkstyle/pom.xml
+++ b/hbase-checkstyle/pom.xml
@@ -24,7 +24,7 @@
 <modelVersion>4.0.0</modelVersion>
 <groupId>org.apache.hbase</groupId>
 <artifactId>hbase-checkstyle</artifactId>
-<version>2.3.6-SNAPSHOT</version>
+<version>2.3.6</version>
 <name>Apache HBase - Checkstyle</name>
 <description>Module to hold Checkstyle properties for HBase.</description>
 <!--REMOVE-->
@@ -32,7 +32,7 @@
   <parent>
     <artifactId>hbase</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>..</relativePath>
   </parent>
 
diff --git a/hbase-client/pom.xml b/hbase-client/pom.xml
index 7cd5e2a..83558a5 100644
--- a/hbase-client/pom.xml
+++ b/hbase-client/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-common/pom.xml b/hbase-common/pom.xml
index ea3145d..614b333 100644
--- a/hbase-common/pom.xml
+++ b/hbase-common/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-endpoint/pom.xml b/hbase-endpoint/pom.xml
index e30dd65..9d77b5a 100644
--- a/hbase-endpoint/pom.xml
+++ b/hbase-endpoint/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-endpoint</artifactId>
diff --git a/hbase-examples/pom.xml b/hbase-examples/pom.xml
index 715b3c8..1978b2e 100644
--- a/hbase-examples/pom.xml
+++ b/hbase-examples/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-examples</artifactId>
diff --git a/hbase-external-blockcache/pom.xml b/hbase-external-blockcache/pom.xml
index a672650..3490965 100644
--- a/hbase-external-blockcache/pom.xml
+++ b/hbase-external-blockcache/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-external-blockcache</artifactId>
diff --git a/hbase-hadoop-compat/pom.xml b/hbase-hadoop-compat/pom.xml
index ec3e459..ee99bc0 100644
--- a/hbase-hadoop-compat/pom.xml
+++ b/hbase-hadoop-compat/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hbase-build-configuration</artifactId>
         <groupId>org.apache.hbase</groupId>
-        <version>2.3.6-SNAPSHOT</version>
+        <version>2.3.6</version>
         <relativePath>../hbase-build-configuration</relativePath>
     </parent>
 
diff --git a/hbase-hadoop2-compat/pom.xml b/hbase-hadoop2-compat/pom.xml
index 69563b7..830d31c 100644
--- a/hbase-hadoop2-compat/pom.xml
+++ b/hbase-hadoop2-compat/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-hbtop/pom.xml b/hbase-hbtop/pom.xml
index 69c7a89..bc2c23e 100644
--- a/hbase-hbtop/pom.xml
+++ b/hbase-hbtop/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-hbtop</artifactId>
diff --git a/hbase-http/pom.xml b/hbase-http/pom.xml
index 7e50f8d..9accd14 100644
--- a/hbase-http/pom.xml
+++ b/hbase-http/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-http</artifactId>
diff --git a/hbase-it/pom.xml b/hbase-it/pom.xml
index adca73a..209d1fc 100644
--- a/hbase-it/pom.xml
+++ b/hbase-it/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-logging/pom.xml b/hbase-logging/pom.xml
index 83781f0..00dbda6 100644
--- a/hbase-logging/pom.xml
+++ b/hbase-logging/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-mapreduce/pom.xml b/hbase-mapreduce/pom.xml
index f98ca9f..f7cbc77 100644
--- a/hbase-mapreduce/pom.xml
+++ b/hbase-mapreduce/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-mapreduce</artifactId>
diff --git a/hbase-metrics-api/pom.xml b/hbase-metrics-api/pom.xml
index adc7dd0..4cb544e 100644
--- a/hbase-metrics-api/pom.xml
+++ b/hbase-metrics-api/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-metrics/pom.xml b/hbase-metrics/pom.xml
index 4f29e87..0822fd4 100644
--- a/hbase-metrics/pom.xml
+++ b/hbase-metrics/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-procedure/pom.xml b/hbase-procedure/pom.xml
index 13252a3..925cb9e 100644
--- a/hbase-procedure/pom.xml
+++ b/hbase-procedure/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-protocol-shaded/pom.xml b/hbase-protocol-shaded/pom.xml
index d7f227d..91311a8 100644
--- a/hbase-protocol-shaded/pom.xml
+++ b/hbase-protocol-shaded/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-protocol-shaded</artifactId>
diff --git a/hbase-protocol/pom.xml b/hbase-protocol/pom.xml
index 04065b5..0a62083 100644
--- a/hbase-protocol/pom.xml
+++ b/hbase-protocol/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-protocol</artifactId>
diff --git a/hbase-replication/pom.xml b/hbase-replication/pom.xml
index 7a55675..5644bb0 100644
--- a/hbase-replication/pom.xml
+++ b/hbase-replication/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-replication</artifactId>
diff --git a/hbase-resource-bundle/pom.xml b/hbase-resource-bundle/pom.xml
index 30419d7..30d1fc8 100644
--- a/hbase-resource-bundle/pom.xml
+++ b/hbase-resource-bundle/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-rest/pom.xml b/hbase-rest/pom.xml
index e36ac73..d48bc91 100644
--- a/hbase-rest/pom.xml
+++ b/hbase-rest/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-rest</artifactId>
diff --git a/hbase-rsgroup/pom.xml b/hbase-rsgroup/pom.xml
index 7ccc3a2..2f15bc3 100644
--- a/hbase-rsgroup/pom.xml
+++ b/hbase-rsgroup/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-rsgroup</artifactId>
diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml
index 74dc336..a27a083 100644
--- a/hbase-server/pom.xml
+++ b/hbase-server/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-server</artifactId>
diff --git a/hbase-shaded/hbase-shaded-check-invariants/pom.xml b/hbase-shaded/hbase-shaded-check-invariants/pom.xml
index 5a9cdfe..c4970c2 100644
--- a/hbase-shaded/hbase-shaded-check-invariants/pom.xml
+++ b/hbase-shaded/hbase-shaded-check-invariants/pom.xml
@@ -16,7 +16,7 @@
   <parent>
     <artifactId>hbase</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../..</relativePath>
   </parent>
   <artifactId>hbase-shaded-check-invariants</artifactId>
diff --git a/hbase-shaded/hbase-shaded-client-byo-hadoop/pom.xml b/hbase-shaded/hbase-shaded-client-byo-hadoop/pom.xml
index 622d6cb..1c1ce3a 100644
--- a/hbase-shaded/hbase-shaded-client-byo-hadoop/pom.xml
+++ b/hbase-shaded/hbase-shaded-client-byo-hadoop/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <artifactId>hbase-shaded</artifactId>
         <groupId>org.apache.hbase</groupId>
-        <version>2.3.6-SNAPSHOT</version>
+        <version>2.3.6</version>
         <relativePath>..</relativePath>
     </parent>
     <artifactId>hbase-shaded-client-byo-hadoop</artifactId>
diff --git a/hbase-shaded/hbase-shaded-client/pom.xml b/hbase-shaded/hbase-shaded-client/pom.xml
index 1b30d6d..09be8be 100644
--- a/hbase-shaded/hbase-shaded-client/pom.xml
+++ b/hbase-shaded/hbase-shaded-client/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <artifactId>hbase-shaded</artifactId>
         <groupId>org.apache.hbase</groupId>
-        <version>2.3.6-SNAPSHOT</version>
+        <version>2.3.6</version>
         <relativePath>..</relativePath>
     </parent>
     <artifactId>hbase-shaded-client</artifactId>
diff --git a/hbase-shaded/hbase-shaded-mapreduce/pom.xml b/hbase-shaded/hbase-shaded-mapreduce/pom.xml
index afd0d4d..4338be6 100644
--- a/hbase-shaded/hbase-shaded-mapreduce/pom.xml
+++ b/hbase-shaded/hbase-shaded-mapreduce/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <artifactId>hbase-shaded</artifactId>
         <groupId>org.apache.hbase</groupId>
-        <version>2.3.6-SNAPSHOT</version>
+        <version>2.3.6</version>
         <relativePath>..</relativePath>
     </parent>
     <artifactId>hbase-shaded-mapreduce</artifactId>
diff --git a/hbase-shaded/hbase-shaded-testing-util-tester/pom.xml b/hbase-shaded/hbase-shaded-testing-util-tester/pom.xml
index 02f15bf..272448a 100644
--- a/hbase-shaded/hbase-shaded-testing-util-tester/pom.xml
+++ b/hbase-shaded/hbase-shaded-testing-util-tester/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.hbase</groupId>
     <artifactId>hbase-build-configuration</artifactId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../../hbase-build-configuration</relativePath>
   </parent>
 
diff --git a/hbase-shaded/hbase-shaded-testing-util/pom.xml b/hbase-shaded/hbase-shaded-testing-util/pom.xml
index 2b67c77..27ef99a 100644
--- a/hbase-shaded/hbase-shaded-testing-util/pom.xml
+++ b/hbase-shaded/hbase-shaded-testing-util/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <artifactId>hbase-shaded</artifactId>
         <groupId>org.apache.hbase</groupId>
-        <version>2.3.6-SNAPSHOT</version>
+        <version>2.3.6</version>
         <relativePath>..</relativePath>
     </parent>
 
diff --git a/hbase-shaded/hbase-shaded-with-hadoop-check-invariants/pom.xml b/hbase-shaded/hbase-shaded-with-hadoop-check-invariants/pom.xml
index 5bc18d3..5480ffd 100644
--- a/hbase-shaded/hbase-shaded-with-hadoop-check-invariants/pom.xml
+++ b/hbase-shaded/hbase-shaded-with-hadoop-check-invariants/pom.xml
@@ -16,7 +16,7 @@
   <parent>
     <artifactId>hbase</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../..</relativePath>
   </parent>
   <artifactId>hbase-shaded-with-hadoop-check-invariants</artifactId>
diff --git a/hbase-shaded/pom.xml b/hbase-shaded/pom.xml
index 615bdb2..dafe4e0 100644
--- a/hbase-shaded/pom.xml
+++ b/hbase-shaded/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hbase-build-configuration</artifactId>
         <groupId>org.apache.hbase</groupId>
-        <version>2.3.6-SNAPSHOT</version>
+        <version>2.3.6</version>
         <relativePath>../hbase-build-configuration</relativePath>
     </parent>
     <artifactId>hbase-shaded</artifactId>
diff --git a/hbase-shell/pom.xml b/hbase-shell/pom.xml
index 0b5575f..77554bb 100644
--- a/hbase-shell/pom.xml
+++ b/hbase-shell/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-shell</artifactId>
diff --git a/hbase-testing-util/pom.xml b/hbase-testing-util/pom.xml
index 2dfe149..52b7678 100644
--- a/hbase-testing-util/pom.xml
+++ b/hbase-testing-util/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>hbase-build-configuration</artifactId>
         <groupId>org.apache.hbase</groupId>
-        <version>2.3.6-SNAPSHOT</version>
+        <version>2.3.6</version>
         <relativePath>../hbase-build-configuration</relativePath>
     </parent>
     <artifactId>hbase-testing-util</artifactId>
diff --git a/hbase-thrift/pom.xml b/hbase-thrift/pom.xml
index 78431dd..cb3fa12 100644
--- a/hbase-thrift/pom.xml
+++ b/hbase-thrift/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-thrift</artifactId>
diff --git a/hbase-zookeeper/pom.xml b/hbase-zookeeper/pom.xml
index d8647c5..c48b9c5 100644
--- a/hbase-zookeeper/pom.xml
+++ b/hbase-zookeeper/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>hbase-build-configuration</artifactId>
     <groupId>org.apache.hbase</groupId>
-    <version>2.3.6-SNAPSHOT</version>
+    <version>2.3.6</version>
     <relativePath>../hbase-build-configuration</relativePath>
   </parent>
   <artifactId>hbase-zookeeper</artifactId>
diff --git a/pom.xml b/pom.xml
index 2486218..7d95f02 100755
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <groupId>org.apache.hbase</groupId>
   <artifactId>hbase</artifactId>
   <packaging>pom</packaging>
-  <version>2.3.6-SNAPSHOT</version>
+  <version>2.3.6</version>
   <name>Apache HBase</name>
   <description>
     Apache HBase™ is the Hadoop database. Use it when you need