Commit graph

247 commits

Author SHA1 Message Date
Ondřej Kuzník
4588f4e528 ITS#9597 Fix NoD support 2021-08-13 16:01:13 +01:00
Ondřej Kuzník
e78ecead09 ITS#9600 Support closing connections on request 2021-08-13 10:57:14 +01:00
Ondřej Kuzník
e9dfb7d21d ITS#9600 Rework monitor entry management
Connection entries are now persistent and can be addressed, preparing
the ground so we can process modify operations on individual entries.
2021-08-13 10:57:14 +01:00
Ondřej Kuzník
6d95cc3935 ITS#9599 Online latency tracking 2021-08-13 10:57:14 +01:00
Ondřej Kuzník
8219a3a414 ITS#9599 Push based latency tracking 2021-08-13 10:57:14 +01:00
Ondřej Kuzník
84dab3f961 ITS#9599 Add bestof tier implementation 2021-08-13 10:57:14 +01:00
Ondřej Kuzník
1ca559668f ITS#9599 Add latency tracking 2021-08-13 10:57:14 +01:00
Ondřej Kuzník
ab90bfd95c ITS#9599 Implement tiered load balancing 2021-08-13 10:57:14 +01:00
Ondřej Kuzník
ddc9430727 ITS#9598 Per OID restrictions 2021-08-13 10:57:14 +01:00
Ondřej Kuzník
0190f18b4c ITS#9598 Introduce backend-restricted selection 2021-08-13 10:57:14 +01:00
Ondřej Kuzník
7173e4726e ITS#9598 Factor out upstream checking 2021-08-13 10:57:13 +01:00
Ondřej Kuzník
b66a62799d ITS#9597 Send Notice of Disconnection when shutting down a client connection 2021-08-13 10:57:13 +01:00
Ondřej Kuzník
96d0eec034 ITS#8747 Use the same message when upstream connection is ready 2021-08-13 10:57:13 +01:00
Ondřej Kuzník
8b24104d1a ITS#9624 Read state while holding relevant mutex, cache if needed 2021-08-04 15:30:36 +00:00
Ondřej Kuzník
71de64fac4 ITS#9624 Make sure we reset only for Binds 2021-08-04 15:30:36 +00:00
Ondřej Kuzník
7c17f06197 ITS#9624 We've already checked before we call request_extended 2021-08-04 15:30:36 +00:00
Ondřej Kuzník
b4afe00942 ITS#9576 Put the used table in ConfigArgs 2021-06-21 16:36:06 +00:00
Ondřej Kuzník
3138c8d5db ITS#9363 Some missed MAGIC defaults 2021-06-21 16:36:06 +00:00
Ondřej Kuzník
2d78b6274f ITS#8747 Allow olcBkLloadClientMaxPending in cn=config 2021-06-21 16:36:06 +00:00
Ondřej Kuzník
cba03e49a4 ITS#8747 Protect shutdown code while workers are still alive 2021-05-10 18:49:13 +00:00
Ondřej Kuzník
8e4d7ffe79 ITS#8747 Remove c_private from LloadConnection 2021-05-10 18:49:13 +00:00
Ondřej Kuzník
1cb65102ce ITS#8747 Keep an explicit backend pointer 2021-05-10 18:49:13 +00:00
Ondřej Kuzník
3802fa9217 ITS#8747 Fix lloadd builds --without-tls 2021-05-10 18:49:13 +00:00
Ondřej Kuzník
a186fd70ab ITS#8747 Do not continue reading if connection is dying 2021-05-10 18:49:13 +00:00
Ondřej Kuzník
4f4997551d ITS#8747 Avoid epoch recursion in connection_write_cb 2021-05-10 18:49:13 +00:00
Ondřej Kuzník
2c1bb42f01 ITS#8747 Do not observe an epoch while calling dispose_cb 2021-05-10 18:49:13 +00:00
Ondřej Kuzník
9bbbbf5f6a ITS#9502 TCP_USER_TIMEOUT for lloadd 2021-04-22 21:52:12 +00:00
Ondřej Kuzník
72caa56a8c ITS#8707 systemd notifications from lloadd 2021-04-20 22:54:19 +00:00
SATOH Fumiyasu
f3501534d4 ITS#8707 - Add slapd.service and lloadd.service for systemd 2021-04-20 22:54:19 +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
bb6844e296 ITS#7295 don't init TLS threads by default
Do it explicitly in servers
2021-03-21 15:26:57 +00:00
Paul B. Henson
146889f205 ITS#9419 Add support for HAProxy proxy protocol v2 2021-02-24 18:11:09 +00:00
Paul B. Henson
dcca73370b Move slap_sockaddrstr into liblutil 2021-02-24 18:11:09 +00:00
Ondřej Kuzník
5fa0a651f5 revert: libevent 2.0 support 2021-02-24 18:11:09 +00:00
Quanah Gibson-Mount
5b2988ca54 ITS#9327 - Use STRIP_OPTS for lloadd 2021-02-17 19:55:25 +00:00
Quanah Gibson-Mount
ce2c5173bd ITS#9161 - Fix various typos
Fix a number of different typos across the code base
2021-02-17 18:42:46 +00:00
Ondřej Kuzník
e030e5eadd Do not redefine lload_change everywhere 2021-02-04 18:07:25 +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
Quanah Gibson-Mount
efaf9a4a17 Happy New Year! 2021-01-11 19:25:53 +00:00
Ondřej Kuzník
323bb1d9a4 Handle upstream rejecting a StartTLS exop 2020-11-17 17:58:15 +00:00
Ondřej Kuzník
0abf3f5bc9 Flush cache before calling dispose()
This needs to be confirmed:
Location based atomics do not imply a full fence of the same level. So
to get the code in dispose() read the actual data, it seems we need to
initiate a fence.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
dfbed44b3e Do not accept requests with msgid == 0
It is used internally to identify pinned operations and should not be
encountered over the wire.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
dfbf25d579 Honour keepalive settings for upstreams 2020-11-17 17:58:15 +00:00
Ondřej Kuzník
25fff30e39 Let the last thread dispose of pending references
If we're idle, there might be objects pending cleanup for the last two
epochs. Unless another thread comes in and checks into a new epoch or we
shut down, they will linger forever.

If one of the objects was a connection, it wouldn't get closed and be
stuck in CLOSE_WAIT state, potentially refusing another ligitimate
connection if its socket address were to match the one we're yet to
close.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
41a74b4689 Introduce the notion of experimental features 2020-11-17 17:58:15 +00:00
Ondřej Kuzník
1f6d8611a3 Implement read throttling when writes backlog
Reject operations in such a case with LDAP_BUSY. If read_event feature
is on, just stop reading from the connection. However this could still
result in deadlocks in reasonable situations. Need to figure out better
ways to make it safe and still protect ourselves.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
68b163fca9 Introduce mutex checks
Switched off unless thread debugging is on, but still useful for static
analysis.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
62a806b243 Thread error checking 2020-11-17 17:58:15 +00:00
Ondřej Kuzník
1328777a85 Fix a SASL channel-binding leak 2020-11-17 17:58:15 +00:00