Riak KV 2.0.6 Release Notes

Released June 30th, 2015.

This is a bugfix release addressing minor issues and making some improvements for speed and performance.

Bugs Fixed

  • [Issue #481/PR #486] - Riak Search was losing entries when YZ AAE trees expired. To address this, we fixed how we dealt with default bucket types when building yokozuna hashtrees.
  • [Issue #723/PR #482 & PR #773] - Search did not return consistent results when indexing a bucket-type with sets in a map. Now, a check for map embedded fields and counts is run, and the default_schema has been updated to return sets in query responses by storing them.
  • [Issue #70/PR #75] - Some clusters were unable to start ensembles due to a block on ensemble peers within the leveldb synctree. Now leveldb synctree lock behavior is limited to local node.
  • [Issue #450/PR #459] - Riak Search AAE was throwing errors when one was using keys/buckets/bucket_types with spaces.
  • [Issue #469/PR #470] - Fix YZ stats name typo from ‘throughtput’ to ‘throughput’.
  • [Issue #437/PR #458] - yz_events:handle_info called with bad arguments.
  • [Issue #402/PR #463 & PR #476 & PR #515 & PR #509] - When creating a new search index via HTTP, HTTP responded before the index was available. Now you can change timeout via index_put_timeout_ms in the yokozuna section of advanced config.
  • [Zendesk issue/PR #487] - Stops index creation loop on bad data.
  • [PR#732] - Handle long_schedule messages about ports correctly.
  • [Issue #1103/PR #1143] - Corrupted or truncated KV vnode status files prevented nodes from starting up.
  • Riak Multi-Datacenter Replication - A race condition bug was causing load testing log to show “Heartbeat is misconfigured…” error when no issue was present.
  • Riak Multi-Datacenter Replication - When the provider process got stuck for an extended period of time, it would be sent a large amount of keep alive messages. Now, the keepalive timer is only reset upon receiving a keepalive request, and only one keepalive timer will ever be active.

Improvements

  • Extractor map is now stored using mochiglobal rather than the ring. [PR #483/PR #779]
  • Query plans are now cached by n_val rather than index name. [PR #478]
  • Don’t delete siblings in YZ when using SC or CRDTs. [PR #452]
  • keepalive was added to prevent the pb_listener from hanging on to established connections in case of a network partition. [PR #89]
  • The search.temp_dir configuration variable can now set the temp directory used by Jetty. [PR #413]
  • Add riak_core capability to handle newer versions fixing default bucket_types [Issue #491/PR #492]
  • Enhance LevelDB write throttle to support single vnode loads (such as handoff) and other minor adjustments. [PR #146]
  • You can now use sh rather than bash for other *nixes. An additional fetch call has been added (e.g. freebsd in download). [PR #475]
  • Fullsync hardened for handoffs to avoid deadlocks. [PR #1106/PR #789]
  • Log administrative stop, restart, reboot operations.[PR #184]