commit 4cd5db03b907377a6193dd917121613ba471e1ee
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Mon Jan 31 14:41:40 2022 -0600
build: update v4.7.15
M go.mod
M go.sum
commit 5592a92088f55a513a26faf9744fefdecc211d42
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Mon Jan 24 09:16:50 2022 -0600
fix(consensus): Fix artifact replication loop.
It was possible for artifact replication in a consensus cluster to get
stuck in an infinite loop when the leader asserted an artifact state
that was impossible for followers to sucessfully replicate or
ignore. The foillowing factors contributed to this state, and are
fixed by this patch:
* When asserting artifact dominance, the leader based its known state
for job logs and plugins based on their respective filesystems instead
of the database. This could lead to the followers being told they
needed to pull artifact that were impossible to pull due to them going
through an API path that referred to a nonexistent database object.
This has beeb fixed by having the leader use the jobs and
plugin_providers table to generate the list of job logs and plugin
provider binaries instead of the contents of the filesystem where they
are stored.
* Followers were interpreting a 404 response as an error that could be
resolved by retrying the request. They will now interpret 404 as in
indication that the artifact they are trying to replicate has vanished
instead.
M clitest/test-data/output/TestFilesCli/files.upload.files_test.go.as.greg/greg/stderr.expect
M datastack/etags.go
M datastack/index/index.go
M datastack/stack.go
M go.mod
M go.sum
M tools/test.sh
End of Note