August 7, 2012

Nearly three years ago to the day, from a set of green, worn couches in a modest office Cambridge, Massachusetts, the Basho team announced Riak to the world. To say we’ve come a long way from that first release would be an understatement, and today we’re pleased to announce the release and general availability of Riak 1.2.

Here’s the tl;dr on what’s new and improved since the Riak 1.1 release:

  • More efficiently add multiple Riak nodes to your cluster
  • Stage and review, then commit or abort cluster changes for easier operations; plus smoother handling of rolling upgrades
  • Better visibility into active handoffs
  • Repair Riak KV and Search partitions by attaching to the Riak Console and using a one-line command to recover from data corruption/loss
  • More performant stats for Riak; the addition of stats to Riak Search
  • 2i and Search usage thru the Protocol Buffers API
  • Official Support for Riak on FreeBSD
  • In Riak Enterprise: SSL encryption, better balancing and more granular control of replication across multiple data centers, NAT support

If that’s all you need to know, download the new release or read the official release notes.

More on What’s in Riak 1.2

New Approaches to Cluster Management

Stage and Review Cluster Changes: Stage a set of cluster changes, review how they will affect the cluster, and then commit or abort the changes. The new process means you can perform multiple changes at once – useful for adding/removing nodes – and “preview” operational changes to your cluster. Delay changes for off-peak hours or cancel changes you don’t like.

Rolling Upgrades, Made Easier: Previously, users would have to manually ensure newer features that might not be supported by all nodes were disabled before starting a rolling upgrade, then enable them after. Riak 1.2 has built-in capability negotiation that automatically determines features that are supported by all nodes. We’ll be sharing more details on the blog soon. For now, check out the cluster management docs.

Repair Search or KV Partitions Thru Riak Console

We’re introducing a new anti-entropy mechanism to let you rebuild a partition for KV or Search. Prior to Riak 1.2, users could repair KV and Search data by listing keys and using read repair. Now, you can attach to the Riak Console and use the new repair feature to rebuild partition data lost or corrupted in a failure scenario – a simpler and faster solution.

Improved Reporting of Handoff

Continuing with the theme of making dealing with your Riak cluster better, we’ve beefed up the ‘riak-admin transfers’ command to give you much more information on the status of active transfers. (More information on changes to the transfers command here.)

Stats, Stats, Stats: Performance Improvements; Riak Search Has Stats, Too

Riak now uses the open source Folsom library by our friends at Boundary. Folsom is an Erlang-based system that collects and reports real-time metrics. The main difference you’ll notice? Much better performance of stats. (In-depth blog post on 1.2 stats improvements here.)

Protobuf API Adds Support for Search and 2i

So you want to use Riak’s Search and Secondary Indexes features through the protobuf API? Wish granted. Check out Sean Cribbs’ post on 1.2 changes to the protobufs API here.

LevelDB Performance Improvements

LevelDB, one of the storage backends that Basho supports for Riak, now sees much more stable performance and better throughput under load. We’ll be releasing a blog post about this soon…

Incremental Improvements to MapReduce

Accumulation of results for MapReduce queries is now faster and more efficient. Bryan Fink shared some details about this work back in June.

FreeBSD Packaging, SmartOS Binaries, and More

We now have packaging for FreeBSD. Plus, you can now grab a binary package for SmartOS. Additionally, Ubuntu packages for 10.04 (Lucid), 11.04 (Natty), and 12.04 (Precise) are now provided separately. Jared Morrow wrote up details on this last month and a complete list of packages can be found here.

New Stuff for Multi Data-Center Replication in Riak Enterprise

Riak Enterprise includes technical support and multi-data center capabilities. In the 1.2 release, Riak Enterprise balances multi-datacenter replication workload across the cluster for better stability and performance. Plus, more granular replication options so you can do full-sync or real-time sync on particular buckets. We’ve also added SSL encryption for all network activity, plus NAT support.

Thank You To The Community

There’s a lot in this release. Both new and existing users should see be excited about these enhancements and fixes. As usual, the community is due a massive thanks from all of us at Basho. This code would be no where near as stable and robust were it not for you relentless usage, abuse, inspection of, and contributions to Riak at every level. Thank you. Please don’t stop. Things like this would not be possible were it not for you proving Riak’s worth.

So…

After you download Riak 1.2, join the mailing list and let us know what you think. Then go register for RICON. It’s a two day event happening in San Francisco this October, and it’s dedicated to all things Riak and distributed systems. You won’t be disappointed.

Thanks for being a part of Riak.

Basho Eng