22106 FIX job: explain in the details what information is missing
"Got incomplete information for this job" was yielded from three different situations and told them apart in none of them: no file of a completed run at all, one without an exit code, one without a start time. So was the WARN about a running file we cannot date, which at least named the pid. The summary of the UNKNOWN stays as it is, because werk 22105 quotes it and because the state is what the service list is for. The details of each of them now say in one line what is missing and what most likely caused it - as a suspicion, because that is all it can be from here. The reasoning behind each suspicion stays in the source, where it is of use to us and not to the admin reading a service. The missing exit code needed that reasoning written down, because it is the one case that looks unreachable at first: since 2.3.0 mk-job writes the exit code from the shell, unconditionally and last, and werk 15450 made the move into place atomic. That atomicity is rename(2), though, and mv can only rename within a filesystem. With $TMPDIR elsewhere - a tmpfs /tmp, or any unit with PrivateTmp=yes - mv copies to the final name instead, and a copy that fails or is interrupted leaves the file truncated for good, missing the last line it was about to write. Verified by hand: a cross-filesystem mv cut short leaves the partial file at the completed name, and the plug-in reads it as a completed job without an exit code. That also makes an empty file say the same thing, which is why there is nothing left to distinguish between the two. CMK-35333 Change-Id: I17938b80c644a9a9832cb46a52d2a55ac7aeda45
A
Andreas Hasenkopf committed
f5c955653595a245567888134d6cd689f1f8d488
Parent: bd1cee4
Committed by Jenkins <jenkins@review.lan.tribe29.com>
on 8/25/2026, 8:06:04 AM