The HBase Team is pleased to announce the immediate release of HBase 1.0.2.
Download it from your favorite Apache mirror [1] or maven repository. HBase 1.0.2 is the next “patch” release in the 1.0.x release line and supersedes all previous 1.0.x releases . According to the HBase’s semantic version guide (See [2]), the release candidate is source and binary compatible with 1.0.0 for client applications and server side libraries (coprocessors, filters, etc). 1.0.2 release contains 163 fixes on top of 1.0.1 release. Most of the changes are bug fixes or test fixes except for the following: ** Improvement * [HBASE-12415] - Add add(byte[][] arrays) to Bytes. * [HBASE-12957] - region_mover#isSuccessfulScan may be extremely slow on region with lots of expired data * [HBASE-13247] - Change BufferedMutatorExample to use addColumn() since add() is deprecated * [HBASE-13344] - Add enforcer rule that matches our JDK support statement * [HBASE-13366] - Throw DoNotRetryIOException instead of read only IOException * [HBASE-13420] - RegionEnvironment.offerExecutionLatency Blocks Threads under Heavy Load * [HBASE-13431] - Allow to skip store file range check based on column family while creating reference files in HRegionFileSystem#splitStoreFile * [HBASE-13550] - [Shell] Support unset of a list of table attributes * [HBASE-13761] - Optimize FuzzyRowFilter * [HBASE-13780] - Default to 700 for HDFS root dir permissions for secure deployments * [HBASE-13828] - Add group permissions testing coverage to AC. * [HBASE-13925] - Use zookeeper multi to clear znodes in ZKProcedureUtil ** New Feature * [HBASE-13057] - Provide client utility to easily enable and disable table replication ** Task * [HBASE-11276] - Add back support for running ChaosMonkey as standalone tool * [HBASE-13764] - Backport HBASE-7782 (HBaseTestingUtility.truncateTable() not acting like CLI) to branch-1.x * [HBASE-13799] - javadoc how Scan gets polluted when used; if you set attributes or ask for scan metrics * [HBASE-14085] - Correct LICENSE and NOTICE files in artifacts ** Sub-task * [HBASE-7847] - Use zookeeper multi to clear znodes * [HBASE-13035] - [0.98] Backport HBASE-12867 - Shell does not support custom replication endpoint specification * [HBASE-13201] - Remove HTablePool from thrift-server * [HBASE-13496] - Make Bytes$LexicographicalComparerHolder$UnsafeComparer::compareTo inlineable * [HBASE-13497] - Remove MVCC stamps from HFile when that is safe * [HBASE-13563] - Add missing table owner to AC tests. * [HBASE-13579] - Avoid isCellTTLExpired() for NO-TAG cases * [HBASE-13937] - Partially revert HBASE-13172· * [HBASE-13983] - Doc how the oddball HTable methods getStartKey, getEndKey, etc. will be removed in 2.0.0 * [HBASE-14003] - work around jdk8 spec bug in WALPerfEval * [HBASE-14086] - remove unused bundled dependencies Full list of the issues can be found at https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12329865&styleName=Html&projectId=12310753&Create=Create Compatibility ------------- This release (1.0.2) is source, wire and binary compatible with all previous 1.0.x releases. Client applications do not have to be recompiled with the new version (unless new API is used) if upgrading from a previous 1.0.x. It is a drop-in replacement. See release notes for 1.0.0 [2] for compatibility with earlier versions (0.94, 0.96, 0.98). Compatibility of 1.0.2 with earlier versions is the same as in 1.0.0. Source Compatibility: Client side code in HBase-1.0.x is (mostly) source compatible with 0.98.x versions. Some minor API changes might be needed from the client side. Wire Compatibility: HBase-1.0.x release is wire compatible with 0.98.x releases. Clients and servers running in different versions as long as new features are not used should be possible. A rolling upgrade from 0.98.x clusters to 1.0.x is supported as well. Rolling upgrade from 0.96 directly to 1.0.x is not supported. 1.0.x is NOT wire compatible with earlier releases (0.94, etc). Binary Compatibility: Binary compatibility at the Java API layer with earlier versions (0.98.x, 0.96.x and 0.94.x) is not supported. You may have to recompile your client code and any server side code (coprocessors, filters etc) referring to hbase jars. Upgrading --------- This release is rolling upgradable from earlier 1.0.x releases. See [2] and [3] for upgrade instructions from earlier versions. Upgrading to 1.0.2 is similar to upgrading to 1.0.0 as documented in [3]. >From 0.98.x : Upgrade from 0.98.x in regular upgrade or rolling upgrade fashion is supported. >From 0.96.x : Upgrade from 0.96.x is supported with a shutdown and restart of the cluster. >From 0.94.x : Upgrade from 0.94.x is supported similar to upgrade from 0.94 -> 0.96. The upgrade script should be run to rewrite cluster level metadata. See [3] for details. Supported Hadoop versions ------------------------- 1.0.x releases support only Hadoop-2.x. Hadoop-2.4.x, Hadoop-2.5.x and Hadoop-2.6.x releases are the most tested hadoop releases and we recommend running with those versions (or later versions). Earlier Hadoop-2 based releases (hadoop-2.2.x and 2.3.x) are not tested to the full extend. More information can be found at [4]. Supported Java versions ------------------------- 1.0.x releases only support JDK7. JDK8 support is experimental. More information can be found at [5]. References ---------- [1] https://hbase.apache.org/book/upgrading.html#hbase.versioning [2] http://s.apache.org/hbase-1.0.0-release-notes [3] https://hbase.apache.org/book/upgrade1.0.html#upgrade1.0.changes [4] https://hbase.apache.org/book/configuration.html#hadoop [5] https://hbase.apache.org/book/configuration.html#java Thanks all who worked on this release!