Age | Commit message (Collapse) | Author |
|
|
|
[ci skip]
|
|
[ci skip]
|
|
|
|
[ci skip]
|
|
[ci skip]
|
|
|
|
[ci skip]
|
|
[ci skip]
|
|
|
|
[ci skip]
|
|
[ci skip]
|
|
[13.9] Allow gitaly-ruby to run if log file cannot be written
See merge request gitlab-org/gitaly!3236
|
|
GitLab 13.9.0 fixed the writing of `gitaly_json_ruby.log`, but some
users may have permissions incorrectly set for the logging dir or file.
Since these logs aren't really critical for operation, we should just
warn on failure to open the file and continue to run.
Relates to https://gitlab.com/gitlab-org/gitaly/-/issues/3495
|
|
[ci skip]
|
|
[ci skip]
|
|
|
|
[ci skip]
|
|
[ci skip]
|
|
[ci skip]
|
|
[ci skip]
|
|
[13.9] Fix 500 errors in Wiki pages with trailers containing UTF-8
See merge request gitlab-org/gitaly!3170
|
|
When Wiki pages have trailers such as `Signed-Off-By` that include UTF-8
characters, users would see encoding errors because Protobuf requires
calling the `.b` method on a UTF-8 encoded string
(https://github.com/protocolbuffers/protobuf/issues/4228).
Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/301154
|
|
[ci skip]
|
|
[ci skip]
|
|
[ci skip]
|
|
[ci skip]
|
|
Fix flaky test TestReplMgr_ProcessBacklog
Closes #3392
See merge request gitlab-org/gitaly!3139
|
|
Standardize Praefect and Gitaly timestamps
Closes #3451
See merge request gitlab-org/gitaly!3133
|
|
Revert changelog compilation
See merge request gitlab-org/gitaly!3130
|
|
`grpc.start_time` and `grpc.request.deadline` are inserted and formatted
by go-grpc-middleware. We pull in
https://github.com/grpc-ecosystem/go-grpc-middleware/pull/398 and
configure the timestamps with the Gitaly format.
Closes https://gitlab.com/gitlab-org/gitaly/-/issues/3451
|
|
TestReplMgr_ProcessBacklog is asserting log statements outputted
by ReplMgr when processing jobs. The test is currently waiting until
the context is canceled before checking the log assertions. The
context gets canceled when acknowleding a job in the queue. Not all
log statements are printed out at that point yet, namely the
'replication job processing finished' would only be printed after
acknowledging the job.
This commit fixes the race by making ProcessBacklog block until all
goroutines launched from there have returned. The flaky test case
block on the call, while rest of the code using retains the existing
behavior of running it asynchronously.
|
|
Fix flaky test 'TestNewPostgresListener/invalid_connection'
Closes #3456
See merge request gitlab-org/gitaly!3136
|
|
The test asserts that there's a log statement printed out with the
error that caused the connection failure to Postgres. The error is
sent over a channel to the constructor so an error can be returned
if the first connection attempt fails, likely indicating an invalid
address. The error is sent on the channel prior to logging out the
error though, which causes a race where the constructor might return
and execute the test assertions before the log statement is written.
|
|
Upgrade labkit-ruby to v0.15.0
See merge request gitlab-org/gitaly!3118
|
|
localrepo: Fix lookup of wrong ref if requesting prefix
See merge request gitlab-org/gitaly!3127
|
|
The `localrepo.GetReference()` function is only ever interested in a
single reference, but we call git-for-each-ref(1) without any limit. In
most cases this shouldn't matter as any exact matches would typically
only return a single reference anyway. But if we are for example given a
prefix, then we would first list all references of that prefix only to
fail afterwards because we didn't find the expected reference.
Fix this issue by limiting git-for-each-ref(1) to print a single
reference, only.
|
|
When passing a prefix to git-for-each-ref(1), it'll simply print all
branches whose reference name starts with that prefix. We fail to
account for that in `localrepo.GetReference()`, which as a result may
lead us to simply returning the first branch we've found in case a
prefix is handed to us.
Fix this issue by comparing the returned branch name with what was
searched for. If it doesn't match, then we return an error saying the
reference is ambiguous. Ideally, we'd just tell git to ignore non-exact
matches, but seemingly that isn't possible.
|
|
It's hard to see why updating a reference fails because all we currently
return from `localrepo.UpdateRef` is the error code.
Improve this by also including stderr in the error message.
|
|
When updating a reference fails, we return an error menionting the
reference that was about to be updated as well as its old and new
values. The old and new values have been switched though, leading to a
wrong error message.
Fix this by swapping old and new values.
|
|
Ignore SIGURG in gitaly-wrapper
See merge request gitlab-org/gitaly!3131
|
|
In go1.14+, the go runtime issues SIGURG as an interrupt to support
pre-emptible system calls on Linux. We ignore this signal since it's not
relevant to the Gitaly process.
This reduces a significant amount of log noise.
Relates to https://gitlab.com/gitlab-org/gitaly/-/issues/3454
|
|
This reverts commit 201b9fc220404e8f853595e9b282739115442fdc.
|
|
|
|
[ci skip]
|
|
Fix resolve conflicts for new files
See merge request gitlab-org/gitaly!3027
|
|
This small fix ensures that conflicts between commits for new files will
not return an error. To accomplish this, we provide the same path for
our side of the conflict in place of the missing ancestor so that the
Go implementation of ResolveConflicts emulates the existing Ruby
functionality.
|
|
This test modification adds a new commit to each side of a conflict.
These new commits introduce a conflict for a file path that does not
exist in the common ancestor. The Go implementation incorrectly returns
an error indicating it cannot proceed while the Ruby implementation is
able to successfully resolve the conflict. This reproduces an unexpected
error in the GitLab integration tests. See the following issue for
more details:
https://gitlab.com/gitlab-org/gitaly/-/issues/3419
|
|
Standardize Praefect and Gitaly log formats
Closes #3427
See merge request gitlab-org/gitaly!3121
|
|
Praefect was generating timestamps in the form of
`2021-02-11T17:18:09Z`, while Gitaly included millisecond precision in
`2021-02-11T17:26:53.011Z`.
Closes https://gitlab.com/gitlab-org/gitaly/-/issues/3427
|