1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-05 09:18:06 +03:00
samba-mirror/ctdb/common
Xavi Hernandez 60550fbe18 Fix starvation of pending writes in CTDB queues
CTDB uses a queue to receive requests and send answers. It works
asynchronously using the tevent framework. However there was an issue
that gave priority to the receiving side so, when a request was
processed and the answer posted to the queue, if another incoming
request arrived, it was served before sending the previous answer.

This scenario could repeat for long periods of time if the frequency of
incoming requests was high enough.

Eventually, a small time gap between incoming request gave a chance to
process the pending output queue, sending many answers in a burst.

This patch makes sure that both queues (input and output) are processed
if the event contains the appropriate flag.

Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>

Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Mon Jul  1 09:17:43 UTC 2024 on atb-devel-224
2024-07-01 09:17:43 +00:00
..
cmdline.c ctdb-common: Remove signed/unsigned comparisons 2020-02-18 02:56:38 +00:00
cmdline.h ctdb:common: Fix code spelling 2023-03-24 07:01:31 +00:00
comm.c
comm.h spelling of associated 2019-02-13 04:15:14 +01:00
common.h ctdb-common: Remove old runstate/string translation functions 2024-03-06 06:05:38 +00:00
ctdb_io.c Fix starvation of pending writes in CTDB queues 2024-07-01 09:17:43 +00:00
ctdb_ltdb.c ctdb: Add missing newlines to logging messages 2023-08-08 04:39:36 +00:00
ctdb_util.c lib: Give lib/util/util_file.c its own header file 2024-04-16 23:51:45 +00:00
db_hash.c
db_hash.h
event_script.c ctdb-common: Fix signed/unsigned comparisons by casting 2019-07-05 05:03:24 +00:00
event_script.h ctdb-common: Factor out basic script abstraction 2018-07-28 17:14:11 +02:00
hash_count.c
hash_count.h
logging.c lib/util: Add "debug syslog format = always", which logs to stdout in syslog style 2023-04-06 12:51:30 +00:00
logging.h ctdb-common: Add support for reopening logs 2022-01-17 03:43:30 +00:00
path_tool.c ctdb-common: Add section to group commands in cmdline 2019-11-14 10:38:34 +00:00
path_tool.h ctdb-common: Add path tool 2018-05-12 12:06:28 +02:00
path.c ctdb-common: Fix signed/unsigned comparisons by casting 2019-06-05 10:25:49 +00:00
path.h ctdb-common: Add path support for datadir 2018-07-11 11:48:38 +02:00
pidfile.c lib: Make pidfile_path_create() return the existing PID on conflict 2021-03-16 17:09:32 +00:00
pidfile.h ctdb-common: Rename pidfile_create() -> pidfile_context_create() 2017-08-02 03:39:11 +02:00
pkt_read.c
pkt_read.h
pkt_write.c
pkt_write.h
rb_tree.c ctdb:common: Fix code spelling 2023-03-24 07:01:31 +00:00
rb_tree.h ctdb:common: Fix code spelling 2023-03-24 07:01:31 +00:00
reqid.c
reqid.h ctdb:common: Fix code spelling 2023-03-24 07:01:31 +00:00
run_event.c ctdb-common: Fix signed/unsigned comparisons by declaring as unsigned 2019-07-05 05:03:24 +00:00
run_event.h ctdb-common: Add support to run events through failure 2018-06-05 22:34:19 +02:00
run_proc.c ctdb: Fix a use-after-free in run_proc 2022-10-06 15:10:20 +00:00
run_proc.h Fix spelling s/allows to/allows one to/ 2018-05-12 02:09:25 +02:00
sock_client.c ctdb: Check return values of tevent_req_set_endtime() 2018-05-17 01:09:46 +02:00
sock_client.h ctdb:common: Fix code spelling 2023-03-24 07:01:31 +00:00
sock_daemon.c ctdb-common: Separate sock_daemon's SIGHUP and SIGUSR1 handling 2022-01-17 03:43:30 +00:00
sock_daemon.h ctdb:common: Fix code spelling 2023-03-24 07:01:31 +00:00
sock_io.c ctdb-common: Fix signed/unsigned comparisons by casting 2019-07-05 05:03:24 +00:00
sock_io.h
srvid.c ctdb-common: Extend srvid_exists() check to support optional private_data 2017-09-21 08:53:26 +02:00
srvid.h ctdb/common/srvid.h: typo fixes 2019-10-31 00:43:38 +00:00
system_socket.c ctdb-common: Set immediate mode for pcap capture 2023-08-15 10:53:52 +00:00
system_socket.h ctdb-common: Drop function parse_ip_mask() and supporting functions 2018-07-27 05:45:21 +02:00
system.c Fix spelling mistakes. 2022-09-12 02:29:32 +00:00
system.h ctdb-common: Drop unused function mkdir_p_or_die() 2018-07-27 08:42:20 +02:00
tmon.c ctdb-common: CID 1507498: Control flow issues (DEADCODE) 2022-08-01 09:19:55 +00:00
tmon.h ctdb:common: Fix code spelling 2023-03-24 07:01:31 +00:00
tunable.c ctdb-common: Add function ctdb_tunable_load_file() 2022-04-06 06:34:37 +00:00
tunable.h ctdb-common: Add function ctdb_tunable_load_file() 2022-04-06 06:34:37 +00:00