Commit graph

202 commits

Author SHA1 Message Date
Howard Chu
5c91a27277 Add error checks to prev commit 2013-02-09 19:50:08 +00:00
Howard Chu
2bbee4bb23 Add mdb_dn2id_upgrade
Check if upgrade is needed in mdb_db_open()
Run from tool_reindex. Upgrade must not be interrupted.
2013-02-09 19:38:42 +00:00
Howard Chu
33c98df18e More explicit logging if mdb_txn_commit fails
Change LDAP_DEBUG_TRACE to LDAP_DEBUG_ANY.
Add log msg if it wasn't being logged before.
2013-02-02 05:31:39 -08:00
Howard Chu
a8352c03b3 ITS#7473 fix b1a6f6980f
uninit'd size in dn2id_walk, bogus pagedresults
2013-01-29 17:15:09 -08:00
Howard Chu
b1a6f6980f ITS#7473 Scope-based searches
Walk subtree if number of subtree entries is smaller than
number of index candidates.
2013-01-26 16:20:49 -08:00
Howard Chu
a650568ef2 ITS#7473 Add mdb_dn2id_walk() to walk subtree
Non-recursive tree walker.
2013-01-26 16:19:38 -08:00
Howard Chu
ee8a897ff8 ITS#7473 Setup for subtree entry counts 2013-01-26 16:18:58 -08:00
Howard Chu
2f53035a51 ITS#7496, more for ITS#7483
Missing entries need to be checked at runtime too, not just slapcat.
Apparently some people will still try to run slapd even after slapadd
tells them their DB load was invalid.
2013-01-22 12:34:40 +00:00
Howard Chu
fb0b0688b0 ITS#7473 check DN scope before fetching id2e
This is only a 10% gain, but still worth having for now.
2013-01-11 03:15:59 -08:00
Howard Chu
acec27ec94 ITS#7488 disable threaded indexer for now
No time to find the bug at the moment.
There's no performance benefit anyway.
2013-01-09 09:07:29 -08:00
Kurt Zeilenga
0fd1bf30b8 Happy New Year 2013-01-02 10:22:57 -08:00
Howard Chu
e4ec2be93d Better handling of missing entries
Treat zero-length entries properly (as missing entries) in entry_next()
and entry_get_int().
2012-12-28 11:26:26 -08:00
Howard Chu
d3087229d5 Get MDB txn before acquiring a CSN
Since MDB writes are fully serialized in txn_begin, we can use CSNs as
commit sequence numbers, not just change sequence numbers. This will
prevent most instances of out-of-order writes, so syncprov will almost
never need to transmit a change without a cookieCSN. (Out-of-order is
still possible, if the write was received via syncrepl.)
2012-12-13 07:13:39 -08:00
Howard Chu
a2cfb99c52 ITS#7469 fix slapcat 2012-12-10 17:32:44 -08:00
Howard Chu
fe9e1113ae Rename mdb_open/close mdb_dbi_open/close 2012-12-03 17:06:31 -08:00
Howard Chu
c0f7090cac Plug slapindex memleak 2012-12-03 11:39:14 -08:00
Howard Chu
aa1ae03caf Rename libmdb to liblmdb 2012-11-30 12:59:18 -08:00
Howard Chu
e51aff55e6 Rename mdb.h to lmdb.h 2012-11-30 12:35:05 -08:00
Howard Chu
a061f2192e ITS#7452 fix typo in envflags 2012-11-26 16:22:27 -08:00
Howard Chu
970e7f8199 ITS#7416 make sure to reopen attr DBs after env reopen 2012-10-11 16:45:42 -07:00
Quanah Gibson-Mount
6a435736fb Fix MDB objectClass so that MDB will load 2012-09-26 16:48:57 -07:00
Howard Chu
d426cafaca More for envflags
If trying to alter a non-resettable flag, just close/reopen the env.
2012-09-25 04:37:29 -07:00
Howard Chu
dc9ef835c5 Add envflags for MDB config
allows setting writemap and some other useful flags
2012-09-25 04:31:37 -07:00
Howard Chu
3e47e825fd ITS#7391 more for ab04c50a32 2012-09-14 12:53:47 -07:00
Howard Chu
bdef02832e ITS#7386 close read txn in reindex commit 2012-09-12 13:37:22 -07:00
Howard Chu
54a111907b More for 38a3317096
update mdb_tool_idl_add prototype
2012-09-04 04:44:20 -07:00
Howard Chu
c9c24fbafe More for ea248dacf4
Fix search_aliases invocation
2012-09-04 04:39:17 -07:00
Howard Chu
bf10bdb03a Fix typos in prev commit 2012-08-27 14:27:04 -07:00
Howard Chu
ea248dacf4 Don't decode entries until we know they're in scope 2012-08-27 14:08:06 -07:00
Howard Chu
11cf13bf9d Fix slapadd -q -w double-free 2012-08-17 13:38:47 -07:00
Howard Chu
e5864927ae Fix online reconfig
maxreaders/maxsize was not re-opening because cleanup call was missing
online indexer should abort txn after index failure
2012-07-26 08:45:39 -07:00
Howard Chu
2265d2bac8 Append tweak: must init mdb->mi_nextid
Otherwise duplicate entries aren't detected
2012-07-22 15:44:11 -07:00
Emily Backes
c453a236fc Update name information 2012-07-22 07:08:35 -07:00
Howard Chu
38a3317096 Use new Append support 2012-07-21 06:21:56 -07:00
Howard Chu
6934696c23 ITS#7323 plug leak in online indexer 2012-07-12 02:36:12 -07:00
Howard Chu
8aa05e920a ITS#7302 fix mdb_dn2id_delete 2012-06-22 07:10:56 -07:00
Howard Chu
7c28420618 ITS#7303 fix unneeded alias lookups 2012-06-12 16:16:07 -07:00
Howard Chu
d0296e6e33 ITS#7279 init rc in mdb_idl_insert_keys 2012-05-30 05:09:31 -07:00
Howard Chu
34240dbbbb ITS#7255 in mdb_tool_entry_modify use the existing global txn 2012-05-02 13:32:06 -07:00
Howard Chu
71843da2a7 MDB_APPEND should only be used in tool mode 2012-04-09 05:18:44 -07:00
Pierangelo Masarati
ce54dabb1b fix uninit'ed parameters to monitor_back_register_entry_attrs() 2012-04-04 15:09:50 +02:00
Howard Chu
47e57a9c8f ITS#7191 fix typo, more alignment tweaks 2012-03-08 21:39:31 -08:00
Howard Chu
d0bcaee0f3 ITS#7190 don't crash in slapcat on NULL entry 2012-03-06 22:15:51 -08:00
Howard Chu
c4325af7e0 ITS#7180 fix mdb_entry_get when mdb_entry_next was not called 2012-02-24 15:20:17 -08:00
Howard Chu
9b9f4984f0 More for ITS#7170 2012-02-23 12:08:53 -08:00
Howard Chu
c4d78a17c3 ITS#7170 fix Quick mode index generation 2012-02-22 16:01:59 -08:00
Howard Chu
164e738878 ITS#7176 fix slapindex -q -t 2012-02-20 17:04:24 -08:00
Hallvard Furuseth
465942e74d ITS#7160 Support POSIX make: No $< in target rules 2012-02-18 18:17:40 +01:00
Howard Chu
3423b56690 ITS#7146 fix prev commit 2012-02-02 03:26:53 -08:00
Howard Chu
9d3b1af2ff ITS#7146 check for ad_index overflow
Temporary fix...
2012-02-02 03:08:33 -08:00
Howard Chu
d7933e2ea4 ITS#7140 more cleanup on txn abort 2012-01-28 11:52:09 -08:00
Howard Chu
5ca62457f3 Fix: txn is invalidated by mdb_txn_commit() 2012-01-21 08:49:49 -08:00
Kurt Zeilenga
2bbf9804b9 Happy New Year! 2012-01-01 07:10:53 -08:00
Howard Chu
4f298d47af ITS#7099 fix mdb_entry_return for tool mode
Originally, overlays were not supposed to take effect in tool mode.
Apparently that's no longer the case...
2011-11-29 05:42:46 -08:00
Howard Chu
2c4d548206 ITS#7090 fix out-of-order slapadd 2011-11-25 00:25:52 -08:00
Howard Chu
e52127533d ITS#7087 fix mdb_online_index endless loop 2011-11-10 16:33:49 -08:00
Howard Chu
3b2961fcc2 More debug msg null pointer checks 2011-11-09 15:36:16 -08:00
Howard Chu
a642e3eb90 Check for NULL DN in debug msg 2011-11-09 02:20:26 -08:00
Howard Chu
d9706311a0 Check for NULL DN 2011-11-09 02:07:14 -08:00
Howard Chu
676dae633a Avoid stack overrun in mdb_search
Use malloc'd memory, stored persistently in thread-local storage.
2011-11-09 02:05:14 -08:00
Howard Chu
e2a7617d17 Key alignment tweaks for Sparc 2011-11-09 01:03:14 -08:00
Howard Chu
6b679875ae Fix u_intX -> uintX 2011-11-08 19:06:46 -08:00
Howard Chu
2014460eb5 Only use tool IDL cache when multithreaded 2011-10-20 13:46:39 -07:00
Howard Chu
c647a06441 More for cursor reuse 2011-10-06 19:15:10 -07:00
Howard Chu
4c17f31843 Keep some dn2i/id2e cursors open longer
So they can be reused, and avoid unnecessary page_searches
2011-10-06 19:14:22 -07:00
Howard Chu
d06301f303 Turn off tool IDL caching
Well, just like in back-bdb in 2005, it only slowed things down
on larger LDIFs.
2011-10-04 02:18:09 -07:00
Howard Chu
9725bc475f Tweak tool IDL cache, use MDB_MULTIPLE 2011-10-03 11:29:04 -07:00
Howard Chu
8a8fb76cca Use MDB_APPEND mode where possible 2011-10-02 21:29:21 -07:00
Howard Chu
98da203fce Use IDL caching in tool/quick mode 2011-10-02 19:38:58 -07:00
Howard Chu
a1533520c1 Use MDB_RESERVE for id2entry_put 2011-10-02 10:06:06 -07:00
Howard Chu
c5ee5212fd Updated for mdb_txn_begin API change.
Nested txn stuff which we don't use.
2011-09-21 15:59:08 -07:00
Hallvard Furuseth
47f6aec61e back-bdb/back-mdb IDL cleanup.
Parenthesize macros.  Microoptimize IDL search.  Use RANGE_<FIRST/LAST>
when IDL is known to be a range.
2011-09-19 10:31:12 +02:00
Hallvard Furuseth
ef7f5f5e32 Cleanup ISO C compatibility for recent commits 2011-09-19 10:31:12 +02:00
Hallvard Furuseth
79f4f3c0bd More libmdb vs back-mdb C type tweaks.
Do not access a size_t via an unsigned long pointer, an MDB_val via a
berval pointer, or the inverse. Instead copy into the proper data types.
2011-09-19 10:31:12 +02:00
Howard Chu
c0fc7fdbed Fix prev commit
Don't truncate all indices if specific indices were given.
2011-09-18 14:47:41 -07:00
Howard Chu
344996c5e8 Support index truncation 2011-09-18 14:28:36 -07:00
Howard Chu
94c0b077d8 New mdb_close() signature 2011-09-18 13:25:38 -07:00
Howard Chu
04311cc716 Fix entry_alloc with no attrs 2011-09-14 10:14:02 -07:00
Howard Chu
0e96868e8e Fix onelevel search from last commit 2011-09-14 09:54:58 -07:00
Howard Chu
dfed6f77d7 More search optimization
Tighten up entry_alloc/entry_decode
Track parent nodes in idscopes
2011-09-13 16:58:38 -07:00
Howard Chu
fb264bf3e1 Tentative speedup - use plain ints for entry_encode/decode
Keep entries word-aligned. Yields ~10% speedup, but also 10% more space used.
May revert this if the space cost is unacceptable.
2011-09-13 15:24:50 -07:00
Howard Chu
65b5ff2de3 mdb_db_close() should not force env_sync in quick mode 2011-09-13 01:28:37 -07:00
Howard Chu
9297050f9e Resolve MDB/HDB monitor OID clashes 2011-09-12 11:41:04 -07:00
Howard Chu
c4ddf352ba Just use memcpy since we know it's non-overlapping 2011-09-12 11:05:38 -07:00
Hallvard Furuseth
141a43c1ee Tweak back-mdb integer types to match libmdb.
Also do not cast between berval and MDB_val.  That breaks when
sizeof(berval.bv_len) != sizeof(MDB_val.mv_size).
2011-09-12 19:07:12 +02:00
Howard Chu
16cbeb5e65 Fix - slapcat doesn't set op->o_hdr for tmpmemctx 2011-09-10 01:12:50 -07:00
Howard Chu
802a2ad4b2 Fix out-of-order slapadd 2011-09-09 22:29:19 -07:00
Howard Chu
c5beffc94f Fix bogus error codes 2011-09-09 19:53:56 -07:00
Howard Chu
54ced52c04 Keep cursor open for id2entry 2011-09-09 01:01:25 -07:00
Howard Chu
f72d65b77a Use tmpmem-based entries 2011-09-08 22:07:04 -07:00
Howard Chu
80f6f0a1c0 Drop referral.c 2011-09-08 22:02:59 -07:00
Howard Chu
deb0ef9f1f Fix 6c8e4f2671 2011-09-08 10:33:01 -07:00
Howard Chu
a3346f969f More error msgs 2011-09-06 17:29:42 -07:00
Howard Chu
9dc1b05f30 Fix 6c8e4f2 for empty suffixes 2011-09-06 14:04:38 -07:00
Howard Chu
6c8e4f2671 More search optimizations 2011-09-06 02:21:19 -07:00
Howard Chu
1e32fcf099 Use AD-indexes 2011-09-05 19:52:06 -07:00
Howard Chu
e5b1dce6a7 Debug helper for index 2011-09-05 15:23:08 -07:00
Hallvard Furuseth
a316851494 back-mdb/Makefile.in += variable MDB_SUBDIR.
For compiling against a checkout of the stand-alone libmdb,
which has a branch 'mdb.master' with its own root:
    git clone --branch=mdb.master <openldap_repo_dir> mdb
    set_mdb="MDB_SUBDIR=`pwd`/mdb/libraries/libmdb"
    ... maybe modify mdb repository for testing ...
    cd <openldap_repo_dir>; make $set_mdb
2011-09-05 21:10:04 +02:00
Howard Chu
a4d0cde2d3 Fix from key_change consolidation 2011-09-05 03:52:38 -07:00
Howard Chu
7afc68c0ec Cursor updates 2011-09-05 01:27:16 -07:00
Howard Chu
d38ef26425 Fix conversion of IDL to range 2011-09-03 13:09:19 -07:00
Howard Chu
0ba4206ed9 Import back-mdb 2011-09-01 17:00:26 -07:00