Commit graph

179 commits

Author SHA1 Message Date
Steve Vinoski
85fadeec70 Merge pull request #5 from basho-labs/gsb-cache-size-est
Estimate a reasonable cache size if one isn't provided in app/env config for wterl.
2013-03-14 11:05:38 -07:00
Gregory Burd
ef3e161f12 Embelish rebar's config a bit. 2013-03-14 13:33:34 -04:00
Gregory Burd
1d6dfee192 Cache sizing is critical for performance. This change guesses at a
reasonable setting for the WiredTiger cache size at runtime.  This cache
is shared across all vnodes regarless of how many are active at any
given time.  The algorithm is: max(1GB, 1/3 (RAM - Beam RSS size)). We don't
enable direct_io on purpose and data will be double buffered in WiredTiger's
cache and the filesystem buffer cache.  This turns out to be faster than
direct I/O despite wasting a bit of RAM.
2013-03-14 13:27:59 -04:00
Steve Vinoski
efdeb70764 Merge pull request #4 from basho-labs/gsb-shared-cursors
Share per-table cursors for get/put/delete operations.
2013-03-13 15:15:35 -07:00
Gregory Burd
e4b3acbd11 Share per-table cursors for get/put/delete operations. 2013-03-13 17:27:00 -04:00
Steve Vinoski
f94336f3eb base WiredTiger max session config setting on ring size 2013-03-12 18:24:06 -04:00
Gregory Burd
021dcb10f5 Build from source pulled from a specific branch on GitHub for "basho"
related work and integration of WiredTiger rather than the latest
.tar.bz2 file they distribute.
2013-03-12 17:16:15 -04:00
Gregory Burd
789c44b133 Change the config to use a lsm tree rather than btree for tables.
Stop using direct_io as it forces operations to sync more often, slowing
things down, at the expense of double-buffering (this will use more RAM).
2013-03-12 17:16:15 -04:00
Gregory Burd
c6eac27ea7 Start with a more rational default configuration. (Before you ask... the
answer is 'no').  So far there has been no effort to validate that these
settings are in fact the best for Riak/KV or CS data access patterns.  These
particular settings are, at best, an educated guess based on past experience,
the docs and reading about the benchmark the WiredTiger team published here:

https://github.com/wiredtiger/wiredtiger/wiki/YCSB-Mapkeeper-benchmark
2013-03-12 17:16:15 -04:00
Gregory Burd
9a02718a2e Pass configuration along when opening sessions. 2013-03-12 17:16:15 -04:00
Gregory Burd
b063d866cc Merge pull request #2 from basho-labs/gsb-makefile
Add some more depth to the targets.
2013-03-07 17:24:29 -08:00
Gregory Burd
f224c61b7a Add some more depth to the targets. 2013-03-07 16:03:30 -05:00
Steve Vinoski
446362d11a update to WiredTiger 1.4.2 2013-01-14 19:13:45 -05:00
Steve Vinoski
f67a2dd7af update to WiredTiger 1.4.1 2012-12-12 23:57:21 -05:00
Steve Vinoski
6768b86484 update to WiredTiger 1.4.0 2012-12-04 11:20:33 -05:00
Steve Vinoski
c9df3959c8 update to WiredTiger 1.3.8 2012-11-22 23:14:01 -05:00
Steve Vinoski
bb4de898ab update to WiredTiger 1.3.7 2012-11-09 12:51:40 -05:00
Steve Vinoski
317ae4164d update to WiredTiger 1.3.6 2012-11-06 12:41:36 -05:00
Steve Vinoski
43a5325b4f add editor settings to rebar.config 2012-10-26 10:25:02 -04:00
Steve Vinoski
86955b0aef modify enable-wterl to avoid adding wterl repeatedly
Before modifying files to add wterl, check to make sure the addition hasn't
already been made. Also change to do a stagedevrel build instead of a
devrel build.
2012-10-26 10:22:59 -04:00
Steve Vinoski
1de84ff8c3 update rebar and rebar.config 2012-10-26 09:25:35 -04:00
Steve Vinoski
f8454b11e1 update to WiredTiger 1.3.5 2012-10-26 09:19:47 -04:00
Steve Vinoski
62252ee6ba update to WiredTiger 1.3.4 2012-10-19 08:17:19 -04:00
Steve Vinoski
99b096caf3 check return value of wterl:session_create
Versions of WiredTiger prior to 1.3.3 had trouble handling riak restarts,
returning errors from wterl:session_create that would prevent riak from
restarting if it was not cleanly shut down on the previous run. We
previously avoided checking the return value of wterl:session_create to
avoid this problem. WT 1.3.3 fixes this, so reinstate the check of the
wterl:session_create return value.
2012-10-14 13:43:21 -04:00
Steve Vinoski
4f17de26d4 fix wterl git url in enable-wterl script 2012-10-14 13:35:19 -04:00
Steve Vinoski
d7127b03e2 update to WiredTiger 1.3.3 2012-10-11 13:33:37 -04:00
Steve Vinoski
b2807e2c14 upgrade to WiredTiger version 1.3.0
Since 1.3.0 folded the session sync function into the session checkpoint
function, the wterl:sync/(2,3) functions are now renamed
wterl:checkpoint/(1,2). See
http://source.wiredtiger.com/1.3.0/upgrading.html for details.
2012-09-17 10:58:48 -04:00
Steve Vinoski
6c808da7af update to WiredTiger 1.2.2 2012-06-20 15:24:16 -04:00
Steve Vinoski
d766ca1790 update to WiredTiger 1.2.1 2012-06-15 08:54:13 -04:00
Gregory Burd
efc0b3e82c Make sure wterl is started 2012-06-07 13:20:28 +01:00
Gregory Burd
57a70dc331 Merge branch 'master' of github.com:basho/wterl
Conflicts:
	c_src/build_deps.sh
2012-06-04 09:18:15 +01:00
Gregory Burd
d14e171f4b WIP: Update to WiredTiger 1.2.0 release 2012-06-04 09:16:35 +01:00
Steve Vinoski
3e676f82ad update to WiredTiger 1.1.5 2012-04-26 10:16:52 -04:00
Steve Vinoski
36d6c3bbad fix tests to use temp_riak_kv_backend module 2012-04-16 19:55:41 -04:00
Steve Vinoski
7ca3bb4385 update to WiredTiger 1.1.4 2012-04-16 19:55:12 -04:00
Steve Vinoski
793c5c7338 allow WiredTiger config to be set in application env
WiredTiger connection options can be set in the wterl application
environment. If not set, appropriate defaults are used instead.
2012-04-09 16:50:01 -04:00
Steve Vinoski
509cc92cfc fix copyright dates 2012-04-09 16:49:26 -04:00
Steve Vinoski
cd8a563aa4 apply evict-fixes patch to wiredtiger 1.1.3 2012-04-07 09:49:00 -04:00
Steve Vinoski
145810d5b0 add wterl_ets to hold ets table for wterl_conn 2012-04-05 16:10:50 -04:00
Steve Vinoski
2e37fc1bd1 avoid using cursor-fetched values after closing cursor
The wterl:session_get function was fetching a value using a cursor, then
closing the cursor, and then trying to use the fetched value to create the
return binary. According to the WiredTiger documentation, this is a no-no
-- a value is good only until the next operation on the cursor used to
fetch it. We've been seeing occasional segmentation violations in the
memcpy for the fetched value, and this might explain it.
2012-04-04 20:13:58 -04:00
Steve Vinoski
2618ba24e7 wterl:session_create still fails, keep ignoring return value 2012-04-04 15:57:38 -04:00
Steve Vinoski
fbc6f9b440 update to WiredTiger 1.1.3
Update to WiredTiger 1.1.3 and also reinstate checking that
wterl:session_create returns ok.
2012-04-04 15:20:08 -04:00
Steve Vinoski
ca36db5709 NIF code cleanup
Use camel case for type names, make brace placement consistent.
2012-04-02 18:01:02 -04:00
Steve Vinoski
6945ab230b add QuickCheck tests for wterl
Borrow QuickCheck tests from eleveldb and adapt them for WiredTiger.
2012-04-02 16:24:46 -04:00
Steve Vinoski
1105a9fed5 no longer need to set wterl in riak_kv.app.src file 2012-03-31 19:41:07 -04:00
Steve Vinoski
29acf9df7a make riak_kv_wterl_backend start the wterl app 2012-03-30 21:01:24 -04:00
Steve Vinoski
ea3e73c0d7 update to WiredTiger 1.1.2 2012-03-28 10:20:42 -04:00
Steve Vinoski
dc3d674d62 add README 2012-03-27 22:27:50 -04:00
Steve Vinoski
2c9557e394 add helper script to enable wterl
Add a helper script to enable wterl in a riak devrel build. The script is
meant to be temporary, to be used during wterl development.
2012-03-26 20:13:13 -04:00
Steve Vinoski
ae10343179 change riak_kv_wterl_backend unit tests
Make the unit tests call riak_kv_backend:standard_test like other
backends do for their unit tests. This is a little awkward at the
moment because riak_kv_backend.erl doesn't live in this repository, so
it requires temporarily copying it into src to run "rebar eunit".
2012-03-15 19:27:36 -04:00