Quanah Gibson-Mount
1136fabf06
ITS#10433 - Update copyright year
2026-01-28 17:43:12 +00:00
Ondřej Kuzník
89e34fded3
ITS#10265 Allow runtime reconfig of olcBkLloadListen
2025-02-19 18:39:09 +00:00
Quanah Gibson-Mount
073232bbc7
Happy New Year!
2024-03-26 19:45:07 +00:00
Ondřej Kuzník
923483ccea
ITS#9959 Track actual connection local/peername
2023-09-27 14:44:52 +00:00
Ondřej Kuzník
e6e42642ca
ITS#9983 Also fix c_refcnt sequencing
2023-01-19 03:17:59 +00:00
Ondřej Kuzník
0df9d9156a
ITS#9983 Rework op->o_refcnt decref sequencing
...
epoch_append should be called at the point the object is not reachable
anymore, otherwise a thread from a "future" might still access it post
reclamation.
2023-01-19 03:17:59 +00:00
Quanah Gibson-Mount
788e9592ba
Happy New Year!
2022-01-07 18:40:00 +00: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
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
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
e36d1e31c5
ITS#9001 manual changes
2021-03-30 15:46:40 +01:00
Paul B. Henson
146889f205
ITS#9419 Add support for HAProxy proxy protocol v2
2021-02-24 18:11:09 +00:00
Ondřej Kuzník
e030e5eadd
Do not redefine lload_change everywhere
2021-02-04 18:07:25 +00:00
Quanah Gibson-Mount
efaf9a4a17
Happy New Year!
2021-01-11 19:25:53 +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
Ondřej Kuzník
58d66a3946
Fix race between unlinking a client and processing incoming data
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
dc1961cb15
Epoch based memory reclamation
...
Similar to the algorithm presented in
https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-579.pdf
Not completely lock-free at the moment. Also the problems with epoch
based memory reclamation are still present - a thread actively observing
an epoch getting stuck will prevent LloadConnections and LloadOperations
being freed, potentially running out of memory.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
4b3d21146b
Introduce SASL support for upstream connections
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
05e0906f8b
Fix backend starttls= setting being ignored
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
25a4d684fc
Permit lloadd to share slapd TLS context
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
b4f43ed8e1
Refactor backend reset
...
Reuse the connection walking facility in timeout management.
2020-11-17 17:58:15 +00:00
Nadezhda Ivanova
f4a2fdd400
Fix a new backend not being operational if added via cn=config
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
f1ea9da3a0
Reorganise listener support in cn=config and module startup
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
db3961f489
Record connect task to allow canceling it
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
6b10c2988e
Record pending DNS resolution to be able to cancel
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
07401e5829
Implement runtime monitor (un)registration
...
Unregistration is a hack and we shoould either make the subsystems into
an entry (if monitor allows subentry generation) or implement subsystem
unregistration in back-monitor.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
4c355deb3d
Record the backend name
2020-11-17 17:58:14 +00:00
Nadezhda Ivanova
bace795984
Enable dynamic configuration
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
cfe9065824
Introduce infra to handle config changes
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
7f22bac4ac
Introduce a new connection status - gentle shutdown
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
485a169758
Implement pause handlers
2020-11-17 17:58:14 +00:00
Nadezhda Ivanova
2d33032504
Lload cn=monitor initial implementation
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
cbc0ec04c0
Fix pinned operation forwarding
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
003a35c62f
SASL bind support
...
Introduces pinned operations. When SASL bind finishes, we might still
have to maintain a link between the client an an upstream for future
bind operations if we got a SASL Bind in Progress result code. We zero
out the msgids and remember a server-unique identifer on the client and
the relevant operation that lets us retrieve that link again. This
operation is reclaimed just like anything else when connections drop.
Hopefully, this should work for LDAP TXN and VC Exop support with SASL
later as well since it allows for many-to-many links to exist.
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
ddd1acc327
Passing the client directly will allow clearing it from op
2020-11-17 17:58:14 +00:00
Nadezhda Ivanova
8bc7650a7c
Clean ups and renames to coexist with slapd
2020-11-17 17:58:14 +00:00