What a milestone!  Congratulations to the HBase developer community and
everyone who worked to make this happen.  HBase has come a long way over
the years.

On Tue, Feb 24, 2015 at 12:28 AM, Enis Söztutar <e...@apache.org> wrote:

> The HBase Team is pleased to announce the immediate release of HBase 1.0.0.
> Download it from your favorite Apache mirror [1] or maven repository.
>
> HBase 1.0.0 is the next stable release, and the start of "semantic
> versioned"
> releases (See [2]).
>
> The 1.0.0 release has three goals:
> 1) to lay a stable foundation for future 1.x releases;
> 2) to stabilize running HBase cluster and its clients; and
> 3) make versioning and compatibility dimensions explicit
>
> Including previous (developer preview) 0.99.x releases, 1.0.0 contains over
> 1500
> jiras resolved on top of 0.98.0. Some of the major changes are:
>
> API reorganization and changes
>   HBase’s client level API has evolved over the years. To simplify the
>   semantics and to support and make it extensible and easier to use in
>   the future, we revisited the API before 1.0. To that end, 1.0.0
> introduces
>   new APIs, and deprecates some of the commonly-used client side APIs
>   (HTableInterface, HTable and HBaseAdmin).
>
>   We advise to update your application to use the new style of APIs, since
>   deprecated APIs will be removed in future releases (2.x). See [3] and [4]
>   for an overview of changes.
>
>   All Client side API's are marked with InterfaceAudience.Public class,
>   indicating that the class/method is an official "client API" for HBase
>   (See “11.1.1. HBase API Surface” in the HBase Refguide[2] for more
> details
>   on the Audience annotations) Going forward, all 1.x releases are planned
> to
>   be API compatible for classes annotated as client public.
>
> Read availability using timeline consistent region replicas
>   This release contains Phase 1 items for experimental "Read availability
> using
>   timeline consistent region replicas" feature. A region can be hosted in
>   multiple region servers in read-only mode. One of the replicas for the
> region
>   will be primary, accepting writes, and other replicas will be sharing the
> same
>   data files. Read requests can be done against any replica for the region
> with
>   backup RPCs for high availability with timeline consistency guarantees.
> More
>   information can be found at HBASE-10070.
>
> Online config change and other forward ports from 0.89-fb branch
>   HBASE-12147 forward ported online config change which enables some of the
>   configuration from the server to be reloaded without restarting the
> region
>   servers.
>
> Master runs a Region Server as well
>   Starting with 1.0.0, the HBase master server and backup master servers
> will
>   also act as a region server. RPC port and info port for web UI is shared
> for
>   the master and region server roles. Active master can host regions of
>   defined tables if configured (disabled by default). Backup masters will
> not
>   host regions.
>
> Other notable improvements in 1.0.0 are listed (but not limited to) below:
>  - A new web skin in time for 1.0 (http://hbase.apache.org)
>  - [HBASE-5349]  - Automatic tuning of global memstore and block cache
> sizes
>  - Various security, tags and visibility labels improvements
>  - Bucket cache improvements (usability and compressed data blocks)
>  - [HBASE-11367] - A new pluggable replication endpoint to plug in to
> HBase's
>    inter-cluster replication to replicate to a custom data store
>  - [HBASE-11885] - A Dockerfile to easily build and run HBase from source
>  - [HBASE-8332]  - Truncate table command
>  - [HBASE-11059] - Region assignment to use hbase:meta table instead of
>    zookeeper for faster region assignment (disabled by default)
>  - Extensive documentation improvements
>  - [HBASE-12511] - namespace permissions - add support from table creation
>    privilege in a namespace 'C'
>  - [HBASE-12568] - Adopt Semantic Versioning and document it in the book
>  - [HBASE-12640] - Add Thrift-over-HTTPS and doAs support for Thrift Server
>  - [HBASE-12651] - Backport HBASE-12559 'Provide LoadBalancer with online
>    configuration capability' to branch-1
>  - [HBASE-10560] - Per cell TTLs
>  - [HBASE-11997] - CopyTable with bulkload
>  - [HBASE-11990] - Make setting the start and stop row for a specific
> prefix
>    easier
>  - [HBASE-12220] - Add hedgedReads and hedgedReadWins metrics
>  - [HBASE-12032] - Script to stop regionservers via RPC
>  - [HBASE-11907] - Use the joni byte[] regex engine in place of j.u.regex
> in
>    RegexStringComparator
>  - [HBASE-11796] - Add client support for atomic checkAndMutate
>  - [HBASE-11804] - Raise default heap size if unspecified
>  - [HBASE-12126] - Region server coprocessor endpoint
>  - [HBASE-12075] - Preemptive Fast Fail
>  - [HBASE-12363] - Improve how KEEP_DELETED_CELLS works with MIN_VERSIONS
>  - [HBASE-12434] - Add a command to compact all the regions in a
> regionserver
>  - [HBASE-8707]  - Add LongComparator for filter
>  - [HBASE-12286] - [shell] Add server/cluster online load of configuration
>    changes
>  - [HBASE-12361] - Show data locality of region in table page
>  - [HBASE-12496] - A blockedRequestsCount metric
>  - [HBASE-12730] - Backport HBASE-5162 (Basic client pushback mechanism) to
>    branch-1
>  - [HBASE-12731] - Heap occupancy based client pushback
>  - [HBASE-12728] - buffered writes substantially less useful after removal
> of
>    HTablePool
>  - [HBASE-5699] - Run with > 1 WAL in HRegionServer
>  - Various fixes to REST server
>  - Internal refactoring for abstracting away zookeeper usage
>  - Better support for Cell interface internally in read and write paths for
>    better performance and flexibility
>  - Combining internal mvcc and seqId infrastructure
>  - [HBASE-10156][HBASE-8755] - Ring buffer based WAL improvements
>  - [HBASE-9117] - Switch to using new style of client APIs internally
>  - Perf improvements
>  - Numerous improvements in other areas and bug fixes.
>
> 1.0.0 release has these changes in default behavior (see [4])
>  - [HBASE-12241] - Zookeeper 3.4.x is required
>  - [HBASE-10781] - Hadoop-2.x is required
>  - [HBASE-11666] - JDK-1.7 is required
>  - Default ports have changed from 600XX range into out of ephemeral 160XX
>    range.
>  - Hfile version 3 has been enabled by default.
>  - Slab cache has been removed (use bucket cache instead)
>  - [HBASE-11804] - Default heap for region servers (and master) is changed
> from
>    1GB to the jdk's default. On most platforms, it will default to 1/4 of
>    physical memory
>  - [HBASE-10602] - Some client facing APIs (HTableInterface, etc) has been
>    deprecated and replaced.
>  - Custom Filter implementations should switch to using the new recommended
>    APIs.
>  - Some authorization permissions (especially regarding namespaces) have
> been
>    changed (HBASE-12511, HBASE-8015)
>  - [HBASE-11178] - Mapred package and classes under there has been
>    un-deprecated.
>  - Two new modules (jar files): hbase-annotations and hbase-rest.
>  - HTrace dependency is moved to the Apache artifacts [7]
>  - Various updates to dependency versions
>
> Full list of the issues can be found at:
>  - 1.0.0 issues  :
>
> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310753&version=12325852
>  - 0.99.2 issues :
>
> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310753&version=12325675
>  - 0.99.1 issues :
>
> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310753&version=12328551
>  - 0.99.0 issues :
>
> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310753&version=12328822
>
>
> Compatibility
> -----------------
> Source Compatibility:
> Client side code in HBase-1.0.0 is (mostly) source compatible with earlier
> versions. Some minor API changes might be needed from the client side.
>
> Wire Compatibility:
> HBase-1.0.0 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.0 is supported as well. 1.0.0
> introduces a new file format (hfile v3) that is enabled by default that
> 0.96.x code cannot read. Thus, rolling upgrade from 0.96 directly to 1.0.0
> is
> not supported.
> 1.0.0 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
> --------------
> See [5] for upgrade instructions and extended discussion on the changes.
>
> 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 [6] for details.
>
>
> Supported Hadoop versions
> --------------------------------------
> 1.0.0 release drops support for Hadoop-1.x releases. Only Hadoop-2.x
> releases are supported. 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
> 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 [8]
>
>
> Supported Java versions
> ----------------------------------
> 1.0.0 release drops support for JDK6. Only JDK7 is supported. JDK8 support
> is experimental. More information can be found at [9].
>
> HBase-1.0.0 is marked as the current stable version, and we encourage all
> users
> to start using this version.
>
> Thanks to everybody who contributed to this release!
>
> Cheers,
> The HBase Team
>
> 1. http://www.apache.org/dyn/closer.cgi/hbase/
> 2. https://hbase.apache.org/book/upgrading.html#hbase.versioning
> 3. http://www.slideshare.net/xefyr/apache-hbase-10-release
> 4. http://s.apache.org/hbase-1.0-api
> 5. https://hbase.apache.org/book/upgrade1.0.html#upgrade1.0.changes
> 6. https://hbase.apache.org/book/upgrade1.0.html#upgrade1.0.from.0.94
> 7. https://htrace.incubator.apache.org/
> 8. https://hbase.apache.org/book/configuration.html#hadoop
> 9. https://hbase.apache.org/book/configuration.html#java
>

Reply via email to