Commit Graph

196 Commits

Author SHA1 Message Date
Howard Chu
3feffb9a0a ITS#7904 more tweaks
Must save/restore mcd cursor if we're doing a scope-based search.
2014-08-20 13:06:51 -07:00
Howard Chu
27f3ef2cfd ITS#7920 fix for slapacl
This needs to be streamlined in 2.5, current tool API is a mess.
2014-08-13 20:49:05 -07:00
Howard Chu
d8c060104d ITS#7915 fix mdb_entry_release
In server mode, make sure the entry was actually ours
2014-08-04 13:36:48 -07:00
Howard Chu
5ac3dbefcd ITS#7912 fix index config 2014-07-31 11:31:14 -07:00
Howard Chu
e17878933f ITS#7904 writewait patch
Assigned ITS#, tweaking. This ITS includes
	4f05d992f2
	716b35e191
	be792fae2c
2014-07-23 13:12:51 -07:00
Howard Chu
4f05d992f2 Fix prev commit 2014-07-22 21:55:23 -07:00
Howard Chu
716b35e191 More for writewait callback
Must also reset search cursors
2014-07-22 21:52:24 -07:00
Howard Chu
031640456b ITS#7903 preserve Sorted status of attrs 2014-07-22 20:24:58 -07:00
Howard Chu
be792fae2c Add sc_writewait callback
Invoked before a blocked writer waits for socket to be writable.
Use in back-mdb to release reader txn while waiting.
2014-07-22 19:17:15 -07:00
Howard Chu
b9abbdf623 Add missing mdb_strerror calls to debug msgs 2014-07-09 11:21:41 -07:00
Ondrej Kuznik
01f698bce9 ITS#7256 A few issues discovered during testing slapmodify.
- bdb deallocates cursor after some tool operations but expects it to be
  around every time it is called
- mdb tries to allocate a second transaction while it already holds one,
  deadlocking
- op->o_hdr must exist for most uses of op, but o_tmpmfuncs need not
- what about indexing after a tool modify? Does it happen automatically?
2014-07-08 17:28:12 -07:00
Howard Chu
4afa10d059 ITS#7872 plug memleak of matchedDN 2014-06-04 14:02:06 -07:00
Howard Chu
a01d3f965b ITS#7870 ignore index DBs in slapcat 2014-06-03 20:38:21 -07:00
Howard Chu
5a08b66141 ITS#7705,#7800 fix prev commit
Better check for missing IDs
2014-05-15 21:27:21 -07:00
Howard Chu
437f21b16e ITS#7705,#7800 fix back-mdb pagedResults search
mdb_idscopes was remembering the IDs of every entry it checked;
it should only have been saving the IDs of entries that were
actually in the search scope. The extra entries filled the scopes
array, causing a loop searching for a parent entry that was
never inserted.
2014-05-15 21:06:17 -07:00
Howard Chu
5cab6b77e4 ITS#7798 fix mdb_entry_decode() 2014-02-07 03:02:33 -08:00
Kurt Zeilenga
5c878c1bf2 Happy new year (belated) 2014-01-25 05:21:25 -08:00
Howard Chu
b1ed3bf10a ITS#7778 fix regression from #7329 2014-01-13 11:26:46 -08:00
Howard Chu
26ce222b6a ITS#7761 bail out of search if config is pausing 2013-12-10 18:08:36 -08:00
Howard Chu
66bb780b16 ITS#7743 Fix indexed AND filter
Partially revert 47f6aec61e
Was using RANGE_FIRST/RANGE_LAST on an IDL known to *not* be a range.
2013-11-11 21:01:33 -08:00
Howard Chu
3d1a0bb17e ITS#7741 Fix entryDN index lookup
DN notfound is authoritative, don't ignore the result
2013-11-06 09:41:42 -08:00
Quanah Gibson-Mount
e70bc5dd64 ITS#7737 Add a matching rule for OlcDbEnvFlgs 2013-11-01 09:57:20 -07:00
Howard Chu
80d8c56afd ITS#7725 add nordahead envflag 2013-10-12 16:25:33 -07:00
Howard Chu
44504848ac ITS#7329 optimize index update for simple add ops
Don't need to reindex all the attr values if there were no deletes.
2013-10-09 07:55:50 -07:00
Howard Chu
c82dcab9bd ITS#7720 don't do ptr arithmetic on void *s 2013-10-08 10:40:51 -07:00
Quanah Gibson-Mount
1a712bf18e Enable features that were hidden behind LDAP_DEVEL 2013-09-19 09:50:52 -07:00
Howard Chu
3b272b43dc In mdb_checkpoint, force sync
Otherwise this is a no-op in various NOSYNC/MAPASYNC situations
2013-09-02 12:54:48 -07:00
Howard Chu
5b2bfec3b4 More for 907b9d4877
op.o_extra is only used with threading
2013-08-14 03:51:29 -07:00
Howard Chu
cec27aa517 Fix prev commit 2013-08-12 15:04:51 -07:00
Howard Chu
907b9d4877 Fixes for threaded indexer
Works now, but still 2x slower. Leave disabled.
2013-08-12 14:50:54 -07:00
Howard Chu
64f06d5acc ITS#7662 cleanup reader txn in mdb_entry_get() 2013-08-10 05:05:16 -07:00
Howard Chu
99e22a4366 ITS#7628 fix back-mdb txn refcount
If multiple ops used the same opinfo the refcount wasn't being decremented
2013-06-23 19:13:52 -07:00
Howard Chu
a3de7c29ae ITS#7604 fix modrdn, base-scope search 2013-05-24 11:08:25 -07:00
Howard Chu
3d5e7ef0d2 ITS#7581 more for prev commit 2013-05-23 11:45:05 -07:00
Howard Chu
a8c1438688 ITS#7577 more alias deref checks 2013-05-17 09:15:36 -07:00
Howard Chu
201ddbe3e4 ITS#7577 more for previous commit 2013-04-28 12:47:14 -07:00
Howard Chu
fb537d747c ITS#7577 alias fixes 2013-04-28 12:25:58 -07:00
Howard Chu
8cc61d8dbd attrdb fixes 2013-04-05 03:03:07 -07:00
Howard Chu
daf62a0841 ITS#7540 reject undefined attrs 2013-03-19 13:32:42 -07:00
Howard Chu
02b22e7e59 ITS#7542, more for ITS#7432
typos in quicksort
2013-03-18 11:43:47 -07:00
Howard Chu
bc1d4424c5 Define MDB_WRITES_PER_COMMIT, default to 500
The former default of 1000 may fail for DBs with many indices.
2013-02-23 19:04:13 -08:00
Howard Chu
03b0319b46 ITS#7488 really turn off threaded indexing code 2013-02-19 18:20:17 -08:00
Howard Chu
f827aa683e ITS#7527 add missing error checks for corrupt index 2013-02-19 18:19:47 -08:00
Howard Chu
9f227f7661 More for dn2id_upgrade
handle 0-length suffix
2013-02-10 00:17:51 +00:00
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