Merged PRs
dolt
- 10509: fix concurrent git remote operations
When multiple SQL connections run remote operations (like dolt_push) concurrently against a git-backed remote, three race
conditions could cause panics or data corruption:
(1) two writers racing to initialize the same local cache repository would collide on git init and git remote add, now serialized with a file lock and made idempotent.
(2) a failed manifest compare-and-swap would cache an empty manifest and poison all subsequent reads, now fixed by re-reading the manifest after a CAS failure.
(3) after a successful push, an overwrite-all cache merge could clobber entries written by a concurrent push, now
fixed by using an append-only cache merge with a targeted force-update only for the key that was just written. - 10504: fix git creds: disable git interactive mode so dolt fails fast when creds are not stored or cached
This PR disables interactive mode for all Git commands, which are executed while working with Git remotes. This removes the onus on Dolt to do fragile Git credentialing workarounds and instead requires users to setup their environment to have non-interactive Git credentials configured. Dolt will now fail-fast if a Git sub-process hits a permissions/credentials error, with output like:➜ repo1 git:(main) ✗ dolt push origin main / Uploading...failed to get remote db; the remote: origin 'git+ssh://git@github.com/coffeegoddd/bug_repro.git' could not be accessed; git authentication required but interactive prompting is disabled Hints: - HTTPS: configure git credentials (credential helper, token) ahead of time - SSH: use ssh-agent / keychain and verify `ssh -o BatchMode=yes <host>` works - GCM: ensure non-interactive auth is configured Git output: git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. Original error: git ls-remote --heads -- origin failed: exit status 128 output: git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
- 10499: Bh/azure remotes