Age | Commit message (Collapse) | Author |
|
|
|
Move logic for local-memory based elections into its own strategies in
preparation for supporting SQL and Consul-based strategies.
|
|
Change uses of \000 to \x00
See merge request gitlab-org/gitaly!1964
|
|
Commit signature parsing must consume all data
Closes #2545
See merge request gitlab-org/gitaly!1953
|
|
Hooks test: ensure git object directory environment variables get to the ruby and custom hooks
See merge request gitlab-org/gitaly!1929
|
|
Replace calls to new with address of literal
See merge request gitlab-org/gitaly!1963
|
|
|
|
|
|
Fix flaky test TestLimiter
Closes #2574
See merge request gitlab-org/gitaly!1965
|
|
This change makes the test more deterministic by waiting for the lower
bound of the maximum-concurrency-range to be satisfied before
proceeding with the test.
Closes https://gitlab.com/gitlab-org/gitaly/-/issues/2574
|
|
Adjust to changed function signature of `runSmartHTTPServer`
See merge request gitlab-org/gitaly!1966
|
|
The signature of `runSmartHTTPServer()` recently changed to not return a
server anymore, but a stop function instead. Update tests in the
smarthttp package that still use the old signature and thus fail to
compile now.
|
|
Allow commits with invalid timezones to be pushed
Closes gitlab#31583
See merge request gitlab-org/gitaly!1947
|
|
Update parser and unparser Ruby gems
See merge request gitlab-org/gitaly!1961
|
|
Commit with no LF byte at the end of the commit message.
`ReadBytes` returns `io.EOF` and all data it read until
EOF. This data must also be taken into account as part of
commit message.
Fixes: https://gitlab.com/gitlab-org/gitaly/-/issues/2545
|
|
get passed from hook to API
|
|
Manual remediation due to
https://gitlab.com/gitlab-org/release-tools/-/issues/413
|
|
Support Go 1.14
See merge request gitlab-org/gitaly!1954
|
|
Add style notes about pointer constructors and byte literals
See merge request gitlab-org/gitaly!1950
|
|
|
|
Extract reference discovery parsing from HTTP analysis code
See merge request gitlab-org/gitaly!1937
|
|
Add TB interface to testhelpers package
See merge request gitlab-org/gitaly!1952
|
|
The reference discovery analysis does not detect if a discovery has
ended prematurely. Let's enforce this to not use any returned stats for
an incomplete discovery.
|
|
The ReferenceDiscovery struct has a set of accessors to access the
values of its internal fields. All accessors return the value verbosely,
though, without any processing at all and are thus trivial.
Given that the package is internal anyway, there is no real need for
defensive coding here, so this commit removes the accessors and makes
the variables public instead.
|
|
The reference discovery analysis code is currently contained in
"analyzehttp.go", implying that it's useful for HTTP transports only.
This commit extracts the code into its own file and provides a nice
interface that's decoupled from the HTTP parsing code in order to make
it reusable for SSH transports.
|
|
Add developer documentation about Git object quarantine
Closes #2542
See merge request gitlab-org/gitaly!1925
|
|
|
|
unparser needs to be updated to allow parser >= 2.6.5.
Full list of changes:
https://github.com/mbj/unparser/blob/master/Changelog.md
parser changes:
https://github.com/whitequark/parser/blob/master/CHANGELOG.md
|
|
Add metric counter for mismatched checksums after replication
Closes #1676
See merge request gitlab-org/gitaly!1943
|
|
|
|
|
|
[ci skip]
|
|
|
|
Automate some of the Gitaly HA demo setup
See merge request gitlab-org/gitaly!1902
|
|
|
|
Praefect test some services
See merge request gitlab-org/gitaly!1932
|
|
Adds TB interface to the testhelpers package and modifies the existing
helpers to use the interface instead of `testing.TB`. This allows for
exporting test helpers from packages without bringing in the `testing`
package and the side effects importing it causes, such as additional
flag definitions in the default flag set.
|
|
Generating the files with of the gitalypb package changed the formatting
of one file, tripping up our CI as it regenerates the files and tests
against an empty diff. By commiting the change into the repository, it's
expected to pass again and we can move forward with the previous commit.
|
|
Personnaly I've been compiling and running Gitaly with this version of
Go since Go 1.14 was released. However, this change adds it to the test
matrix so it's enforced.
Part of: https://gitlab.com/gitlab-org/gitaly/-/issues/2558
|
|
RPC ConsistencyCheck and Praefect "reconcile" subcommand
See merge request gitlab-org/gitaly!1903
|
|
|
|
In the past, some git clients used to output bad timezones in the author
and committer fields under special circumstances. While the error has
been fixed several years ago already, there are repositories which have
such broken commits in their histories. As git-receive-pack complains
about such objects when running with "receive.fsckObjects=true", which
is our default, users cannot push such repos to GitLab.
Disabling the object checks entirely is a bad idea, especially so as
they also verify that no objects are being pushed that try to exploit
known security vulnerabilities. Instead, this commit selectively
disables the check for bad timezones by setting
"receive.fsck.badTimezone=ignore" and adds a test to verify such commits
get accepted.
|
|
Don't push divergent remote branches with keep_divergent_refs
See merge request gitlab-org/gitaly!1915
|
|
Implement analysis for packfile negotiation
See merge request gitlab-org/gitaly!1936
|
|
|
|
The smarthttp service keeps track of all "deepen" actions that are
requested via the upload-pack feature. In order to detect them, we have
a function `scanDeepen()` that parses all pktlines part of the
negotiation process and checks whether they are a "deepen" verb.
As we are going to extend our analysis to include additional features
like "have" and "filter" verbs, we have introduced PackfileNegotiation
statistics into our internal git/stats package. So let's drop the custom
implementation that scans for "deepen" instructions in favor of the more
general stats package.
No functional changes are expected as a result of this refactoring.
|
|
Similar to the reference discovery code, this commit adds a new parser
for the packfile negotiation protocol. It analyses a client stream and
records various information sent by the client like the haves,
capabilities and total number of pktlines sent. This will at a later
stage be used to analyze incoming packfile negotiations and fill in
Prometheus metrics to increase visibility of what features are used by
clients.
|
|
Fix broken tests due to missing argument in nodes.NewManager()
See merge request gitlab-org/gitaly!1945
|
|
The Mgr struct in praefect/nodes has an unused field for the note
latency histogram. As we're keeping track of it for each connection
status already, this field is never used.
Remove it to fix the linter complaining.
|
|
The coordinator test currently fails to compile as two branches that
have been recently merged were intersecting. While 999c0391 (Add
histogram to keep track of node healthcheck latency, 2020-03-13)
introduced a new argument to `nodes.NewManager()`, commit 41304684 (Add
correlation ID to replication jobs, 2020-03-18) added a new test that
uses `nodes.NewManager()` with the old signature.
Fix the issue by adding the missing argument.
|