Skip to content
This repository
Newer
Older
100644 217 lines (171 sloc) 14.853 kb
a6ffe214 » jaredmorrow
2012-09-13 Roll version 1.2.1 and update release notes
1 # Riak 1.2.1 Release Notes
2
3 ## Bugs Fixed
4
5 * [LevelDB - Restrict number of input files to a compaction.](https://github.com/basho/leveldb/pull/40)
6 * [riak_pipe - Avoid race to code:load_file by using code:ensure_loaded instead](https://github.com/basho/riak_pipe/pull/51)
809f2683 » jaredmorrow
2012-09-19 Update release notes for 1.2.1
7 * [riak - Beams in basho-patches don't take precedence over existing code](https://github.com/basho/riak/issues/126)
8 * [merge_index - Fix iterator API (Thanks to Arnaud Wetzel)](https://github.com/basho/merge_index/pull/24)
9 * [riak_core - Restart vnode worker pool in case of crash](https://github.com/basho/riak_core/pull/212)
10 * [riak_kv - Resolve 2I timeout error from case clause](https://github.com/basho/riak_kv/pull/379)
44fee63c » jaredmorrow
2012-09-19 Add another bugfix to release notes
11 * [riak_kv - Add retry on eleveldb lock errors during open for up to 1 minute.](https://github.com/basho/riak_kv/pull/395)
809f2683 » jaredmorrow
2012-09-19 Update release notes for 1.2.1
12 * [bitcask - Adds "grace period" to stop just-written files from expiring](https://github.com/basho/bitcask/pull/54)
24125265 » jaredmorrow
2012-09-20 Add bugfix to RELEASE-NOTES
13 * [erlang_js - ejsLog() kills the erlang vm in a reduce](https://github.com/basho/riak/issues/209)
168e3fde » jaredmorrow
2012-09-25 Add more bug fixes to release-notes
14 * [bitcask - Validate hint files generated after merge](https://github.com/basho/bitcask/pull/59)
15 * [riak_core - Remove publish_capabilities race condition](https://github.com/basho/riak_core/pull/230)
a6ffe214 » jaredmorrow
2012-09-13 Roll version 1.2.1 and update release notes
16
f12596c2 » jaredmorrow
2012-07-13 Add updated release notes for 1.2
17 # Riak 1.2 Release Notes
18
19 ## Features and Improvements for Riak
20
21 * Aggregation of non-streamed MapReduce results was
22 improved. Previous versions used an O(n^2) process, where n is
23 the number of outputs for a phase. The aggregation in Riak 1.2 is
24 O(n). (riak_kv#331,333, riak-erlang-client#58,59).
25
26 * Timeouts of MapReduce jobs now produce less error log spam. The
27 safe-to-ignore-but-confusing `{sink_died, normal}` messages have
28 been removed. (riak_pipe#45)
29
30 * The `riak-admin transfers` command now reports the
31 [status of active transfers] [xfer_status]. This gives more insight
32 into what transfers are occurring, their type, their running time,
33 and the rate at which data is being transferred. Calling this
34 command will no longer stall handoff.
35
36 * The memory storage backend for Riak KV now supports secondary indexes and has a "test" mode that lets developers quickly clear all local storage (useful in the context of an external test suite).
37
38 ### Protocol Buffers Enhancements
39
40 * The design of the Protocol Buffers on the server-side has been significantly refactored, allowing sub-applications other than Riak KV to supply services to clients.
41 * Secondary indexes can be natively queried from Protocol Buffers clients, They no longer need to emulate them with MapReduce.
42 * Riak Search indexes can be natively queried from Protocol Buffers clients. They no longer need to emulate them with MapReduce.
43
44 ### Stats improvements
45
46 * Riak now uses the open source [Folsom](https://github.com/boundary/folsom) library for stats
47 * Riak_search now has stats
48 * Getting stats from riak_kv should no longer timeout under very heavy load as there is no longer a gen_server
49 process for stats.
43d51f6b » jaredmorrow
2012-07-13 Fix typo in release notes
50 * Stats can still be retrieved as before, with the addition that one can now attach to a node and
f12596c2 » jaredmorrow
2012-07-13 Add updated release notes for 1.2
51 query stats directly through folsom. Use `folsom_metrics:get_metrics()` to see a list of available stats.
52 * Configurable sample types for histogram metrics in riak_kv and riak_search. Defaults to a one minute sliding window, with random uniform reservoir size of 1028 readings per second. This means that the following statistics *may* show slightly different results from pre1.2 nodes as there may be fewer readings than the total number or events.
53 * riak_kv_node_get_fsm_siblings
54 * riak_kv_node_get_fsm_time,
55 * riak_kv_node_put_fsm_time
56 * riak_kv_node_get_fsm_objsize
43d51f6b » jaredmorrow
2012-07-13 Fix typo in release notes
57 * You can configure the sample type by adding
f12596c2 » jaredmorrow
2012-07-13 Add updated release notes for 1.2
58 `{stat_sample_type, {slide, Window::int()}}` or `{stat_sample_type, {slide_uniform, {Window::int(), Size::int()}}}` to your `app.config` under the section for riak_kv and/or riak_search. Further you may change the sample type for a named stat only, like this `{{riak_kv, node_get_fsm_time}, {slide_uniform, {60, 10000}}}`
59
60 ### Packaging Improvements
61
62 * A binary package for FreeBSD 9 is now provided
63 * A binary package for SmartOS is now provided
64 * Ubuntu packages for 10.04 (Lucid), 11.04 (Natty), and 12.04 (Precise) are now provided as separate packages
65 * See "Bugs Fixed" for packaging related bug fixes
66
67 ### Leveldb tuning
1a7bf781 » dreverri
2012-07-13 Minor corrections to the 1.2 release notes
68 * Bloom filter code from google added. This greatly reduces the search time for keys that do not exist.
69 * File sizes increased 10x or more. This reduces the amount of disk activity, increasing performance.
f12596c2 » jaredmorrow
2012-07-13 Add updated release notes for 1.2
70
71 ### Capability Negotiation
72
1a7bf781 » dreverri
2012-07-13 Minor corrections to the 1.2 release notes
73 * Riak nodes now negotiate with each other to determine supported operating modes,
f12596c2 » jaredmorrow
2012-07-13 Add updated release notes for 1.2
74 allowing clusters containing mixed-versions of Riak to work properly without special
75 configuration.
76
77 * This simplifies rolling upgrades. In the past, users needed to disable new features
78 during the rolling upgrade, and then enable them after all nodes were upgraded. This
79 is now handled automatically by Riak.
80
81 * This change replaces several existing configuration parameters, with the old settings
82 being ignored entirely in Riak 1.2. The following values are the ones that are no longer
83 used in Riak 1.2, along with the new behavior:
84 * `riak_core/legacy_vnode_routing`: Uses the newer vnode routing layer (introduced in Riak 1.1) when supported; otherwise, defaults to the legacy routing protocol.
85 * `riak_kv/legacy_keylisting`: Uses coverage based keylisting (introduced in Riak 1.0) when supported; otherwise,
86 defaults to the legacy keylisting behavior.
87 * `riak_kv/listkeys_backpressure`: Enables listkeys backpressure (introduced in Riak 1.1) when supported.
88 * `riak_kv/mapred_2i_pipe`: Use parallel secondary-index input to map/reduce jobs (introduced in Riak 1.1) when supported.
89 * `riak_kv/mapred_system`: Use `riak_pipe` for map/reduce (introduced in Riak 1.0) when supported; otherwise, default to legacy `luke` system.
90
91 * To override capability negotiation (which is discouraged), there is now a per-component override setting
92 that can be set in `app.config`. For example, the following could be added to the `riak_kv` section of
93 `app.config` to alter negotiation of the `listkeys_backpressure` and `mapred_system` settings:
94
95 ```erlang
96 %% Override listkeys_backpressure setting to always be set to 'false'.
97 %%
98 %% Override mapred_system setting to use 'legacy' if all nodes in the cluster
99 %% support 'legacy', otherwise use the built-in default setting.
100 [{override_capability,
101 [{listkeys_backpressure, [{use, false}]},
102 {mapred_system, [{prefer, legacy}]}]
103 }]
104 ```
105
106 ### Overhauled Cluster Adminstration
107
108 * Riak now provides a multi-phase approach to cluster administration
109 that allows changes to be staged and reviewed before being committed.
110
111 * This change allows multiple changes to be grouped together, such as
112 adding multiple nodes at once, or adding some nodes while removing
113 others.
114
115 * This new approach also provides details about how a set of staged
116 changes will impact the cluster, listing the future ring ownership
117 as well as the number of transfers necessary to implement the planned
118 changes.
119
120 * This new approach is currently implemented only by `riak-admin`, and
121 is not yet part of Riak Control. The older `riak-admin` commands such
122 as `join, leave, force-remove` have been deprecated, although they can
123 still be used by appending `-f`, eg. `riak-admin join -f`.
124
125 * The new cluster admin interface is accessed through `riak-admin cluster`:
126
127 ```text
128 Usage: riak-admin cluster <command>
129
130 The following commands stage changes to cluster membership. These commands
131 do not take effect immediately. After staging a set of changes, the staged
132 plan must be committed to take effect:
133
134 join <node> Join node to the cluster containing <node>
135 leave Have this node leave the cluster and shutdown
136 leave <node> Have <node> leave the cluster and shutdown
137
138 force-remove <node> Remove <node> from the cluster without
139 first handing off data. Designed for
140 crashed, unrecoverable nodes
141
142 replace <node1> <node2> Have <node1> transfer all data to <node2>,
143 and then leave the cluster and shutdown
144
145 force-replace <node1> <node2> Reassign all partitions owned by <node1> to
146 <node2> without first handing off data, and
147 remove <node1> from the cluster.
148
149 Staging commands:
150 plan Display the staged changes to the cluster
151 commit Commit the staged changes
152 clear Clear the staged changes
153 ```
154
155 ## Enhancements
156
157 * [Search - micro-optimization](https://github.com/basho/riak_search/pull/101)
158 * [Search - add repair cmd](https://github.com/basho/riak_search/pull/107)
159
160 ## Known Issues
161
5e1405a2 » jaredmorrow
2012-07-20 Update release notes for 1.2 RC2
162 * The Protocol Buffers interface when returning `RpbErrorResp` responses to the client will set the `errcode` field to `0`, whereas before it was `1` or unset. Only client libraries that previously attempted to apply meaning to the `errcode` field will be affected. Improvement of the error responses from Protocol Buffers is planned for the next major release.
163 * Some spurious messages may be sent to the log after a Pipe-based MapReduce job sent via PBC has been shutdown. This does not affect normal operations. [basho/riak_kv#366](https://github.com/basho/riak_kv/issues/366)
72f07257 » jaredmorrow
2012-07-25 Update release notes for RC3
164 * The SmartOS packages were tested against 1.5.x and 1.6.x datasets from Joyent. The newest datasets of SmartOS 1.7.x have not been tested and are not supported currently.
e615f36c » jaredmorrow
2012-08-06 Release note update for 1.2.0
165 * Secondary index queries against a heavily loaded cluster may hit an improperly-handled internal timeout and result in error responses. This affects both HTTP and Protocol Buffers interfaces and has existed since Riak 1.0. [basho/riak_kv#379](https://github.com/basho/riak_kv/pull/379)
166 * MapReduce queries may print messages in the log of the form, `[error] Module <module name> must be purged before loading`, due to a race in the code that ensures a module is loaded before it is used. This message may be safely ignored. It can be silenced by attaching to the Riak console and evaluating `code:purge(<module name>).`.
ec86ce86 » jaredmorrow
2012-08-08 Add 21 known issue for Riak 1.2.0
167 * Some users may experience a performance regression in 2I compared to 1.0 and 1.1. The problem manifests as higher latencies for range and equality queries. A preliminary investigation suggests the change of the Erlang VM from R14B04 to R15B01 is partially responsible, but there may be other factors.
5e1405a2 » jaredmorrow
2012-07-20 Update release notes for 1.2 RC2
168
f12596c2 » jaredmorrow
2012-07-13 Add updated release notes for 1.2
169 ## Bugs Fixed
170
171 * [Add CSRF protection to Riak Control resources](https://github.com/basho/riak_control/pull/28).
172 * Riak Control now returns the proper [content-types](https://github.com/basho/riak_control/pull/18) and [doctype](https://github.com/basho/riak_control/pull/16).
43d51f6b » jaredmorrow
2012-07-13 Fix typo in release notes
173 * [Updates to Riak Control to resolve issues when viewing
f12596c2 » jaredmorrow
2012-07-13 Add updated release notes for 1.2
174 Control on iOS devices and over connections with high latency.](https://github.com/basho/riak_control/pull/21)
175 * [Riak Control now reports pre-1.1 nodes in a mixed version cluster as incompatible instead of unreachable.] (https://github.com/basho/riak_control/pull/24)
176 * [Allow commented out -name lines in `vm.args`](https://github.com/basho/riak/issues/175)
177 * [Riak RPM package needs dep on `sudo`](https://github.com/basho/riak/issues/163)
178 * [Change ownership of `/etc/riak` for RPM packages](https://github.com/basho/riak/issues/165)
179 * [`/var/run/riak` is not recreated on demand at startup](https://github.com/basho/riak/issues/130)
180 * [Ensure `ring_creation_size` setting is in all packaged app.config files](https://github.com/basho/riak/issues/139)
181 * [Move the `pipe_dir` on fedora/centos to the `/tmp/riak` directory](https://github.com/basho/riak/issues/150)
182 * [Remove bashisms from shell scripts which use /bin/sh](https://github.com/basho/riak/issues/141)
183 * Stalls: 2i and leveldb each had scenarios where data operations would stall 7 to 120 seconds.
184 * "block_size" parameter within app.config for leveldb was ignored. This parameter is now properly passed to leveldb.
185 * [Search - clear schema cache on update](https://github.com/basho/riak_search/pull/110)
186 * [Search - remove solr supervisor](https://github.com/basho/riak_search/pull/113)
187 * [Search - honor the '?' wildcard](https://github.com/basho/riak_search/pull/114)
188 * [Search - flatten 'MaxScore'](https://github.com/basho/riak_search/pull/119)
5e1405a2 » jaredmorrow
2012-07-20 Update release notes for 1.2 RC2
189 * [riak_api - Add riak_core as application dep to riak_api.app](https://github.com/basho/riak_api/issues/6)
190 * [riak_api - Register riak_api_stat mod with riak_core at start up](https://github.com/basho/riak_api/issues/7)
191 * [Add eleveldb:close - Fixes MANIFEST file missing bug](https://github.com/basho/eleveldb/pull/33)
192 * [riak_kv - Call eleveldb:close before destroy](https://github.com/basho/riak_kv/pull/368)
193 * [riak_control - Resolve base64 cookie truncation race condition.
194 ](https://github.com/basho/riak_control/pull/30)
195 * [Fix FreeBSD package permissions on sbin](https://github.com/basho/riak/pull/183)
196 * [Create SmartOS SMF service for epmd](https://github.com/basho/riak/pull/187)
72f07257 » jaredmorrow
2012-07-25 Update release notes for RC3
197 * [riak_core - Restructure supervision tree so that folsom is an included app](https://github.com/basho/riak_core/pull/217)
198 * [riak_core - Ring mgr crash creates confused cluster](https://github.com/basho/riak_core/issues/166)
199 * [riak_core - Make the ring manager responsible for loading the ring](https://github.com/basho/riak_core/pull/214)
200 * [riak_core - Fix capability system race condition](https://github.com/basho/riak_core/pull/216)
201 * [riak_kv - Changed semantics of backend:drop - backend must close all handles](https://github.com/basho/riak_kv/pull/373)
202 * [riak_kv - Call eleveldb:close on vnode stop for eleveldb backend](https://github.com/basho/riak_kv/pull/372)
5e0fedb9 » jaredmorrow
2012-08-02 Update release notes for 1.2.0 RC6
203 * [leveldb - Make ref count increase atomic operation under read lock](https://github.com/basho/leveldb/pull/36)
204 * [leveldb - Change LRUCache destructor so it does NOT look like a bad reference](https://github.com/basho/leveldb/pull/38)
205 * [riak_control - Patch handoff status to work with status_v2](https://github.com/basho/riak_control/pull/34)
4cb637f3 » jaredmorrow
2012-08-02 Update release notes for rc7
206 * [riak_core - Ensure legacy nodes are probed when new capabilities registered](https://github.com/basho/riak_core/pull/219)
e615f36c » jaredmorrow
2012-08-06 Release note update for 1.2.0
207 * [riak - `riak attach` fails on some versions of SmartOS](https://github.com/basho/riak/issues/198)
72f07257 » jaredmorrow
2012-07-25 Update release notes for RC3
208
5e1405a2 » jaredmorrow
2012-07-20 Update release notes for 1.2 RC2
209
210
f12596c2 » jaredmorrow
2012-07-13 Add updated release notes for 1.2
211
212 ## Notes
213
214 * The Luke application, and with it the "legacy" MapReduce system should be considered deprecated. All systems should be configured to use Riak Pipe as their MapReduce system (the default since 1.0). The Luke application may be removed as soon as the next release.
215 * The Innostore storage backend is deprecated and will not be supported in the 1.2 release.
216
217 [xfer_status]: http://basho.com/blog/technical/2012/06/25/Riak-Admin-Transfers-in-1-2-Release/
Something went wrong with that request. Please try again.