Gregory Burd
4745950ad5
Another TODO item.
2013-05-02 11:29:37 -04:00
Gregory Burd
98fffd199f
Updated todo list.
2013-05-02 08:41:44 -04:00
Gregory Burd
786142ce73
Add a bit of statistics tracking for two reasons, a) to help inform
...
where a request should be enqueded and b) to track request latency.
2013-05-01 22:02:37 -04:00
Gregory Burd
ae64a5e26f
Move async nif struct definition back to where it belongs.
2013-05-01 22:02:21 -04:00
Gregory Burd
d1d648af1e
Now matches against proper library name and prevents rebuilding when unnecessary.
2013-05-01 22:00:43 -04:00
Gregory Burd
7c9c3b78db
Remove this vestige of bzip2 support.
2013-05-01 21:59:54 -04:00
Gregory Burd
12fd9134fa
Add a few placeholders for missing functions.
2013-05-01 21:59:12 -04:00
Gregory Burd
0bde789af5
Tune the LSM a bit based on testing, increase the chunk size and add more merge
...
worker threads into the mix.
2013-05-01 07:06:13 -04:00
Gregory Burd
d93f0bc162
A more friendly approach to make clean in c_src.
2013-04-26 18:57:17 -04:00
Gregory Burd
bfc180eeb3
Merge branch 'master' of github.com:basho-labs/wterl
...
Conflicts:
c_src/wiredtiger-build.patch
2013-04-26 10:37:06 -04:00
Gregory Burd
f1cb6f8c61
Remove support for bzip2. Change build_deps.sh to only remove the
...
build files from wiredtiger when cleaning rather than all the files.
2013-04-26 10:34:57 -04:00
Gregory Burd
eafee02865
Only start 2 * num_queues worker threads initially. num_queues is generally
...
equal to the number of cores reported by Erlang (info.scheduler_threads) which
is either determined automatically by the Erlang BEAM runtime or via the +S
flag. The minimum num_queues is 2, so the minimum number of workers is 4. The
maximum number of workers is ASYNC_NIF_MAX_WORKER_QUEUE_SIZE (currently set to
128), but that would only happen if there were 64 cores (or you set +S 64:64 at
startup).
2013-04-26 10:15:15 -04:00
Gregory Burd
c410312c40
Switch to the develop branch.
2013-04-26 10:07:10 -04:00
Gregory Burd
3a51afcc20
Copy paste error in patch file prevented proper build arguments for bzip2.
2013-04-25 16:36:17 -04:00
Gregory Burd
422dcfda89
Return 'eagain' when request queue is full and then try the request again.
...
In the worst case is the request queue remains full and we loop between
the NIF and Erlang forever trying over and over to enqueue the request. If
that happens we shouldn't take schedulers offline as the NIF calls are fast
and we shouldn't run out of memory as that is bounded. CPU will show a lot
of activity, but progress will continue in Erlang.
2013-04-25 15:18:23 -04:00
Gregory Burd
f043a99ccb
Merge pull request #8 from basho-labs/gsb-recycle-reqs
...
Reuse req and ErlNifEnv rather than re-alloc/use/free them for every request.
2013-04-25 10:26:16 -07:00
Gregory Burd
6b393ac47c
Keep allocated req and ErlNifEnv around for reuse rather than re-alloc'ing them on each request should save us some overhead on the hot path.
2013-04-25 11:30:11 -04:00
Gregory Burd
35e36d1cae
Whitespace
2013-04-24 14:28:24 -04:00
Gregory Burd
4076a1923c
Driver and config for basho_bench testing.
2013-04-24 14:27:56 -04:00
Gregory Burd
54c5158490
Merge pull request #7 from basho-labs/gsb-event-handlers
...
Deliver WiredTiger event notifications (messages, errors, progress) into Erlang for logging
2013-04-23 12:02:22 -07:00
Gregory Burd
46243ff54a
Remove debug compiler flags.
2013-04-23 15:00:44 -04:00
Gregory Burd
35de23c0f3
Include the gen_server module that will log events using lager.
2013-04-23 08:22:48 -04:00
Gregory Burd
6f58faaba2
Turn on some of the verbose options, but leave most off.
2013-04-22 20:55:45 -04:00
Gregory Burd
88416d1991
Merge pull request #6 from basho-labs/gsb-async-nifs3
...
Execute NIF calls on non-scheduler threads asynchronously
2013-04-22 17:54:56 -07:00
Gregory Burd
fc59ae3f90
WIP: Finished transitioning to a gen_server and a few other tasks. This works
...
except that when trying to enif_send a bunch of messages eventually one causes
a segv just after reporting: size_object: bad tag for 0x80
2013-04-22 17:45:48 -04:00
Gregory Burd
652771003e
WIP: a good start, I need to switch over wterl_event_handler to be a
...
gen_server and I need to add a way to set the pid of the message handler
process to the NIF API.
2013-04-22 09:52:21 -04:00
Gregory Burd
3398540831
Have Erlang and C compilers be a bit more picky.
2013-04-21 11:16:04 -04:00
Gregory Burd
ac59cd69dd
Check return from kn_init. WiredTiger truncate doesn't require you to position cursors for the range to be truncated.
2013-04-21 11:14:48 -04:00
Gregory Burd
fae6831580
Ensure that the env is clear when signaling shutdown.
2013-04-21 11:11:17 -04:00
Gregory Burd
a282ad2f1d
Improve, extend some targets.
2013-04-21 11:10:06 -04:00
Gregory Burd
6c74c825e4
Avoid calling a process that may have already exited.
2013-04-20 13:30:09 -04:00
Gregory Burd
48141346f0
Remove redundant wt from filenames.
2013-04-20 12:49:14 -04:00
Gregory Burd
a1459ce607
It's statistics:<your table name here> not table:statistics (oops).
2013-04-20 12:33:36 -04:00
Gregory Burd
b69f35364b
Use the less onerous version of statistics.
2013-04-20 12:27:42 -04:00
Gregory Burd
7380bd3bd7
Open the statistics table, not the actual table.
2013-04-20 12:08:55 -04:00
Gregory Burd
bfe56136d8
* Be sure to release the reqs mutext on shutdown.
2013-04-20 08:28:38 -04:00
Gregory Burd
554aba4331
Truncate table isn't used by the WiredTiger Riak/KV backend API and it is
...
currently failing. Comment out of the tests, for now.
2013-04-20 08:20:45 -04:00
Gregory Burd
3310129918
* Check to make sure that all ASYNC_NIF_REPLY() calls are at the end of their
...
blocks, just before return and after releasing any local resources or locks.
* Check the return value of when setting up cursor caches so as not to miss an
ENOMEM or other error.
*Cleanup and free resources when closing a connection handle.
* Add a few missing mutex unlock calls on error paths.
* Ensure all resources are free'd/released/closed during truncate error paths.
* Free up alloc'ed copies of keys, cursor handles and sessions on unload.
2013-04-20 07:38:11 -04:00
Gregory Burd
01a79a08c0
Add a comment and remove an mutext unlock on error because this function is not
...
where the lock is acquired.
2013-04-20 06:13:41 -04:00
Gregory Burd
be95229af9
On error when fetching stats, ignore and return whatever you have so far.
2013-04-19 16:44:51 -04:00
Gregory Burd
17cfdcd04f
Fix default tuple.
2013-04-19 16:07:18 -04:00
Gregory Burd
e9145c344c
Ignore eperm on status cursors and empty cursors (for now).
2013-04-19 15:46:58 -04:00
Gregory Burd
5d3cb9997a
For now we ignore eperm and ebusy error returns on fold and drop.
2013-04-19 15:09:29 -04:00
Gregory Burd
b936b99531
Minor fix.
2013-04-19 15:00:57 -04:00
Gregory Burd
d505f7f9c8
Whitespace. Call wterl:drop not truncate for drop calls and set force
...
to true when calling so that we ignore ENOENT. Change the session estimate
down a bit.
2013-04-19 14:55:32 -04:00
Gregory Burd
40bdda15bb
Create links for bzip2 shared libraries.
2013-04-19 12:33:20 -04:00
Gregory Burd
7b1dcb507d
Need to copy shared library links for bzip2 as well (duh).
2013-04-19 11:14:03 -04:00
Gregory Burd
203fa1a54d
Merge branch 'gsb-async-nifs3' of github.com:basho-labs/wterl into gsb-async-nifs3
2013-04-19 11:06:25 -04:00
Gregory Burd
01a8926160
Shared libs and files linking to them must be copied into our priv
...
dir so that at runtime we can find the correct files.
2013-04-19 11:03:40 -04:00
Gregory Burd
8d8ceecc8b
enif_get_string can return < 1 when it copies less than the buffer size
...
you pass into it, that'd result in a non-zero (aka true) test when in fact
it's a problem if the argument isn't passed completely (however unlikely
that is).
enif_alloc_env() requires that later you enif_free_env() which I wasn't doing,
this seems to keep memory steady in test runs.
2013-04-19 09:11:41 -04:00