Commit graph

221 commits

Author SHA1 Message Date
Howard Chu
70512edd5a ITS#4572 don't unlock non-existent locks 2006-06-01 02:03:10 +00:00
Howard Chu
c76eb501ab Revert cache-purge task, go back to purging inline 2006-04-05 07:17:11 +00:00
Howard Chu
c002351982 cleanup 2006-03-31 22:24:39 +00:00
Howard Chu
9eca89acc8 Improve prev commit 2006-02-09 07:02:40 +00:00
Howard Chu
6344d36df0 Same as ITS#4385, must wake listener after submitting job to runqueue 2006-02-09 06:53:49 +00:00
Pierangelo Masarati
697df7cc06 silence warning 2006-01-07 11:06:32 +00:00
Howard Chu
a614a1c16e Cleanup task declarations 2006-01-06 04:06:18 +00:00
Howard Chu
e82ce6444c ITS#4308 fix cache flush task interval 2006-01-06 03:51:56 +00:00
Kurt Zeilenga
acbb5cf689 Happy new year! 2006-01-03 23:11:52 +00:00
Pierangelo Masarati
9c7aca5b47 fix indentation 2006-01-02 08:18:29 +00:00
Howard Chu
553b2884ab cache LRU concurrency improvements, reorder DB accesses for consistency 2005-12-09 00:20:18 +00:00
Howard Chu
3e062a3f35 ITS#4254 fix lock ordering 2005-12-08 23:45:47 +00:00
Pierangelo Masarati
af23be3675 silence warnings... 2005-11-14 21:47:17 +00:00
Pierangelo Masarati
474dfbc8fd don't trust strchr/strrchr with bervals 2005-11-13 22:26:53 +00:00
Howard Chu
a14fd7cc3b Cleanup unused def 2005-10-18 21:36:06 +00:00
Howard Chu
ed5e8db572 Eliminate long-lived read transaction, we can just set a cursor's locker
ID explicitly to our long-lived locker. Should have thought of this before...
2005-10-18 21:35:07 +00:00
Howard Chu
8f7da062f5 ITS#4088 force cursors to use same locker 2005-10-18 20:52:04 +00:00
Howard Chu
c44210a8bf ITS#4088 proposed fix 2005-10-16 07:37:36 +00:00
Howard Chu
9944c9c461 ITS#4015 silence pointer/integer size warnings 2005-09-08 23:47:19 +00:00
Howard Chu
aa897eae90 ITS#4010 fixes complaint, larger problem remains 2005-09-08 15:28:36 +00:00
Hallvard Furuseth
3226cdf2a3 bdb_locker_id, bdb_locker_id_free: BerkeleyDB lock ids are u_int32_t, not int. 2005-07-27 12:19:16 +00:00
Hallvard Furuseth
81ecb0b153 assert expects int. (int)<nonnull ptr/long> can be 0. Use assert(arg!=0/NULL). 2005-07-18 06:22:33 +00:00
Hallvard Furuseth
d6cc947561 Silence "unused <something>" warnings 2005-07-14 19:52:08 +00:00
Howard Chu
fbbfac6771 ITS#3857 fix bottom-up modrdn cascades, use a global modrdn counter. 2005-07-12 13:17:56 +00:00
Howard Chu
c49ba400db Cleanup db_close vs db_destroy steps 2005-04-22 18:07:02 +00:00
Howard Chu
90d9791047 ITS#3616 use fake context entry if suffix is empty. 2005-04-09 10:01:13 +00:00
Pierangelo Masarati
ae3f784d5b fix database operations in tool mode (ITS#3622) 2005-04-01 12:20:02 +00:00
Howard Chu
1476ad80a6 Tweak log msg in prev commit 2005-03-20 20:55:49 +00:00
Howard Chu
e2a4978d82 Runtime detection of BDB read-only transaction patch 2005-03-20 20:54:44 +00:00
Howard Chu
df3d8f3e30 Cleanup unused variables 2005-02-20 04:59:29 +00:00
Howard Chu
eb7deb9eba ITS#3494 fix deadlock 2005-01-19 19:18:28 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +00:00
Jong Hyuk Choi
273052b573 adaptive caching implementation 2004-12-14 17:22:22 +00:00
Howard Chu
9dd58533ca Better cache counting, partially revert 1.85 2004-11-08 07:18:33 +00:00
Howard Chu
504d7ea261 Assist in cache debugging 2004-11-08 04:23:37 +00:00
Howard Chu
14b0d4fdad Fix hdb cache kid counts 2004-10-31 22:07:15 +00:00
Howard Chu
7087ffa2ca ITS#3356 - when purging cache, free entryInfo if node has no children 2004-10-31 13:04:27 +00:00
Howard Chu
e7ec96fc6d ITS#3358 - make bdb_cache_lru_add skip entries that are being deleted 2004-10-27 14:01:12 +00:00
Howard Chu
ca0bf91bba BDB 4.3 compatibility, if the reader TXN is deadlocked we must abort
and recreate it.
2004-10-16 13:07:01 +00:00
Pierangelo Masarati
559cf8bfb1 revert previous commit 2004-10-08 00:27:26 +00:00
Howard Chu
7e87f54716 Revert ITS#3353 patch, it needs to be reworked. 2004-10-06 05:51:38 +00:00
Pierangelo Masarati
0c1f1f959f minor cleanup 2004-10-04 20:55:09 +00:00
Kurt Zeilenga
d611a4b49a unifdef -UNEW_LOGGING 2004-09-04 04:54:28 +00:00
Howard Chu
856a8c1177 Don't bother logging lock failures for tryOnly mode 2004-07-12 20:02:24 +00:00
Howard Chu
214d3b26c1 Fix for non-thread run 2004-07-12 04:05:26 +00:00
Howard Chu
2d4f58bbf6 Make sure DB result codes are returned to caller; add missing retries to
callers of bdb_cache_find_id().
2004-07-10 19:06:20 +00:00
Howard Chu
22f895a4bb Minor cleanup 2004-07-10 04:48:07 +00:00
Howard Chu
ebc8bb0d83 Use long-lived per-thread TXNs for loading entries from DB.
Make sure only one thread tries to load a given entry at a time.
Bump up the DB environment's max TXNs to accomodate the new TXNs.
2004-07-09 17:00:07 +00:00
Howard Chu
6b59008f26 Plug mem leaks 2004-07-05 21:00:09 +00:00
Howard Chu
56103a575b Fix misplaced unlock in prev commit 2004-07-03 21:06:34 +00:00
Howard Chu
473b8cb7db Re-order EntryInfo/DB locks to fix deadlocks 2004-07-03 20:03:14 +00:00
Howard Chu
42e0814247 Fix prev commit 2004-07-03 16:17:54 +00:00
Howard Chu
f696f7ab55 Fix: LRU corruption, HDB rename detection, Ctxcsn assert failure 2004-07-03 15:47:44 +00:00
Howard Chu
826b177877 More locking cleanup (ITS#3201, etc) 2004-06-25 05:29:33 +00:00
Howard Chu
f7f6861a26 ITS#3201 fix conflict with BDB internal locks 2004-06-24 23:35:18 +00:00
Howard Chu
c63817b9bd ITS#3201 partial fix. still encountering deadlocks. 2004-06-24 17:56:43 +00:00
Howard Chu
06f3bfb7f9 More for ITS#3188 2004-06-16 03:29:02 +00:00
Kurt Zeilenga
7537d3d843 Partial fix for ITS#3188.
As Howard noted, additional fixes may be needed in other update routines.
2004-06-15 21:13:40 +00:00
Howard Chu
7c7754b956 Better fix for ITS#3063, #3186 2004-06-12 07:39:24 +00:00
Pierangelo Masarati
d40e5a365a fix DN_SEPARATOR() and clarify its use 2004-05-07 09:03:05 +00:00
Pierangelo Masarati
80449c42d9 fix escaped semicolon bug in back-bdb 2004-05-07 02:09:06 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Kurt Zeilenga
d3168d0011 cleanup 2003-12-31 04:26:17 +00:00
Kurt Zeilenga
45a0cbdfcd cleanup 2003-12-31 01:41:16 +00:00
Kurt Zeilenga
9d811eb1fa Notices 2003-11-28 21:08:20 +00:00
Howard Chu
2bfb0bdeb8 Fix spurious lock messages from slapcat 2003-11-25 10:31:10 +00:00
Howard Chu
56498a59dd ITS#2780, redundant cache add 2003-10-19 09:55:31 +00:00
Howard Chu
040a9cf64c Fix HDB's use of IDL cache 2003-10-03 02:19:09 +00:00
Howard Chu
dcbca288a9 ITS#2745 reset bei_state when reusing an EntryInfo 2003-09-29 22:01:03 +00:00
Howard Chu
121c73d838 Add EntryInfo free list 2003-09-27 04:58:36 +00:00
Jong Hyuk Choi
eee84463c0 do not cache internal search results for present entry priming 2003-09-25 07:49:50 +00:00
Howard Chu
5fb7ea2294 Cleanup prev commit 2003-09-22 10:11:10 +00:00
Howard Chu
0342904699 back-hdb caching updates, use EntryInfo cache for hdb_dn2idl. 2003-09-22 08:37:32 +00:00
Howard Chu
365a3bac3f Tweak entry caching: only maintain LRU list on cached entries, not
on arbitrary EntryInfo.
2003-09-21 23:08:44 +00:00
Howard Chu
aee837c999 More deadlock tweaks. 2003-09-14 10:27:59 +00:00
Jong Hyuk Choi
090ac0a772 unifdef LDAP_SYNC and LDAP_SYNCREPL 2003-08-27 22:16:04 +00:00
Jong Hyuk Choi
660617ae66 Context CSN patch (1)
- currenty works for refreshOnly mode of LDAP Sync
- Context CSN for add / modify is implemented
- code for delete / modrdn / refreshAndPersist will be soon committed
2003-08-23 02:51:33 +00:00
Howard Chu
9004df89d7 ITS#2593 keep entryinfo locked during delete 2003-06-12 22:47:13 +00:00
Howard Chu
c3039b66fe Another BDB_HIER redundant modification 2003-06-12 11:17:35 +00:00
Howard Chu
8defa92746 ITS#2593? get entry lock sooner... 2003-06-12 11:11:37 +00:00
Jong Hyuk Choi
33b8042bc0 cleanup 2003-06-11 19:35:31 +00:00
Jong Hyuk Choi
3f8bb27a83 a fix for back-bdb entry cache 2003-06-11 17:01:54 +00:00
Howard Chu
782b481a9a ITS#2580 - avoid cache deadlock 2003-06-09 22:00:00 +00:00
Howard Chu
4a3748b6cf Restructured to avoid direct use of sl_malloc functions. Minimizes impact
of #ifdef USE_SL_MALLOC...
2003-05-25 00:53:08 +00:00
Howard Chu
c40115c12e Don't use single malloc for BDB_HIER e->e_name + e->e_nname 2003-05-24 01:54:03 +00:00
Howard Chu
61eec0734a Fix double-free'd rdn bug 2003-05-24 00:46:52 +00:00
Howard Chu
2bb9a15d57 ITS#2541 added bdb_cache_delete_cleanup() to defer cache delete. 2003-05-23 02:04:03 +00:00
Howard Chu
f3e0a28f18 Don't avl_insert NULL kids 2003-05-23 01:12:50 +00:00
Howard Chu
fe1bcdeb28 ITS#2540 not sure, difficult to reproduce crash... 2003-05-22 23:48:02 +00:00
Howard Chu
399572ba50 For ITS#2502 - force release of locks on exiting threads 2003-05-09 22:30:28 +00:00
Hallvard Furuseth
51da53b4b0 Print long with %ld, not %d. 2003-04-29 14:55:36 +00:00
Howard Chu
184f647b25 Change RDN compare funcs, we don't need lexical ordering 2003-04-23 10:26:06 +00:00
Howard Chu
02217c9183 Subtree rename support for the cache 2003-04-23 08:46:23 +00:00
Howard Chu
6f461690c1 Function renaming, make internal funcs static, etc. 2003-04-23 06:34:55 +00:00
Howard Chu
1745c2478d Missed a bei_rdn in prev commit 2003-04-22 20:35:29 +00:00
Howard Chu
c7d3d42304 Omit bei_rdn field from EntryInfo 2003-04-22 18:59:37 +00:00
Howard Chu
68822b1e15 Trim dead BDB_HIER stuff 2003-04-22 17:06:35 +00:00
Howard Chu
f0577fcb08 Pass parent EntryInfo instead of parent DN to dn2id_add/delete.
Add bdb_cache_children, remove cache flag manipulation from dn2id_children
2003-04-22 04:06:09 +00:00
Howard Chu
d290145776 memory context tweaks 2003-04-21 18:28:38 +00:00
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
Howard Chu
130f6e1b7d Memory context tweaks for other ops 2003-04-12 10:47:11 +00:00
Howard Chu
a6a6946a67 New ldap_pvt_thread_pool_context() 2003-04-12 04:01:40 +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
f14561d59d #if out unused cache rdwr locks 2003-03-25 20:17:05 +00:00
Howard Chu
4c760dfc18 Fix? For bdb_cache_find_entry*, COMMITTED entries are usable, not just
READY entries. This change eliminates a retry bottleneck, and looks safe
to me, but please review.
2003-02-22 12:39:49 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Hallvard Furuseth
2bcb48361d Remove casts of AVL function pointers. 2002-12-14 22:25:52 +00:00
Pierangelo Masarati
498d1f043d silence warnings; fix messages 2002-11-10 20:00:44 +00:00
Howard Chu
104f8cc409 Simpler fix for NO_THREADS 2002-09-19 06:34:53 +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
5d9479a3e8 Add debug if bdb_cache_entry_db_lock fails to get a lock
to assist in diagnosing ITS#1986
2002-08-24 19:23:30 +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
Julius Enarusai
6107ba67d2 Coverted LDAP_LOG macro to use subsystem ID int values instead of string values 2002-07-11 20:33:24 +00:00
Jong Hyuk Choi
976fb2265f remove dbenv->lock_put() call from transaction-protected operations 2002-06-06 10:14:14 +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
b7f0983efa Hallvard B. Furuseth's patch for cache lock and mutex 2002-04-16 14:03:13 +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
Pierangelo Masarati
4a8ab5dbf2 Mostly based on patches provided by Hallvard B. Furuseth
ITS#1677 - cast away const warnings
ITS#1678 - unsigned char args to ctype funcs
ITS#1682 - don't redefine ldap_debug
ITS#1683 - uninitialized vars
ITS#1703 - ldo_debug initialization
ITS#1705 - unsigned testing
ITS#1706 - socklen_t args
ITS#1719 - back-tcl update (other cleanups/fixes/improvements; yet untested)
ITS#1724 - integerNormalize/integerFilter/integerIndexer bugs
ITS#1725 - libdes not required

Implement back-null (/dev/null style backend)
Cleanup some misc warnings ("%lu" format, unused/uninitialized vars,
        ambiguous operator precedence)

Kurt, please regenerate configure
2002-04-08 09:43:22 +00:00
Kurt Zeilenga
4216f19ed1 cleanup 2002-03-24 02:14:00 +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