Commit graph

701 commits

Author SHA1 Message Date
Quanah Gibson-Mount
073232bbc7 Happy New Year! 2024-03-26 19:45:07 +00:00
Ondřej Kuzník
b8999d165c ITS#10151 Make sure we release scratch objects on "error" 2024-01-11 16:22:49 +00:00
Ondřej Kuzník
8986f99d33 ITS#8852 Optimise attr_cmp for sortval attributes 2023-11-14 18:09:10 +00:00
Howard Chu
4a9e449b24 ITS#9997 syncrepl: plug potential leak in changelog search
Note this is only used with changelog, which is nonstandard and obsolete.
2023-02-17 15:52:35 +00:00
Ondřej Kuzník
868309c90d ITS#8102 Do not continue if deconfigured during pause 2023-01-30 12:06:24 +00:00
Ondřej Kuzník
fa030ef8dc ITS#9930 Do not reschedule consumers that are shutting down 2023-01-30 10:26:23 +00:00
Ondřej Kuzník
5ccbe63246 ITS#9930 Just wait until si_mutex is ready
We're in a much better place now and there is only a single task active
for a given syncinfo_t plus the task that's just scheduled it and is
wrapping up. Any remaining times this wouldn't be true are probably bugs
to be fixed.
2023-01-19 15:21:05 +00:00
Ondřej Kuzník
148204839f ITS#9886 Report time taken to process each syncrepl message 2022-09-26 16:37:14 +00:00
Ondřej Kuzník
9134be7ecc ITS#9886 Maintain si_lastcontact as struct timeval 2022-09-26 16:37:14 +00:00
Ondřej Kuzník
1942bc20a8 ITS#9339 Free remembered cookies on syncinfo free 2022-09-02 16:49:45 +01:00
Howard Chu
14972a7ae1 ITS#9866 delta-sync: fix DN leak on Adds 2022-06-16 21:32:07 +01:00
Howard Chu
4996d42277 ITS#9801 syncrepl/dsee init punlock 2022-02-22 17:11:45 +00:00
Ondřej Kuzník
87ffc60006 ITS#9584 Do not rely on retry=.* to reschedule new syncrepl sessions 2022-01-28 17:49:30 +00:00
Ondřej Kuzník
ca19a774f6 ITS#9785 clear runqueue task as soon as it's getting started 2022-01-27 15:59:39 +00:00
Ondřej Kuzník
7e923c723e ITS#7239 Do not log internal ops 2022-01-18 20:11:46 +00:00
Ondřej Kuzník
6f31d73dc0 ITS#9776 Fix check on what backend we're operating on 2022-01-11 08:45:44 +00:00
Ondřej Kuzník
87b78f2060 ITS#9538 Do not attach csn on (internal) searches 2022-01-10 22:25:33 +00:00
Ondřej Kuzník
70e6bd6777 ITS#9751 Do not drop out of order deletes completely 2022-01-10 18:44:28 +00:00
Quanah Gibson-Mount
788e9592ba Happy New Year! 2022-01-07 18:40:00 +00:00
Ondřej Kuzník
a8467b8b15 ITS#9761 Fix olcSyncrepl position based insertion 2022-01-04 17:53:26 +00:00
Ondřej Kuzník
bc37a9fdfa ITS#9642 Remove redundant calls to slap_wake_listener() 2021-12-15 20:40:53 +00:00
Ondřej Kuzník
75636a407e ITS#9584 Track refreshing status explicitly
A refresh can jump across multiple threads, we cannot just lock a
mutex, we need to track who that is and clear when finished.

In addition to that, fix our internal syncrepl session tracking pulling
it closer to RFC 4533, refreshDone now represents the receipt of
refreshDone flag. Refreshing status is maintained for plain refreshes
(and times when we might be starting one but don't know for sure).

We still reschedule a new sync with a delay if there is another one
running but tracking refreshes this way paves the way to being able to
wake them up if we start tracking them somehow.
2021-12-15 01:22:38 +00:00
Ondřej Kuzník
e6347bc1b8 ITS#9729 Allow multiprovider to be set before syncrepl stanzas 2021-12-14 21:10:17 +00:00
Ondřej Kuzník
ba37508f80 ITS#9647 Find correct sid in compare_csns() more of the time 2021-12-09 20:50:02 +00:00
Ondřej Kuzník
e8f1038de0 ITS#9647 Treat glue entries as missing
We're using MANAGE_DSAIT control so we get to see them, but they don't
really exist (except for their CSN sometimes).
2021-12-09 20:50:02 +00:00
Ondřej Kuzník
8d514517cc ITS#9647 Record delete's CSN in the glue entry 2021-12-09 20:50:02 +00:00
Howard Chu
453799eb97 ITS#9707 also: don't log null cookie 2021-12-09 17:51:39 +00:00
Howard Chu
bb17e23f28 ITS#9707 syncrepl: don't set lastCookie if none present 2021-12-09 17:40:35 +00:00
Ondřej Kuzník
a73ddda533 ITS#9282 Skip old accesslog entries even in delta-refresh 2021-12-08 17:15:57 +00:00
Ondřej Kuzník
8d428f3163 ITS#9282 Do not resuscitate entries we already deleted 2021-12-08 17:15:57 +00:00
Ondřej Kuzník
da610c050c ITS#9282 Short-circuit cookie comparison in non-present check 2021-12-08 17:15:57 +00:00
Howard Chu
5ad6ab3568 ITS#8958 rename ldap_pvt_thread_pool_pausecheck()
to ..._pausewait() since that's what it really does.
Add ..._pausequery() that only checks and doesn't wait.
2021-08-12 18:59:06 +00:00
Ondřej Kuzník
1cf39a8568 ITS#5344 Record and maintain new DN on ModRDN ops 2021-08-06 15:30:47 +01:00
Howard Chu
bc29154c62 ITS#8649 syncrepl: fix backend selection in glued DBs 2021-08-03 13:10:27 +01:00
Howard Chu
79d33fe40e ITS#9584 avoid busy-loop while refresh is serialized 2021-07-29 13:28:34 +01:00
Howard Chu
e1c90d0977 ITS#9584 serialize refresh phase
Only allow one consumer at a time to perform a refresh on a database.
2021-07-27 16:12:14 +01:00
Howard Chu
07e79471f9 ITS#9534,#9324 fix refresh startup
Partially revert 5aa7e0f69b
Use an explicit timeout for Refresh response. Need to give time
for the provider to reply.
2021-05-13 18:29:22 +01:00
Howard Chu
2cda679e3b ITS#9534 fix prev commit 2021-04-24 15:47:03 +01:00
Howard Chu
87099f8e0d ITS#9534 additional
Partially revert 0b20b92ec1
Reuse the client conn for delta-sync startup
2021-04-24 15:45:58 +01:00
Howard Chu
8a72584bd1 ITS#9534 fix delta-sync startup
When transitioning from plain refresh to delta mode, don't
wait for a reschedule, go immediately.
Partially reverts f2740c79b3
2021-04-24 15:38:02 +01:00
Ondřej Kuzník
afa19de2cb ITS#9295 Handle add+delete on a single-value attr 2021-04-12 15:15:02 +00:00
Ondřej Kuzník
e36d1e31c5 ITS#9001 manual changes 2021-03-30 15:46:40 +01:00
Howard Chu
829263c454 ITS#8847 move lutil_sockaddrstr() to ldap_pvt_sockaddrstr() 2021-03-26 13:45:26 +00:00
Howard Chu
f2740c79b3 ITS#8589 syncrepl: defer on REFRESH_REQUIRED
Schedule a new retry instead of immediate looping back. This
will also prevent locking up cn=config replication.
2021-03-21 17:41:19 +00:00
Paul B. Henson
dcca73370b Move slap_sockaddrstr into liblutil 2021-02-24 18:11:09 +00:00
Ondřej Kuzník
ee564399df ITS#9282 Check all csns 2021-02-18 17:31:32 +00:00
Quanah Gibson-Mount
6c469f0793 ITS#7790 - Rename config.h
Rename slapd/config.h to slap-config.h and update accordingly
Rename lloadd/config.h to lload-config.h and update accordingly
2021-02-02 21:26:39 +00:00
Ondřej Kuzník
4da575d451 ITS#7766 Fix previous commit 2021-02-01 16:51:56 +00:00
Ondřej Kuzník
84db7cb21f ITS#7766 Include all relevant attributes in diff 2021-01-28 20:59:17 +00:00
Quanah Gibson-Mount
efaf9a4a17 Happy New Year! 2021-01-11 19:25:53 +00:00