Commit Graph

83 Commits

Author SHA1 Message Date
Howard Chu
2048c05a82 Added CACHE_ENTRY_NO_KIDS flag to bei_state to shortcut dn2id_children. 2003-04-17 00:52:31 +00:00
Howard Chu
377bccbc6c Hierarchical cache management. 2003-04-16 16:23:36 +00:00
Jong Hyuk Choi
420210a2a3 IDL cache locking change (mutex -> rwlock) 2003-04-08 06:57:07 +00:00
Howard Chu
c0ee56c306 Define MINIMUM_SEARCH_STACK_DEPTH=8, search_aliases needs at least this. 2003-04-05 10:05:27 +00:00
Howard Chu
48a9cf3416 Added code for BDB_ALIASES. Please test. 2003-04-05 06:35:16 +00:00
Howard Chu
e8c58b4e7f Major API change - (SLAP_OP_BLOCKS) All request parameters are
consolidated into the Operation structure. All reply parameters
are consolidated into the new SlapReply structure. Most operations
now have identical call signatures... Changes are not #ifdef'd,
revert to -r NO_SLAP_OP_BLOCKS if necessary to back out.
2003-03-30 09:03:54 +00:00
Howard Chu
0be6cb5a67 Deleted bi_database_mutex, use DB_LOCK instead. Changed bdb_locker_id to
lookup the threadctx if no Op * is provided. (bdb_db_cache doesn't know
its thread context when it acquires a locker ID.)
2003-03-29 05:15:48 +00:00
Howard Chu
51e10cf23c Save DB_LOCK structure so it can be released later. 2003-03-26 13:33:51 +00:00
Howard Chu
79f3ea6e80 BDB_HIER was defined by accident, undef
Fix up for SLAP_NVALUES_ON_DISK
2003-03-23 15:27:43 +00:00
Howard Chu
a0c58e5f40 Don't use DB_AUTO_COMMIT when opening a database 2003-03-18 00:04:16 +00:00
Howard Chu
44be38c0f0 ITS#2371, fix BDB_SUBDIRs 2003-03-13 15:53:19 +00:00
Howard Chu
18554e7511 Fix attribute/group to allow TXN to abort on lock failure. Save and
restore op->o_do_not_cache on TXN retry, bdb_group will set it if it
fails to get a lock.
2003-02-26 12:09:10 +00:00
Jong Hyuk Choi
55cf8bbd88 use of pre-assigned locker in bdb_group() / bdb_attribute() 2003-02-07 15:47:32 +00:00
Jong Hyuk Choi
85b1783d5c LDAP Sync Operation (draft-zeilenga-ldup-sync) as a groundwork for an LDAP replication design 2003-02-05 07:37:02 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Howard Chu
349e05ff4d Added config keyword "searchstack" for setting search stack cache depth.
Default is still 16.

Added IDL caching, modified from ITS#2182. Uses "idlcachesize" config
keyword. Code is #ifdef'd, currently defined, with default cache of 0.
2002-12-10 20:33:49 +00:00
Howard Chu
d4a422329b From ITS#2183, use a long-lived IDL stack per thread. 2002-12-10 17:59:21 +00:00
Kurt Zeilenga
4e223d588b Reorder header inclusion to resolve ITS#2204. 2002-11-26 20:22:24 +00:00
Jong Hyuk Choi
8074294f1d LCUP persistent search code drop 2002-10-25 17:51:30 +00:00
Howard Chu
104f8cc409 Simpler fix for NO_THREADS 2002-09-19 06:34:53 +00:00
Howard Chu
ff9e580d33 Updated BDB_HIER for current API 2002-09-19 06:08:12 +00:00
Howard Chu
919274432b Fixes for NO_THREADS
Use a per-env locker ID
	Always set lock_detect, since we allow slapadd etc. concurrently
Also removed unused lock_detect_task code. lockdetect config keyword only
needs <policy>, no <seconds> argument.
2002-09-19 01:13:27 +00:00
Howard Chu
35e8b8325d Unifdef BDB_IDL_MULTI. 2002-09-10 04:20:45 +00:00
Howard Chu
5ff509f2d3 Fix previous commit, BDB_REUSE_LOCKERS was inside a BDB version #ifdef
but is not version-dependent.
2002-08-25 11:06:35 +00:00
Howard Chu
d6449b1d57 Experimental code that uses one locker ID per thread. Seems to work OK,
is enabled by default. #undef BDB_REUSE_LOCKERS in back-bdb.h to disable.
Probably needs to be disabled when built with NO_THREADS.
2002-08-24 08:11:08 +00:00
Howard Chu
3b9f4a82ee Added support for BDB 4.1.17 2002-08-22 04:00:06 +00:00
Jong Hyuk Choi
7341dc5db6 redesign of back-bdb locking :
cache entry is locked by Berkeley DB lock primitives.
2002-05-31 20:49:19 +00:00
Jong Hyuk Choi
60b1ee1ba9 Patch for ITS# 1643 2002-04-19 21:41:32 +00:00
Jong Hyuk Choi
efa7b93b23 concurrent cache access: separation of cache lock (reader/writer) and lru lock (mutex) 2002-04-15 16:40:04 +00:00
Kurt Zeilenga
6b29def1c8 switch to openldap-data directory 2002-02-02 06:26:06 +00:00
Kurt Zeilenga
1bf1621efe Add cache txn_prepare code based upon submission (ITS#1575) by
Jong Hyuk Choi <jongchoi@us.ibm.com>.  Needs a bit more work
(GID should be globally unique).
2002-02-02 03:28:32 +00:00
Kurt Zeilenga
b57c11f4bd BDB_ALIASES and BDB_SUBENTRIES cleanup 2002-01-29 04:53:47 +00:00
Kurt Zeilenga
98a2c60c3a Delete CDB (no transactions) support 2002-01-28 22:57:50 +00:00
Kurt Zeilenga
14662be692 Add whoami extended operation.
Add no-op control (needs backend implementation)
Updated modify password extended option API
Kludged control infrastructure to support frontend only controls
2002-01-28 20:25:30 +00:00
Howard Chu
713e6beb8d Entry caching. Based on ITS#1545 from Jong Hyuk Choi, jongchoi@us.ibm.com 2002-01-25 07:19:01 +00:00
Howard Chu
6d58126c34 Added compatibility macros for BDB3/4 lock_get, txn_id. 2002-01-18 13:27:25 +00:00
Howard Chu
8b969479f4 Turn on BDB_IDL_MULTI by default 2002-01-13 22:26:29 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Howard Chu
dd59babf43 More cleanup 2001-12-29 10:25:19 +00:00
Howard Chu
efe8ac1bf9 Revert previous commit. Checked in by mistake. 2001-12-10 12:25:24 +00:00
Howard Chu
ef0b308bea Changed backglue configuration. Added noSubordinates arg to select_backend
to deal with glued subordinates.
2001-12-10 12:09:40 +00:00
Howard Chu
2721df21d4 Changed be_nsuffix from char ** to struct berval **, removed nsufflen 2001-12-08 05:17:31 +00:00
Howard Chu
505a8693e6 Some fixes for BDB_IDL_MULTI. Experimental back-hdb code. 2001-12-07 12:38:25 +00:00
Howard Chu
1d9818a8da Re-introduce BDB_ID2ENTRY_PAGESIZE. Even if the index databases can get
by on 4K pages, the id2entry database still needs more (16K).
2001-12-07 07:07:55 +00:00
Howard Chu
66266f9c25 Bare minimum changes to support BDB 4.0 2001-12-07 05:05:00 +00:00
Howard Chu
a19a5d8c15 When using BDB_IDL_MULTI, there are no longer any issues with storing
large IDLs. Concurrency is improved by using as small a page size as
possible. So, set the pagesize back to the default 4096 in this case.
2001-12-07 01:40:08 +00:00
Howard Chu
859e283834 Experimental index management. Uncomment BDB_IDL_MULTI in back-bdb.h
to activate. Needs to check limits in bdb_idl_insert_key, will get to
that later.
2001-12-06 13:20:18 +00:00
Howard Chu
295e14bd54 Renamed BDB_ID2ENTRY_PAGESIZE to just BDB_PAGESIZE; set it on each database
instead of just the id2entry db. It helps. I also found that tweaking the
environment (set_lg_bsize 2MB; set_cachesize 2MB) helps but those can be
taken care of in a DB_CONFIG file. Tweaked the bdb_bt_compare function; it
really only needs to be set on little-endian machines. (On big-endian machines
a lexical sort gives the same result as an integer sort.) Moved the final
checkpoint back to the dbenv_close, I think this leaves a cleaner log file.
2001-11-28 20:48:06 +00:00
Howard Chu
24d1ab848c Added experimental support for DB_DIRTY_READ. 2001-11-28 03:11:04 +00:00
Howard Chu
5c7a7998a9 Set the id2entry database pagesize to BDB_ID2ENTRY_PAGESIZE to avoid
overflow/fragmentation. (This is now 16K vs default 4K.) It turns out
that the entries' on-disk format is quite space-inefficient, storing
4 bytes per pointer or integer when typically >50% of those bytes are
zero. Oh well. It's about a 2:1 space increase over ldbm now, vs 4:1
before when all the entries were overflowing the 4K pages.
2001-11-27 12:36:52 +00:00