Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-12-13Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2019-12-11Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2019-11-01Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2019-10-26Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2019-10-16Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2019-10-02Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2019-09-19Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2019-09-02Merge branch 'fix-peek-on-puma' into 'master'Rémy Coutable
Fix Peek on Puma Closes #66528 See merge request gitlab-org/gitlab-ce!32213
2019-08-28Rename Labkit::Tracing::GRPCInterceptor to GRPC::ClientInterceptorAndrew Newdigate
The original name has been deprecated
2019-08-28Make performance bar enabled checks consistentSean McGivern
Previously, we called the `peek_enabled?` method like so: prepend_before_action :set_peek_request_id, if: :peek_enabled? Now we don't have a `set_peek_request_id` method, so we don't need that line. However, the `peek_enabled?` part had a side-effect: it would also populate the request store cache for whether the performance bar was enabled for the current request or not. This commit makes that side-effect explicit, and replaces all uses of `peek_enabled?` with the more explicit `Gitlab::PerformanceBar.enabled_for_request?`. There is one spec that still sets `SafeRequestStore[:peek_enabled]` directly, because it is contrasting behaviour with and without a request store enabled. The upshot is: 1. We still set the value in one place. We make it more explicit that that's what we're doing. 2. Reading that value uses a consistent method so it's easier to find in future.
2019-08-23Handle when server info doesn't have the storage in questionJohn Cai
2019-08-09Add Gitaly and Rugged call timing in Sidekiq logsStan Hu
This will help identify Sidekiq jobs that invoke excessive number of filesystem access. The timing data is stored in `RequestStore`, but this is only active within the middleware and is not directly accessible to the Sidekiq logger. However, it is possible for the middleware to modify the job hash to pass this data along to the logger.
2019-07-30Fix exception handling in Gitaly autodetectionStan Hu
In SELinux, the file cannot be written, and `Errno::EACCES`, not `Errno::ACCESS` is thrown. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/65328
2019-07-19Fix Gitaly auto-detection cachingStan Hu
If `GitalyClient#can_use_disk?` returned `false`, it was never cached properly and led to excessive number of Gitaly calls. Instead of using `cached_value.present?`, we need to check `cached_value.nil?`. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/64802
2019-07-18Merge branch 'jc-wrap-rugged-calls-with-disk-access' into 'master'Stan Hu
Wrap rugged calls with access disk block See merge request gitlab-org/gitlab-ce!30592
2019-07-16Wrap rugged calls with access disk blockJohn Cai
Whenever we use the rugged implementation, we are going straight to disk so we want to bypass the disk access check.
2019-07-15Remove catfile cache feature flagJohn Cai
2019-07-10Add a rubocop for Rails.loggerMayra Cabrera
Suggests to use a JSON structured log instead Related to https://gitlab.com/gitlab-org/gitlab-ce/issues/54102
2019-07-09Disabling can_use_disk? temporarilyJohn Cai
2019-07-08Merge branch 'jc-detect-nfs-for-rugged' into 'master'Dmitriy Zaporozhets
Use Rugged if we detect storage is NFS and we can access the disk See merge request gitlab-org/gitlab-ce!29725
2019-07-05Use Rugged if we detect storage is NFS and we can access the diskJohn Cai
Add a module we use as a singleton to determine whether or not rails is able to access the disk
2019-07-05Remove high cardinality Prometheus metricZeger-Jan van de Weg
The metric was used to correlate Gitaly requests to the Rails controller and action combination. However, Kibana provides better observability in this specific metric, and can handle hig cardinality much better. There's no dashboard in Grafana that currently depends on this metric being exposed.
2019-06-18Turn on Cat-File cache by defaultZeger-Jan van de Weg
The feature flag has been introduced an was turned off by default, now the it will default to be turned on. That change would still allow users to turn this feature off by leveraging the Rails console by running: `Feature.disable("gitaly_catfile-cache")` Another option is to manage the number of items the LRU cache will contain, by updating the `config.toml` for Gitaly. This would be the `catfile_cache_size`: https://gitlab.com/gitlab-org/gitaly/blob/0dcb5c579e63754f557aef91a4fa7a00e5b8b127/config.toml.example#L27 Closes: https://gitlab.com/gitlab-org/gitaly/issues/1712
2019-06-18Move Gitaly feature flag logic to Feature::GitalyZeger-Jan van de Weg
The GitalyClient held a lot of logic which was all very tightly coupled. In this instance the feature logic was extracted to make it do just a little less and create a bit more focus in the GitalyClient's responsibilies.
2019-06-03Remove delta island feature flagZeger-Jan van de Weg
Delta islands were implemented last released in: https://gitlab.com/gitlab-org/gitaly/merge_requests/1110. It's been enabled on production and works as expected.
2019-05-07Register "gitaly_delta_islands" feature flagJacob Vosmaer
2019-05-05Run rubocop -a on CE filesStan Hu
2019-04-29Add gitaly session id & catfile-cache feature flagJohn Cai
2019-04-18Migrate correlation and tracing code to LabKitAndrew Newdigate
This change is a fairly straightforward refactor to extract the tracing and correlation-id code from the gitlab rails codebase into the new LabKit-Ruby project. The corresponding import into LabKit-Ruby was in https://gitlab.com/gitlab-org/labkit-ruby/merge_requests/1 The code itself remains very similar for now. Extracting it allows us to reuse it in other projects, such as Gitaly-Ruby. This will give us the advantages of correlation-ids and distributed tracing in that project too.
2019-04-17Add backtrace to Gitaly performance barStan Hu
This adds the backtrace to a table to show exactly where the Gitaly call was made to make it easier to understand where the call originated. This change also collapses the details in the same row to improve the usability when there is a backtrace.
2019-04-01Merge branch 'jc-remove-find-all-tags-ff' into 'master'Douglas Barbosa Alexandre
Remove find all tags feature flag See merge request gitlab-org/gitlab-ce!26746
2019-03-29Merge branch 'sh-fix-gitaly-find-commit-caching' into 'master'Kamil Trzciński
Allow ref name caching CommitService#find_commit Closes #57083 See merge request gitlab-org/gitlab-ce!26248
2019-03-28Remove find all tags feature flagJohn Cai
2019-03-28Guard against nested allows with ref name cachingStan Hu
This avoids the case: ``` allow_ref_name_caching do allow_ref_name_caching do # using-feature end end ```
2019-03-27Allow ref name caching CommitService#find_commitStan Hu
For a given merge request, it's quite common to see duplicate FindCommit Gitaly requests because the Gitaly CommitService caches the request by the commit SHA, not by the ref name. However, most of the duplicate requests use the ref name, so the cache is never actually used in practice. This leads to unnecessary requests that slow performance. This commit allows certain callers to bypass the ref name to OID conversion in the cache. We don't do this by default because it's possible the tip of the branch changes during the commit, which would cause the caller to get stale data. This commit also forces the Ci::Pipeline to use the full ref name so that caching can work for merge requests. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/57083
2019-03-27Log Gitaly RPC duration to api_json.log and production_json.logStan Hu
This makes it easier to debug Gitaly performance issues in the field. This commit also makes the tracking of query time thread-safe via RequestStore.
2019-03-13Run rubocop -aNick Thomas
2019-03-12Add feature flag to enforce gitaly request limitsMark Lapierre
We typically don't want to enforce request limits in production However, we have some production-like test environments, i.e., ones where `Rails.env.production?` returns `true`. We do want to be able to check if the limit is being exceeded while testing in those environments.
2019-03-07Merge branch 'jc-feature-flag-find-all-tags' into 'master'Lin Jen-Shin
Add feature flag for FindAllTags See merge request gitlab-org/gitlab-ce!25615
2019-03-06Check that feature database and table exists for gitaly featuresJohn Cai
2019-03-06Adds the Rubocop ReturnNil copAndrew Newdigate
This style change enforces `return if ...` instead of `return nil if ...` to save maintainers a few minor review points
2019-03-05Add feature flag for FindAllTagsJohn Cai
2019-02-28Revert "Restart Unicorn and Sidekiq when GRPC throws 14:Endpoint read failed"Nick Thomas
This reverts commit 006753110a462e62f549cdf3c410e73eed068dbf.
2019-02-22Only allow 30 RPCs per test case to GitalyZeger-Jan van de Weg
Prior to this change, 35 Gitaly RPCs were allowed. But recently there's been a renewed interest in performance. By lowering the number of calls new N + 1's will pop up. Later commits will add blocks to ignore the raised errors, followed by an issue for each to be fixed.
2019-01-25Merge branch 'elasticsearch-via-gitaly-ee' into 'master'Nick Thomas
Add connection_data method to Gitaly client See merge request gitlab-org/gitlab-ce!24669
2019-01-25Add connection_data method to Gitaly clientValery Sizov
Backport of https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/7434
2019-01-22Adds inter-service OpenTracing propagationAndrew Newdigate
This change allows the GitLab rails and sidekiq components to receive tracing spans from upstream services such as Workhorse and pass these spans on to downstream services including Gitaly and Sidekiq. This change will also emit traces for incoming and outgoing requests using the propagated trace information. This will allow operators and engineers to view traces across the Workhorse, GitLab Rails, Sidekiq and Gitaly components. Additional intra-service instrumentation will be added in future changes.
2018-12-20Log certificate loading errors into sentryAhmad Hassan
2018-12-19Followups on reviewAhmad Hassan
2018-12-17Deduplicate certificatesAhmad Hassan