myxce/src/include
Rongsong Shen ca1d9ae42d fix(ha-commit-engine): raise commit-barrier default 50->500ms + add --sync-timeout-ms
Live symptom: jobsub intermittently failed with 'Connection timed out' even
though the cluster had quorum. Root cause: the synchronous commit barrier waits
only DEFAULT_SYNC_TIMEOUT_MS=50ms for durable majority replication, and that was
not configurable. 50ms is too tight for durable sync majority replication —
especially since standbys now fdatasync each replicated entry before ACK — so a
multi-entry jobsub's later WAL entry intermittently misses the window:
  commit: WAIT deadline expired without commit (lsn=3 committed_lsn=2 timeout_ms=50)
-> persist hook returns -ETIMEDOUT -> handle_jobsubmit rejects -> client ETIMEDOUT.

Fix:
- Raise DEFAULT_SYNC_TIMEOUT_MS 50 -> 500 (config.h) — realistic for durable sync
  majority replication, still bounded for failure detection.
- Add a --sync-timeout-ms controller flag threaded arguments -> myconf ->
  persist pcfg (override applied before persist_init); 0 = use default, positive
  overrides — so operators can tune per environment.

TDD: literal-pinned persist_config_defaults().sync_timeout_ms == 500. All
timeout-sensitive tests already pass an explicit timeout_ms (none rely on the
default), so none are slowed; full controller suite green under ASAN. No
commit-engine/barrier/replication/wire change beyond the default value + plumbing.
bug-561.
2026-06-14 20:19:05 +00:00
..
xce test(ha-convergence-recovery): RED egress-filter tests + submit_lsn field + dataex decls (task 1.1) 2026-06-14 01:40:22 +00:00
attrs.h improve xkvmgr and testsuite for scheduler 2026-02-26 14:39:12 +08:00
bitset.h - introduce bitset 2026-02-13 11:01:33 +08:00
byteorder.h fix: ha_seed_jitter loop-until-full partial read; byteorder.h musl portability 2026-05-13 14:18:43 +00:00
client.h feat: P0-2a C-side plumbing for host control 2026-04-17 07:46:41 +00:00
clusterconfig.h fix(ha-bootstrap): restore vcpus@7 field as deprecated UInt32 for config blob backward compatibility 2026-05-29 13:55:23 +00:00
config.h fix(ha-commit-engine): raise commit-barrier default 50->500ms + add --sync-timeout-ms 2026-06-14 20:19:05 +00:00
configobj.h save works 2026-03-03 16:49:26 +08:00
ctrl_metrics.h feat: P3-7 ctrl_metrics — 7 atomic counters/gauges + descriptor table + persist wiring 2026-05-08 00:04:06 +00:00
dataq.h use nix build & meson & zlog 2025-11-03 18:19:59 +08:00
delay.h feat(election-iomgr-refactor): add delay_task_ms() for ms-granularity one-shot tasks 2026-05-30 07:15:54 +00:00
group.h save works 2026-03-03 16:49:26 +08:00
helper.h feat: fill scheduler controller message gaps 2026-05-12 07:01:52 +00:00
hook.h feat: xce_disable_hook() + _Atomic hook_fn_t + NULL-slot reuse (P1-2a) 2026-05-07 13:55:42 +00:00
htab.h reformat code and job array 2025-11-07 16:14:27 +08:00
idgen.h jobid generate 2025-11-07 18:17:34 +08:00
jobj.h save works 2026-03-02 12:14:30 +08:00
kv.h feat: implement kvmgr_capture_keys for lock-free checkpoint serialization (P0-14a) 2026-05-07 11:07:41 +00:00
kvmgr.h feat: implement kvmgr_capture_keys for lock-free checkpoint serialization (P0-14a) 2026-05-07 11:07:41 +00:00
misc.h 1st workable scheduler with resource from controller 2025-12-31 15:50:52 +08:00
myconf.h fix(ha-commit-engine): raise commit-barrier default 50->500ms + add --sync-timeout-ms 2026-06-14 20:19:05 +00:00
mylock.h use nix build & meson & zlog 2025-11-03 18:19:59 +08:00
netio.h feat(election-iomgr-refactor): add on_connected fire-once callback to endpoint_t 2026-05-30 07:34:08 +00:00
objs.h update controller code 2025-11-05 16:58:57 +08:00
ordq.h pass pend reason back to controller 2025-12-23 15:29:26 +08:00
persist.h fix(ha-wal-replication): standby durably persists replicated WAL before ACK 2026-06-14 13:10:02 +00:00
preason.h scheduling using real slots number 2025-12-30 18:13:15 +08:00
qobj.h save works 2026-03-02 12:14:30 +08:00
repl.h feat(ha-commit-barrier-rollout): config barrier with production ACK ingestion (task 5.2 + r1) 2026-06-13 03:46:29 +00:00
request.h chore: baseline snapshot — prior-session work + ha-consistency-invariants spec family 2026-06-11 13:21:50 +00:00
resobj.h save works 2026-03-03 16:49:26 +08:00
resreq.h fix select eval ctx share 2026-05-07 04:37:18 +00:00
typemap.h feat(ha-wal-replication): standby WAL ACK reply (tasks 3.1-3.3) 2026-06-10 09:14:25 +00:00
utils.h fix(persist): zero nresvals_to_sched after free_name_val_list 2026-05-20 09:39:07 +00:00
vtaskmgr.h security communication with openssl and simplify netio 2025-11-18 11:26:36 +08:00
wal_types.h feat(ha-single-leader-role): WAL_NOOP entry type — enum + apply no-op + RETAIN classify (task 1.2) 2026-06-13 07:45:21 +00:00
wobj.h save works 2026-03-02 12:14:30 +08:00
xcealloc.h scheduling using real slots number 2025-12-30 18:13:15 +08:00
xceapi.h feat: P0-2a C-side plumbing for host control 2026-04-17 07:46:41 +00:00
xcectx.h support passing args to request handle for elimination of global var 2025-12-11 17:07:51 +08:00
xcelimit.h save works 2026-03-03 16:49:26 +08:00
xcelog.h use clang-format to format code 2025-11-25 14:58:09 +08:00
xlist.h support limit 2026-01-12 15:27:54 +08:00
xstring.h save works 2026-03-03 16:49:26 +08:00
xvec.h using xvec related api in scheduler 2026-01-16 18:21:37 +08:00
zarray.h use librtti for worker/queue/resource 2026-02-25 16:56:50 +08:00