myxce/.kiro/specs/job-array-single-wal-record
Rongsong Shen 53bd686897 fix(job-array-single-wal-record): free jobArray dataset on scheduler receive path
sched_handle_dataset()'s Data_data_jobArray case never freed
dataset->rows (the decoded xce_job_submit_t*) after sched_on_job_array()
consumed it -- free_Dataset() is an empty no-op for every table type, so
nothing else owned this call. One bounded leak per delivered array push.

Free it via the existing free_JobSubmit_ptr() teardown on both the
success and error path, mirroring the sibling list-shaped cases'
ownership-transfer convention.

Rewrote test_job_array_expand.c's init_job_array() fixture to
heap-allocate + strdup its fields (matching the real wire-decode shape)
since freeing the old stack/string-literal fixture crashed. Redelivery
test now builds a fresh descriptor per delivery, matching how a real
redelivery is always a freshly-decoded wire message.

Closes task 7.3 (job-array-single-wal-record), the last of the three
post-GO residual gaps reopened 2026-07-16.
2026-07-17 07:13:12 +00:00
..
brief.md docs: promote raft-apply-decoupling spec family from /kiro-discovery 2026-07-03 02:41:11 +00:00
design.md feat(job-array-single-wal-record): scheduler-side local expansion of the compact push 2026-07-15 10:10:14 +00:00
requirements.md spec(job-array-single-wal-record): scaffold requirements 2026-07-12 04:25:50 +00:00
spec.json plan(job-array-single-wal-record): reopen spec for residual gap closure 2026-07-16 13:14:03 +00:00
tasks.md fix(job-array-single-wal-record): free jobArray dataset on scheduler receive path 2026-07-17 07:13:12 +00:00