Jon Meredith
86f39286b1
Added extra debug/paranoia on bdberl_drv_stop/bdberl_drv_finish while
...
looking for the coredump on port close discovered on the local storage ops
inside coordinator branch.
2009-06-23 15:02:33 -05:00
Jon Meredith
92b7c3a6ef
Refactored environment variable checks. All go through common functions
...
that validate conversion to unsigned int and prints an error message
on stderr if not used (would prefer to use SASL but it's as good as it
gets during driver setup).
2009-06-23 15:02:33 -05:00
Jon Meredith
13240670c3
Added bdberl:driver_info() function to get driver parameters.
2009-06-23 15:02:32 -05:00
Jon Meredith
1cc42dae71
Forgot to rename DBGCMDX for non-debug build.
2009-06-23 15:02:32 -05:00
Jon Meredith
a3ae101dfb
Cleaned up debugging code.
2009-06-23 15:02:32 -05:00
Jon Meredith
1e3b89e24e
Broke stats code out into bdberl_stats.h module.
...
Had to rename some functions that became non-static.
Added some accessors to module static variables as needed.
2009-06-23 15:02:32 -05:00
Jon Meredith
6fe6651757
Added more comprehensive debug output if built with debug=1.
...
Made deadlock checker interval configurable.
2009-06-23 15:02:32 -05:00
Jon Meredith
19addac0fe
Made size of thread pools configurable from environment variables
...
BDBERL_NUM_GENERAL_THREADS and BDBERL_NUM_TXN_THREADS.
2009-06-23 15:02:32 -05:00
Jon Meredith
497b9ca70f
Forgot to remove a couple of unnecessary work_buffer copies.
2009-06-23 15:02:32 -05:00
Jon Meredith
56c1617f8e
Converted truncate to use async_dbref.
2009-06-23 15:02:32 -05:00
Jon Meredith
def6d9376a
Changed stats functions to use async_dbref/async_flags to pass parameters
...
to async functions rather than work buffer.
2009-06-23 15:02:32 -05:00
Jon Meredith
dc867e363b
Incorporated Diz's crc generation/checking patch to bdberl.erl.
...
Added crc checking before/after BDB accesses in C driver.
Changed get to use malloc DBTs rather than the user supplied buffer
previously.
2009-06-23 15:02:31 -05:00
Jon Meredith
30c7ad75ac
Replaced calls to getenv with erl_drv_getenv/G_DB_ENV->get_home. The erlang
...
docs say not to use getenv in erlang drivers as they are not thread safe.
The places we were using them were very unlikley to have issues, but you never
know.
2009-06-02 13:14:47 -06:00
Dave Smith
ebd06de3da
Merge branch 'master' of git.rascal:/var/git/commons/bdberl
...
Conflicts:
c_src/bdberl_drv.c
c_src/buildlib.sh
src/bdberl.erl
2009-06-02 10:06:36 -06:00
Jon Meredith
40393a8e62
Cleaned up driver finish function to make sure resources had been
...
allocated before they were freed.
2009-06-01 12:14:26 -06:00
Jon Meredith
1409096860
Renamed get_lg_dir() to get_lg_dir_info and added get_data_dirs_info().
...
Both new calls return the filesystem id and the number of mbytes available
on that filesystem.
2009-05-29 12:13:19 -06:00
Jon Meredith
2c6277bdf4
Added unknown db type for opening existing databases.
2009-05-29 07:42:18 -06:00
Jon Meredith
553ed4eda1
Enhanced error reporting to return atoms for libc errno, common bdb errors and bdberl errors.
2009-05-29 07:26:59 -06:00
Jon Meredith
c74beeba9f
Added transaction stats.
2009-05-28 12:05:52 -06:00
Jon Meredith
e4757031a2
Added mutex stats.
2009-05-27 16:49:18 -06:00
Jon Meredith
e80dc97d6d
Added memory pool statistics.
2009-05-27 16:31:26 -06:00
Jon Meredith
62d4522580
Added log stats
2009-05-27 15:25:50 -06:00
Jon Meredith
70dd9ee11a
Added lock_stat/1 and lock_stat_print/1 functions to get lock stats.
2009-05-27 15:02:58 -06:00
Jon Meredith
05c1754e7f
Added stat/2 and stat_print/1, stat_print/2 functions for retrieving/displaying stats about the BDB subsystem.
2009-05-27 14:03:11 -06:00
Dave Smith
66e1b409ec
Make txn begin async relative to VM
2009-05-27 11:21:35 -06:00
Dave Smith
e3e0b99494
Adding support for BDBERL_SYSTEM_MEM which sets DB_SYSTEM_MEM flag on environment open; add support for changing default page size via BDBERL_PAGE_SIZE. Must be a power of 2.
2009-05-04 13:39:35 -06:00
Dave Smith
42abfa33e7
Another stupid printf removed.
2009-04-24 09:33:44 -06:00
Dave Smith
41f7213235
Rework trickle/checkpoint to use same thread and avoid tromping on each other; add SNMP reporting to the logger
2009-04-24 09:33:01 -06:00
Dave Smith
83d278b0dd
Remove sloppy printf (my own stupid fault)
2009-04-23 10:21:03 -06:00
Dave Smith
22f33e0b0d
Adding support for registering a logger port/pid to capture BDB messages
2009-04-16 07:08:22 -06:00
Dave Smith
3c84d5dd44
Add configuration flags for trickle time/percentage
2009-03-02 13:33:03 -07:00
Phillip Toland
ab1e627089
Rename tune_system to get_info and remove set calls.
2009-02-16 16:57:48 -06:00
Jon Meredith
552f2ac89a
Made sure all erlang binary signed/unsigned integers match up with C data types
...
through the control function.
2009-02-12 13:20:14 -07:00
Jon Meredith
d3dba23aed
Moved zero-ing of async_pool/job inside mutex to avoid risk of race
...
in bdberl_drv_stop.
2009-02-12 11:19:51 -07:00
Jon Meredith
62e8fa569c
Changed driver shutdown to clear util thread active flags before signalling them.
...
Added debug messages on util thread error.
2009-02-11 11:58:39 -07:00
Jon Meredith
09081f000b
Changed the utility thread sleep function to use a custom sleep based on pipe/select
...
so they can be terminated quickly when the driver shuts down.
2009-02-11 11:22:44 -07:00
Jon Meredith
5ccd73c2ea
Added some pedantic defaults to make super-duper-extra-special sure things are as we expect.
2009-02-10 15:24:04 -07:00
Jon Meredith
153d4615cd
Merge branch 'master' of ecommons@wax.hive:bdberl
2009-02-10 13:11:35 -07:00
Jon Meredith
f6e84539d4
Added return value check to db_env_create.
...
Fixed uninitizialized variable error with fn pointer.
2009-02-10 08:59:16 -07:00
Jon Meredith
d833ca708c
Changed bdberl_tpool_run to set a pointer to the job structure
...
rather than return it. There was an issue where the async thread cleanup
code finished before bdberl_tpool_run returned and wrote the address
of a freed TPoolJob structure into the ErlDrvPort.
2009-02-09 15:01:25 -07:00
Phillip Toland
f1342dc2bd
Added variant of truncate that truncates all open databases.
2009-02-03 10:57:50 -06:00
Phillip Toland
1c11f81416
Refactored to eliminate some code duplication.
2009-02-03 09:37:08 -06:00
Phillip Toland
ed24fd72e4
Removed some unnecessary debugging statements.
2009-02-03 09:14:11 -06:00
Phillip Toland
1d7f86ed74
Added \r to the end of debug output so that things line up in the Erlang console properly.
2009-02-03 09:13:48 -06:00
Phillip Toland
df6222a51c
Added truncate command.
2009-02-02 15:51:47 -06:00
Phillip Toland
4ba6a03aec
Change the way timing is handled for the checkpointer
...
to avoid problems on shutdown.
2009-01-30 12:42:58 -06:00
Phillip Toland
6bbb503da1
Remove old log files after a checkpoint.
2009-01-29 11:54:33 -06:00
Phillip Toland
75afb8502a
Add background checkpoint thread.
2009-01-29 11:27:37 -06:00
Dave Smith
45606ddf56
Change binhelper to avoid stupid user errors; now grows the buffer on demand for the specific # of bytes; fix bugs in get_data_dirs/0 (driver and erlang caller)
2008-12-17 14:45:39 -07:00
Dave Smith
68813d0a53
Adding support for list database directories and txn'lly deleting databases
2008-12-17 13:07:36 -07:00