Commit graph

3339 commits

Author SHA1 Message Date
Hallvard Furuseth
23f3657807 ITS#7115: Tighten ldap_pvt_thread_pool_unidle().
Only wait out already-started pauses, not pause reqests.
ltp_pause now says whether a pause is requested or has started.

This reduces the chance that slapd:send_ldap_ber() will start
a pause in the middle of an operation.
2012-01-24 00:47:48 +01:00
Howard Chu
a8f6deee03 Merge remote branch 'origin/mdb.master' 2012-01-21 17:32:18 -08:00
Howard Chu
953796759e Fix typo in e8e57be421 2012-01-21 17:31:23 -08:00
Howard Chu
7d13ef7e42 Merge remote branch 'origin/mdb.master' 2012-01-21 08:29:03 -08:00
Howard Chu
e8e57be421 Add valgrind support with -DUSE_VALGRIND
Track allocations and invalid accesses to freed tmp pages.
2012-01-21 08:22:59 -08:00
Howard Chu
3d6b924c25 txn_commit must abort txn before returning errors
Fix for failure when committing a txn that is a child of
some parent txn.
2012-01-21 08:20:43 -08:00
Howard Chu
1c8de1883c ITS#7121 fix page splits when newindx == 0 2012-01-21 08:18:37 -08:00
Howard Chu
b9cbcb0588 ITS#7126 fix cursor tracking code
Don't compare cursors that aren't deep enough to match the
current cursor.
2012-01-21 08:12:56 -08:00
Howard Chu
713bf092b6 Happy New Year! 2012-01-21 08:09:16 -08:00
Howard Chu
a17f8e7326 ITS#7121 fix page splits when data+key size is too large 2012-01-21 08:09:16 -08:00
Kurt Zeilenga
81afbb2fca Happy New Year! 2012-01-21 08:07:21 -08:00
Hallvard Furuseth
fa7575666f ITS#7115 Re-fix tpool.c (idle/unidle) 2012-01-13 15:38:12 +01:00
Howard Chu
e86da2fe3f ITS#7121 fix page splits when data+key size is too large 2012-01-04 15:27:15 -08:00
Kurt Zeilenga
2bbf9804b9 Happy New Year! 2012-01-01 07:10:53 -08:00
Howard Chu
68ee165fb5 ITS#7115 blocked writers should not interfere with pool pause 2011-12-21 01:24:23 -08:00
Howard Chu
fadb48a723 Add $(SOLIBS) macro for shared lib dependencies 2011-11-21 16:30:58 -08:00
Howard Chu
95a72ac82a Add $(SOLIBS) macro for shared lib dependencies 2011-11-18 15:43:55 -08:00
Howard Chu
ea026cb2cf Merge remote branch 'origin/mdb.master' 2011-11-15 11:23:48 -08:00
Howard Chu
dd9c56f0fb More s/DEBUG/MDB_DEBUG/ 2011-11-15 11:23:00 -08:00
Howard Chu
40477fae4e Merge remote branch 'origin/mdb.master' 2011-11-14 16:22:51 -08:00
Howard Chu
575691ca8a Alignment fixes for debug msgs 2011-11-14 16:21:59 -08:00
Howard Chu
51c1ba6818 s/DEBUG/MDB_DEBUG/ 2011-11-14 14:40:43 -08:00
Howard Chu
122fa3a895 Merge remote branch 'origin/mdb.master' 2011-11-11 12:50:12 -08:00
Howard Chu
29de655bc4 Add MDB_FDATASYNC to allow override to fsync if needed. 2011-11-11 12:49:11 -08:00
Howard Chu
ca15238dfb Merge remote branch 'origin/mdb.master' 2011-11-11 11:00:14 -08:00
Howard Chu
291c0ce2db Use <inttypes.h> instead of <stdint.h> 2011-11-11 10:59:27 -08:00
Howard Chu
334099c0db Merge remote branch 'origin/mdb.master' 2011-11-10 12:43:41 -08:00
Howard Chu
8763c41e30 Fix size check 2011-11-10 12:41:34 -08:00
Howard Chu
52a0d00031 Merge remote branch 'origin/mdb.master' 2011-11-09 15:36:00 -08:00
Howard Chu
04b522cc72 More Solaris warning cleanup 2011-11-09 15:32:37 -08:00
Howard Chu
b905811d3c Merge remote branch 'origin/mdb.master' 2011-11-09 01:02:38 -08:00
Howard Chu
68143e4532 More pgno alignment tweaks 2011-11-09 00:36:50 -08:00
Howard Chu
056910df03 Merge remote branch 'origin/mdb.master' 2011-11-08 20:06:23 -08:00
Howard Chu
690792c170 Add dummy DKEY define 2011-11-08 20:05:29 -08:00
Howard Chu
dac408369b Merge remote branch 'origin/mdb.master' 2011-11-08 19:05:39 -08:00
Howard Chu
cc7a89cd67 Add Solaris byte-order detection 2011-11-08 19:04:39 -08:00
Howard Chu
f0c9d77326 Fix mdb_drop return 2011-11-08 16:45:45 -08:00
Howard Chu
6018fe9671 Merge remote branch 'origin/mdb.master' 2011-10-14 22:05:37 -07:00
Howard Chu
a103a64434 Android/ARM portability
2-byte alignment isn't good enough for subpages
2011-10-14 22:03:46 -07:00
Howard Chu
277a8edd2e Android defines wctomb but doesn't provide it 2011-10-12 19:18:05 -07:00
Howard Chu
fb5ba5f09c Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-10-06 19:15:43 -07:00
Howard Chu
331bf92df5 Fix page_split with MDB_RESERVE 2011-10-06 18:53:07 -07:00
Howard Chu
19e4df476d Fix subcursor initialization 2011-10-06 16:12:52 -07:00
Howard Chu
1adc0b9b1c Merge remote branch 'origin/mdb.master' 2011-10-04 02:22:01 -07:00
Howard Chu
934a19553c Don't use Append mode when splits are caused by sub-page inserts
Sub-pages need room to grow...
2011-10-03 18:02:17 -07:00
Howard Chu
ea0d07ffa3 Fix freelist bug on page split
NULL out env->pghead before writing it, so that its pages can't be used
to satisfy the write.
2011-10-03 12:40:53 -07:00
Howard Chu
7cd16d7b9f Merge remote branch 'origin/mdb.master' 2011-10-03 11:30:10 -07:00
Howard Chu
85bfb3c1d1 Add rudimentary MDB_MULTIPLE support for puts
Only for DUPFIXED DBs. Still could do better.
2011-10-03 11:28:14 -07:00
Howard Chu
02cafebb8e Merge remote branch 'origin/mdb.master' 2011-10-02 21:28:55 -07:00
Howard Chu
fa3c2945f5 Add MDB_APPEND to avoid splitting full pages 2011-10-02 21:27:07 -07:00
Howard Chu
163514e470 Fix 6e05ca17e9
Missed a MDB_RESERVE case
2011-10-02 19:52:12 -07:00
Howard Chu
c2df36c86f Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-10-02 19:36:57 -07:00
Howard Chu
28b8aaeb96 Add mdb_cursor_txn() and mdb_cursor_dbi() for querying the cursor 2011-10-02 19:28:33 -07:00
Howard Chu
2dd578221b Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-10-02 11:14:53 -07:00
Howard Chu
6e05ca17e9 Add MDB_RESERVE mode
When putting a record, just make space for the data, don't copy it.
(Not compatible with MDB_DUPSORT, since the actual data is needed
to determine the insert location.)
2011-10-02 10:02:30 -07:00
Howard Chu
fe11433619 Tweak cursor adjustment code
Skip the original cursor that made the change
2011-09-30 22:15:05 -07:00
Howard Chu
8a5d0952ad ITS#7006 fix MozNSS wildcard cert match 2011-09-30 03:27:19 -07:00
Rich Megginson
8e9af53fb6 ITS#7034 use mutex for connection handshake when using PEM nss
PEM nss is not thread safe when establishing the initial connection
using SSL_ForceHandshake.  Create a new mutex - tlsm_pem_mutex - to
protect this function call.
The call to SSL_ConfigServerSessionIDCache() is not thread-safe - move it
to the init section and protect it with the init mutex.
2011-09-30 03:16:57 -07:00
Howard Chu
9b082bf716 ITS#7051 fix GNUtls cert dn parse 2011-09-30 00:41:13 -07:00
Howard Chu
19d1e72bbc Make sure mdb_open actually got a sub-db record 2011-09-29 21:07:07 -07:00
Howard Chu
fa0d64242b Doc for the MDB_NOSUBDIR env option 2011-09-22 21:46:12 -07:00
Howard Chu
7a40080dd1 Add MDB_NOSUBDIR option
Create the data file using exactly the given pathname, and
the lock file using a suffix on the data file name.
2011-09-22 18:05:06 -07:00
Howard Chu
54eb76cc7a Reader table notes 2011-09-22 04:34:40 -07:00
Howard Chu
4bcaabecf5 assert cleanup 2011-09-21 17:21:48 -07:00
Howard Chu
619e671f1c txn_abort/commit free all their cursors now. 2011-09-21 16:37:29 -07:00
Howard Chu
9bcc51ef5d Only free malloc'd cursors 2011-09-21 16:06:52 -07:00
Howard Chu
c8c34cdd43 Merge remote branch 'origin/mdb.master' 2011-09-21 15:58:55 -07:00
Howard Chu
b9d13a29e6 Track changes to all cursors.
For any change to a page or node, update all other cursors pointing
at the same page (or node). Cursors are now stored in a linked list
off their owning transaction. Cursors are all closed when the transaction
ends. Cursors in parent transactions are updated when their child
transaction commits.
2011-09-21 15:55:27 -07:00
Howard Chu
c4d5e6e786 Add support for nested transactions. 2011-09-21 12:58:43 -07:00
Hallvard Furuseth
ef7f5f5e32 Cleanup ISO C compatibility for recent commits 2011-09-19 10:31:12 +02:00
Hallvard Furuseth
d9edc7d5af Merge branch 'mdb.master' 2011-09-19 10:30:30 +02:00
Hallvard Furuseth
8fa10ae668 libmdb IDL cleanup.
Microoptimize IDL search.
Use RANGE_<FIRST/LAST> when IDL is known to be a range.
2011-09-19 10:27:49 +02:00
Howard Chu
02abfb91ba Additional fix for prev commit 2011-09-18 18:26:54 -07:00
Howard Chu
76c6c8e5b7 Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-09-18 18:14:05 -07:00
Howard Chu
4272e7de4f Make sure 2 subpages fit in one real page 2011-09-18 18:13:23 -07:00
Howard Chu
001f149654 Merge remote branch 'origin/mdb.master' 2011-09-18 17:08:40 -07:00
Howard Chu
237fabda64 Fix last delete from a subpage 2011-09-18 17:07:47 -07:00
Howard Chu
0ab841598f Fix 09006ccec7
Check for stale DBs was in the wrong place.
2011-09-18 16:39:18 -07:00
Howard Chu
7164c4c662 Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-09-18 14:28:20 -07:00
Howard Chu
2c70d0430a Fix mdb_drop() if not deleting the DB record 2011-09-18 14:22:27 -07:00
Howard Chu
77b1017b85 Fix typo, minor cleanup 2011-09-18 14:12:49 -07:00
Howard Chu
e76299c196 Merge remote branch 'origin/mdb.master' 2011-09-18 13:25:09 -07:00
Howard Chu
57b5fbea49 Add mdb_drop() for deleting a DB
Allow MIDLs to grow arbitrarily, to allow unlimited number of
pages to be freed in one txn.
2011-09-18 12:37:02 -07:00
Howard Chu
09006ccec7 API change, consistency check
mdb_close() takes an env, not a txn.
Also, add check for stale DB records (in case some other process
wrote to the DB last).
2011-09-18 10:48:12 -07:00
Howard Chu
a05cbba77a Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-09-17 04:02:52 -07:00
Howard Chu
b7057eb61e New sorted-dup subpage support
Instead of converting directly to a subDB when the first duplicate
item is seen for a key, convert to a subpage instead. Allow the
subpage to grow up to the overflow limit, then convert to a subDB.
This saves a significant amount of space in a typical slapd index
database.

Currently we don't convert back to the smaller form if items are
later deleted. Probably could do that with some hysteresis, e.g.,
convert back from subDB to subpage when the size drops below
(overflow limit/2). Maybe later.
2011-09-17 03:33:07 -07:00
Howard Chu
e1a5177bac Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-09-15 10:37:13 -07:00
Howard Chu
0a28548131 Use FNV-1A hash to generate unique mutex names
For Windows and MacOSX
2011-09-15 10:36:15 -07:00
Howard Chu
d9a60db75e Merge remote branch 'origin/mdb.master' 2011-09-14 20:34:27 -07:00
Howard Chu
2c033676ea Doc tweak - txn flags 2011-09-14 20:33:09 -07:00
Howard Chu
5b7c983a66 MacOSX semaphore names are limited to 31 chars
Including the terminating NUL. Good job documenting that, guys.
2011-09-14 20:30:26 -07:00
Howard Chu
8917b774f7 Merge remote branch 'origin/mdb.master' 2011-09-14 11:46:40 -07:00
Howard Chu
0533f80364 Add MacOSX support
mmap() with FIXEDMAP fails, otherwise things work.
2011-09-14 11:31:27 -07:00
Howard Chu
e222506b88 Minor doc cleanup 2011-09-14 01:46:08 -07:00
Howard Chu
9e3e7cefd8 More docs 2011-09-14 01:08:01 -07:00
Howard Chu
71a665aa9d Namespace cleanup 2011-09-13 23:36:41 -07:00
Howard Chu
550dc4aaee Merge remote branch 'origin/mdb.master' 2011-09-13 15:24:33 -07:00
Howard Chu
56fe0d4f1a Tweak search_node inner loop to avoid LEAF2 checks 2011-09-13 13:42:02 -07:00
Howard Chu
70c79df1df cursor_set/search_node tweaks, use intcmp when possible 2011-09-13 13:41:40 -07:00
Howard Chu
dc83777ab9 Minor tweaks, update relfunc behavior 2011-09-12 01:15:22 -07:00