HBase Team is pleased to announce the immediate release of HBase 1.0.3. Download it from your favorite Apache mirror [1] or maven repository.
HBase 1.0.3 is the next “patch” release in the 1.0.x release line and supersedes all earlier 1.0.x. According to the HBase’s semantic version guide (See [2]), the release candidate is source and binary compatible with 1.0.x for client applications and server side libraries (coprocessors, filters, etc). Please note that 1.0.3 is the last “scheduled” release in the 1.0.x line of releases since there is a limited amount of testing and release management bandwidth. Users are highly encouraged to upgrade to 1.1 line of releases if possible. However, if there is enough interest, or needed otherwise, we can still decide to do more releases. Please be encouraged to speak up if you want us to continue scheduled 1.0.x releases. See the hbase-dev mailing thread [6] for more information. 1.0.3 release contains 102 fixes on top of 1.0.2 release. Most of the changes are bug fixes or test fixes except for the following: ** Sub-task * [HBASE-14221] - Reduce the number of time row comparison is done in a Scan * [HBASE-14535] - Integration test for rpc connection concurrency / deadlock testing· * [HBASE-14539] - Slight improvement of StoreScanner.optimize * [HBASE-14605] - Split fails due to 'No valid credentials' error when SecureBulkLoadEndpoint#start tries to access hdfs * [HBASE-14631] - Region merge request should be audited with request user through proper scope of doAs() calls to region observer notifications * [HBASE-14655] - Narrow the scope of doAs() calls to region observer notifications for compaction * [HBASE-14657] - Remove unneeded API from EncodedSeeker * [HBASE-14709] - Parent change breaks graceful_stop.sh on a cluster * [HBASE-15031] - Fix merge of MVCC and SequenceID performance regression in branch-1.0 * [HBASE-15095] - isReturnResult=false on fast path in branch-1.1 and branch-1.0 is not respected ** Brainstorming * [HBASE-14869] - Better request latency and size histograms ** Improvement * [HBASE-14261] - Enhance Chaos Monkey framework by adding zookeeper and datanode fault injections. * [HBASE-14325] - Add snapshotinfo command to hbase script * [HBASE-14436] - HTableDescriptor#addCoprocessor will always make RegionCoprocessorHost create new Configuration * [HBASE-14582] - Regionserver status webpage bucketcache list can become huge * [HBASE-14586] - Use a maven profile to run Jacoco analysis * [HBASE-14643] - Avoid Splits from once again opening a closed reader for fetching the first and last key ** Task * [HBASE-14361] - ReplicationSink should create Connection instances lazily Full list of the issues can be found at https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12332968&styleName=Text&projectId=12310753&Create=Create Compatibility ------------- This release (1.0.3) 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.3 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.3 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. http://www.apache.org/dyn/closer.cgi/hbase/ 2. https://hbase.apache.org/book/upgrading.html#hbase.versioning 3. http://s.apache.org/hbase-1.0.0-release-notes 4. https://hbase.apache.org/book/configuration.html#hadoop 5. https://hbase.apache.org/book/configuration.html#java 6. http://search-hadoop.com/m/YGbb9X5OqFULUK Thanks all who worked on this release!