Commit Graph

432 Commits

Author SHA1 Message Date
Howard Chu
d6f3440d94 ITS#8365 partially revert ITS#8281
Must setup psearch before snapshotting ctxcsn
2016-02-02 19:41:13 +00:00
Quanah Gibson-Mount
6c4d6c880b Happy New Year! 2016-01-29 13:32:05 -06:00
Howard Chu
a9df031d0d ITS#8354 move abandon check 2016-01-23 16:06:32 +00:00
Howard Chu
6d2eb36ccb ITS#8354 tweak prev commit
Delay mutex init to avoid leaking the mutex
2016-01-22 20:46:23 +00:00
Howard Chu
4773850d42 ITS#8354 fix syncprov abandon
Check for abandon just before recording psearch
2016-01-22 20:41:48 +00:00
Howard Chu
cd8ff37629 ITS#8281 fix delta-mmr with interrupted refresh
Prevent spurious contextCSN generation
and ignore consumers when we have no contextCSN yet.
But make sure to propagate valid contextCSN updates to
accesslog/syncprov for delta consumers.
2015-10-24 06:06:49 +01:00
Howard Chu
eb25ece469 Revert unintended commit 2015-07-08 14:25:52 +01:00
Howard Chu
b7a291a488 Experimental syslog() replacement
2-3x faster than libc. Add it to the Makefile yourself if you want to test it.
2015-07-08 14:22:29 +01:00
Howard Chu
ff7c0e5779 ITS#8081 - more for #8063
Prev patch broke underlying assumption that mods queue and execute
in order. Now must search list for matching mod to dequeue.
2015-03-21 21:32:48 +00:00
Howard Chu
8eb9aa7dc5 ITS#8063 more for prev commit 2015-02-25 06:11:44 +00:00
Howard Chu
8ad64c8f9a ITS#8063 don't block our own thread 2015-02-25 05:44:07 +00:00
Quanah Gibson-Mount
1705fa7e55 Happy New Year 2015-02-11 15:36:57 -06:00
Howard Chu
cb3952db4b ITS#8039 more cleanup 2015-02-03 10:23:39 +00:00
Howard Chu
b1d1c74247 Cleanup prev commit 2015-02-02 08:45:57 +00:00
Howard Chu
bb9287ba1a More for ITS#8043 2015-02-02 08:42:28 +00:00
Howard Chu
bc1e08e296 ITS#8043 don't leave dangling syncops 2015-01-31 13:04:53 +00:00
Howard Chu
edf359795c ITS#8039 cleanup 2015-01-31 12:52:56 +00:00
Howard Chu
c8d40af0d2 ITS#8039 fix prev commit
Don't overload ri_csn with cookie, use a separate berval
2015-01-31 00:12:29 +00:00
Howard Chu
a2d4ed146d ITS#8039 plug syncprov memleak
Rewrote the psearch result handling to keep track of which
queues are using which results.
2015-01-30 08:55:47 +00:00
Leo Yuriev
7c2951819f ITS#5452,#8012: fix syncprov syncops freeing
Detaching a syncops record from op-list conditionally,
only when it was freed by syncprov_free_syncop.

The syncprov_free_syncop() and syncprov_drop_psearch() now
returns a flag, which is nonzero if the given syncops was freed.
2015-01-04 07:27:29 +00:00
Howard Chu
0b2438fbec ITS#8013 fix syncprov_matchops test_filter usage 2015-01-04 07:20:41 +00:00
Howard Chu
92c7a89130 ITS#7928 fix syncprov abandon cleanup 2014-08-29 02:19:35 +01:00
Kurt Zeilenga
5c878c1bf2 Happy new year (belated) 2014-01-25 05:21:25 -08:00
Howard Chu
ac9ac0094e ITS#7749 more for prev commit 2013-11-21 11:18:24 -08:00
Howard Chu
06e384d55b ITS#7749 propagate op->o_extra in syncprov_findbase 2013-11-14 19:16:57 -08:00
Howard Chu
6711876a35 Fix CONFIG_DELETE crash
Closing a connection can abandon its ops without going thru the threadpool,
so make sure to lock the si_ops_mutex before walking the list.
2013-11-05 12:59:56 -08:00
Quanah Gibson-Mount
1a712bf18e Enable features that were hidden behind LDAP_DEVEL 2013-09-19 09:50:52 -07:00
Kurt Zeilenga
0fd1bf30b8 Happy New Year 2013-01-02 10:22:57 -08:00
Howard Chu
babfce7d0f ITS#7172 don't reference ops in syncprov locks
When a client performs a write and then closes the connection without
sending an Unbind request, the connection cleanup can race with the
op cleanup.
2012-08-15 14:36:35 -07:00
Howard Chu
c73ec15022 ITS#7292 more accesslog,syncprov leaks 2012-06-08 07:33:59 -07:00
Howard Chu
a8d1783550 ITS#7292 more syncprov control leaks 2012-06-08 05:09:45 -07:00
Howard Chu
96876a171a ITS#7292 more syncprov leaks 2012-06-07 16:02:45 -07:00
Howard Chu
4dba1f6963 ITS#7292 plug memleaks in accesslog,syncprov 2012-06-07 11:33:20 -07:00
Howard Chu
9e6245f87e ITS#7235 prevent sop from being freed during init 2012-04-07 10:22:56 -07:00
Hallvard Furuseth
19905a390f ITS#7234 Fix syncprov entry leak: Set op->o_tag 2012-04-07 14:13:50 +02:00
HIRABAYASHI Satoshi
92d439a0dd ITS#7218 fix sessionlog usability check 2012-03-28 02:48:03 -07:00
Howard Chu
d4b3c2af6a Partial revert of f30269f5d2
ITS#6024 patch breaks MMR loop detection
2012-02-12 15:54:11 -08:00
Howard Chu
5584e5b98d ITS#7150 fix check for already abandoned op 2012-02-03 09:35:13 -08:00
Kurt Zeilenga
2bbf9804b9 Happy New Year! 2012-01-01 07:10:53 -08:00
Howard Chu
7be5837dc0 Cleanup syncprov_db_close/CONFIG_DELETE code
No mutex needed since config ops are single-threaded.
Don't send Unavailable message if we're shutting down.
2011-11-18 01:22:52 -08:00
Howard Chu
278322ee5f ITS#7025 fix syncprov crash
init fop.o_extra, copying from s_op is not guaranteed.
2011-11-18 00:31:20 -08:00
Howard Chu
a4df185adf ITS#7019 fix dsa-specific attr check for Persist updates 2011-11-07 15:25:07 -08:00
Howard Chu
da210f40e1 ITS#7040 don't complain about other server's CSNs
Only worry if consumer has newer state for our SID. Fixes breakage
caused by ITS#6606.
2011-09-30 03:04:10 -07:00
Howard Chu
20a8da0b7c Revert "More for ITS#6892"
This reverts commit 3cb2ca8bbd.
Patch has no benefit
2011-08-16 13:49:27 -07:00
Howard Chu
3cb2ca8bbd More for ITS#6892 2011-08-15 15:40:46 -07:00
Howard Chu
ebf07016ef ITS#6872 fix test058 breakage from prev patch 2011-06-27 04:46:43 -07:00
Howard Chu
6da3e3473c ITS#6716 use sorted CSNs, fix sessionlog
track a CSN per SID in the log->sl_mincsn
2011-06-22 00:30:13 -07:00
Howard Chu
329e7937e6 ITS#6892 shortcut for non-replicated ops 2011-06-10 01:44:30 -07:00
cmikk@qwest.net
fa64b07cfc ITS#6872
Perform the internal FIND_CSN search based at the backend's suffix with the
privileges of the backend's root DN.
2011-06-09 01:36:06 -07:00
Howard Chu
3f28eeb797 ITS#6812 cleanup error codes 2011-01-29 03:30:22 +00:00
Hallvard Furuseth
42cb7f06f1 cleanup: Rename rs_ensure_entry_modifiable().
The name rs_entry2modifiable() is more reasonably sized.
For now, leave behind a macro rs_ensure_entry_modifiable in proto-slap.h.
2011-01-28 16:33:55 +00:00
Howard Chu
4c1464f3cd ITS#6795 plug sr_ctrls memleak 2011-01-18 02:24:35 +00:00
Howard Chu
e3f344bcbd ITS#6717 refine mincsn check for MMR 2011-01-13 22:45:59 +00:00
Howard Chu
7da903a11d ITS#6716 partial revert, initialize sl_mincsn at db_open 2011-01-13 22:23:05 +00:00
Hallvard Furuseth
1ecaeb3b18 noop change: Silence signed vs unsigned warnings 2011-01-12 14:44:03 +00:00
Howard Chu
5ece155e14 More for #6503 2011-01-06 22:46:08 +00:00
Howard Chu
d4523d3142 ITS#6503 - record Adds in sessionlog too, to avoid excessive present phases 2011-01-06 22:37:23 +00:00
Kurt Zeilenga
966cef8c9a Happy New Year 2011-01-05 00:42:37 +00:00
Hallvard Furuseth
f4a3304477 ITS#6758 Use rs_*() to manage SlapReply entries.
Some noop changes + fixes entry leaks and REP_ENTRY_MODIFIABLE flag leaks.
2010-12-31 17:55:36 +00:00
Hallvard Furuseth
13f52646b2 ITS#6758 Avoid SlapReply reuse, simple cases.
Caller provides and reuses a SlapReply it does not read after
initialization.  So reinitialize or move the declaration inwards.
In case of refint, move the rs parameter into refint_repair().
2010-12-31 10:46:22 +00:00
Hallvard Furuseth
f7a77545ad noop commit for ITS#6758: simplify future commits 2010-12-30 23:48:41 +00:00
Hallvard Furuseth
98966abeef noop commit for ITS#6758: Remove no-effect code.
Unused variable resets, unused SlapReply parameters to some functions.
2010-12-30 23:43:12 +00:00
Hallvard Furuseth
cd6e9156e7 Remove lint (unused vars/labels/funcs/default:s) 2010-12-30 23:34:55 +00:00
Hallvard Furuseth
720aa4b77e Plug mutex/rwlock leaks (destroy them) 2010-12-20 10:57:06 +00:00
Rein Tollevik
b4aa8dc68c ITS#6716: Keep sessionlog sorted by csn, compare mincsn with head. 2010-12-12 18:12:05 +00:00
Rein Tollevik
d3cddce244 ITS#6718: Send NEW_COOKIE messages to all consumers. 2010-11-21 19:00:38 +00:00
Rein Tollevik
990d8f562f ITS#6710: Force clients to refresh if context is dirty. 2010-11-21 17:56:09 +00:00
Rein Tollevik
877fc0ab37 ITS#6709: Wait for active mods to finish before initiating new consumers. 2010-11-21 15:31:38 +00:00
Rein Tollevik
ba86259aa0 ITS#6708: Mutex protect fixing the filter. 2010-11-15 15:42:06 +00:00
Howard Chu
7e7f24f13f ITS#6606 send error if consumer is newer than provider 2010-07-28 02:21:27 +00:00
Ralf Haferkamp
c4f0c2cc2b unregister controls when removing syncprov, ppolicy, valsort, chain or
sssvlv overlay
2010-07-01 11:51:43 +00:00
Ralf Haferkamp
7b2dc4c059 Send error to active psearches upon overlay removal 2010-06-23 16:34:25 +00:00
Ralf Haferkamp
a06696a1ef During the refresh phase the sync filter needs to be adjusted (skipping
the "(entrycsn>=cookie)" part that was inserted) when checking whether a
change needs to be replicated, otherwise we lose DELETES that happen during
the refresh phase (ITS#6555).
2010-05-20 17:08:28 +00:00
Ralf Haferkamp
5743591419 Reset BackendInfo to original value after checkpoint. Plugs a memory leak
when deleting the syncprov overlay from a database (when compiled with
-DSLAP_CONFIG_DELETE)
2010-04-29 15:47:27 +00:00
Kurt Zeilenga
3dadeb3efe happy belated New Year 2010-04-13 22:17:29 +00:00
Ralf Haferkamp
9e3517595d Plugged memory leak. Syncentry wasn't free'd when sending
LDAP_SYNC_NEW_COOKIE intermediate results. (ITS#6459)
2010-01-21 13:33:21 +00:00
Howard Chu
0c195fc013 ITS#6438 check for redundant syncops_free() ? 2010-01-05 03:50:10 +00:00
Howard Chu
fae4df1ed6 more for #6397 2009-11-23 22:17:25 +00:00
Howard Chu
e72e0507f8 ITS#6397 cleanup psearch if cookie is stale 2009-11-23 22:13:42 +00:00
Howard Chu
faddd86f54 Revert prev commit, simpler fix... 2009-11-22 17:43:48 +00:00
Howard Chu
993fbf4514 Short-circuit backend_operational; sent entry's e_private doesn't belong
to the backend any more
2009-11-22 04:43:34 +00:00
Howard Chu
c365ac359e ITS#6368 use dup'd entries in response queue 2009-11-22 04:42:00 +00:00
Howard Chu
650ebba22b Fix prev commit 2009-11-21 11:54:59 +00:00
Howard Chu
4bdc6fcbc9 in op_response, rearrange contextCSN update checks 2009-11-21 11:43:01 +00:00
Howard Chu
af0d762c1c Mostly revert prev commit, broke test054 2009-11-21 03:38:13 +00:00
Howard Chu
ae5af832db Always log outgoing cookie, just use op->o_csn instead of commit_csn since
all responses are now serialized.
2009-11-21 02:37:53 +00:00
Howard Chu
198cbd6ea8 ITS#6368 partially revert 1.273, always check for skips, not just on
first matchops call
2009-11-19 11:17:53 +00:00
Howard Chu
ff98f4abc5 Use fake_init2 in db_open/db_close since they can execute from a
back-config operation (and could wipe out the state otherwise)
2009-11-15 10:38:13 +00:00
Howard Chu
67edd75e48 Cleanup for #6373 2009-11-14 21:53:06 +00:00
Howard Chu
dd2f158b52 Fix prev commit 2009-11-14 09:35:23 +00:00
Howard Chu
fe911c5960 ITS#6376 plug potential leak 2009-11-14 09:34:29 +00:00
Howard Chu
3f9e8eeeec ITS#6373 more for subentry creation 2009-11-11 04:03:27 +00:00
Howard Chu
9ad558b78c ITS#6373 create subentry if missing 2009-11-11 03:36:46 +00:00
Howard Chu
46a97b9204 ITS#6373 sync_use_subentry support 2009-11-11 03:19:01 +00:00
Pierangelo Masarati
17a185b32a unparse checkpoint time in minutes (ITS#6370) 2009-11-10 19:02:33 +00:00
Howard Chu
a3f38ed932 ITS#6346 serialize all responses 2009-10-29 23:46:10 +00:00
Rein Tollevik
739f8d0753 ITS#6335 Don't reuse a modtarget someone is about to remove 2009-10-16 17:27:18 +00:00
Pierangelo Masarati
f3cdcadf89 wrap gmtime for reentrancy (ITS#6262) 2009-08-18 23:48:15 +00:00
Rein Tollevik
2a4bce0633 More for ITS#6045: clear o_callback as well. 2009-04-04 20:25:38 +00:00
Rein Tollevik
4901d77f94 Fixed previous again, using o_bd->bd_self is safer. 2009-04-04 20:09:43 +00:00