gitlab-org--gitlab-foss/lib/gitlab
Bob Van Landuyt f1ae1e39ce Move the circuitbreaker check out in a separate process
Moving the check out of the general requests, makes sure we don't have
any slowdown in the regular requests.

To keep the process performing this checks small, the check is still
performed inside a unicorn. But that is called from a process running
on the same server.

Because the checks are now done outside normal request, we can have a
simpler failure strategy:

The check is now performed in the background every
`circuitbreaker_check_interval`. Failures are logged in redis. The
failures are reset when the check succeeds. Per check we will try
`circuitbreaker_access_retries` times within
`circuitbreaker_storage_timeout` seconds.

When the number of failures exceeds
`circuitbreaker_failure_count_threshold`, we will block access to the
storage.

After `failure_reset_time` of no checks, we will clear the stored
failures. This could happen when the process that performs the checks
is not running.
2017-12-08 09:11:39 +01:00
..
auth Renaming AuthenticationException to AuthenticationError 2017-11-17 13:33:21 +01:00
background_migration Process normal paths in batch containing bad paths 2017-12-05 14:57:58 -08:00
badge
bare_repository_import Improve GitLab Import rake task to work with Hashed Storage and Subgroups 2017-11-07 19:11:42 +00:00
bitbucket_import Fix bitbucket wiki import with hashed storage enabled 2017-11-20 16:14:41 +00:00
cache
checks Handle forks in Gitlab::Checks::LfsIntegrity 2017-11-09 13:44:20 +00:00
ci Update pipeline create chain Prometheus metric 2017-12-07 10:27:07 +01:00
conflict
cycle_analytics Remove serialised diff and commit columns 2017-11-28 16:13:40 +00:00
data_builder
database Consistently schedule Sidekiq jobs 2017-12-05 11:59:39 +01:00
dependency_linker
diff Merge branch 'fix_39233' into 'master' 2017-12-07 20:35:39 +00:00
downtime_check
email Create merge request from email 2017-12-05 08:41:58 +01:00
etag_caching
fogbugz_import Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
gfm
git Move the circuitbreaker check out in a separate process 2017-12-08 09:11:39 +01:00
gitaly_client Migrate Git::Repository#fsck to Gitaly 2017-12-08 00:27:11 +00:00
github_import Rename fetch_refs to refmap 2017-11-23 16:59:58 +01:00
gitlab_import Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
google_code_import
gpg
grape_logging/formatters
graphs
health_checks
hook_data Add total_time_spent to the changes hash in issuable Webhook payloads 2017-11-15 15:42:19 +01:00
i18n
import_export Remove serialised diff and commit columns 2017-11-28 16:13:40 +00:00
kubernetes Ensure Namespace's is namespaced in Gitlab::Kubernetes::Helm#initialize and fix a transient failing spec due to that 2017-12-01 15:55:06 +01:00
ldap Merge branch '18040-rubocop-line-break-after-guard-clause' into 'master' 2017-11-20 09:22:14 +00:00
legacy_github_import Rename fetch_refs to refmap 2017-11-23 16:59:58 +01:00
metrics Update prometheus-client-mmap gem to highly optimized version 2017-12-07 17:47:23 +01:00
middleware Revert "check for read_only? first before seeing if request is disallowed" 2017-11-21 15:35:30 +01:00
o_auth Changing OAuth lookup to be case insensitive 2017-11-17 14:24:25 +00:00
performance_bar Fix SQL timings for the performance bar 2017-11-03 15:45:58 +01:00
project_authorizations
prometheus Replce kubernetes_service and deployment_service to deployment_platform 2017-11-28 20:47:59 +09:00
quick_actions
redis
request_profiler
saml Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
sanitizers
serializer
sherlock Ignore SQL CACHE hits in Sherlock 2017-11-03 16:08:37 +01:00
sidekiq_middleware
sidekiq_status
slash_commands
sql Use fuzzy search with minimum length of 3 characters where appropriate 2017-11-27 11:29:40 +01:00
storage_check Move the circuitbreaker check out in a separate process 2017-12-08 09:11:39 +01:00
template Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
testing
utils Add Gitlab::Utils::StrongMemoize 2017-11-13 15:27:30 +00:00
view/presenter
access.rb Clarify wording of protected branch settings for the default branch 2017-11-20 16:09:56 +00:00
allowable.rb
app_logger.rb
asciidoc.rb
auth.rb Merge branch 'dm-fix-registry-with-sudo-token' into 'master' 2017-11-24 09:09:38 +00:00
background_migration.rb
blame.rb
changes_list.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
chat_name_token.rb
ci_access.rb
closing_issue_extractor.rb
color_schemes.rb
config_helper.rb
contributions_calendar.rb
contributor.rb
current_settings.rb
daemon.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
database.rb Merge branch 'mk-add-old-attachments-to-uploads-table' into 'master' 2017-12-07 02:34:58 +00:00
dependency_linker.rb
downtime_check.rb
ee_compat_check.rb In EeCompatCheck, always reset to canonical-ee/master when applying a patch 2017-11-23 10:10:01 +01:00
emoji.rb
encoding_helper.rb Fix encoding bugs in Gitlab::Git::User 2017-11-23 10:48:57 +00:00
environment.rb
environment_logger.rb
exclusive_lease.rb
fake_application_settings.rb
file_detector.rb
file_finder.rb
git.rb add support for the commit reference filter 2017-12-07 09:01:37 -05:00
git_access.rb refactor code to match EE changes 2017-12-07 17:13:40 +01:00
git_access_wiki.rb refactor code to match EE changes 2017-12-07 17:13:40 +01:00
git_logger.rb
git_post_receive.rb
git_ref_validator.rb
gitaly_client.rb Remove Rugged::Repository#empty? 2017-12-07 15:33:30 +00:00
github_import.rb Rename fetch_refs to refmap 2017-11-23 16:59:58 +01:00
gl_id.rb
gl_repository.rb
gon_helper.rb Icon Sprite URL is also local even if asset_host is set 2017-11-09 10:38:00 +01:00
gpg.rb
group_hierarchy.rb
highlight.rb
i18n.rb
identifier.rb
import_export.rb Remove serialised diff and commit columns 2017-11-28 16:13:40 +00:00
import_formatter.rb
import_sources.rb Replace old GH importer with the parallel importer 2017-11-07 23:25:03 +01:00
incoming_email.rb
issuable_metadata.rb Fail when issuable_meta_data is called on an unlimited collection 2017-11-07 16:26:55 +00:00
issuable_sorter.rb
issuables_count_for_state.rb
issues_labels.rb
job_waiter.rb Rewrite the GitHub importer from scratch 2017-11-07 23:24:59 +01:00
kubernetes.rb
lazy.rb
lfs_token.rb Fix Error 500 when pushing LFS objects with a write deploy key 2017-11-08 16:21:39 +00:00
logger.rb
mail_room.rb
markup_helper.rb
metrics.rb
multi_collection_paginator.rb Remove the selects when counting the last page 2017-11-17 16:20:47 +01:00
optimistic_locking.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
other_markup.rb
otp_key_rotator.rb
pages.rb
pages_transfer.rb
path_regex.rb Speed up Unicorn specs by using a dummy Rack application instead of GitLab 2017-11-22 19:51:57 +00:00
performance_bar.rb
polling_interval.rb
popen.rb
project_search_results.rb fix for special charecter in file names 2017-11-30 09:57:58 +00:00
project_template.rb
project_transfer.rb
prometheus_client.rb
protocol_access.rb
recaptcha.rb
reference_counter.rb
reference_extractor.rb Refactor banzai to support referencing from group context 2017-12-06 19:16:22 +01:00
regex.rb Update container repository path reference 2017-11-16 09:31:07 +01:00
repo_path.rb
repository_check_logger.rb
request_context.rb
request_forgery_protection.rb
request_profiler.rb
route_map.rb
routing.rb Don't add a trailing slash in group redirects 2017-11-16 17:13:40 +00:00
search_results.rb Drastically improve project search performance by no longer searching namespace name 2017-11-24 15:57:17 +01:00
seeder.rb Don't disable the Rails mailer when seeding the test environment 2017-12-01 14:01:15 -06:00
sentry.rb
shell.rb Fix the fork project functionality for projects with hashed storage 2017-12-04 09:42:14 +00:00
shell_adapter.rb Memoize GitlabShellAdapter for performance and ease of testing 2017-11-20 23:28:49 -08:00
sherlock.rb
sidekiq_config.rb Add ApplicationWorker and make every worker include it 2017-12-05 11:59:39 +01:00
sidekiq_logger.rb
sidekiq_status.rb
sidekiq_throttler.rb
snippet_search_results.rb
ssh_public_key.rb
storage_check.rb Move the circuitbreaker check out in a separate process 2017-12-08 09:11:39 +01:00
string_range_marker.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
string_regex_marker.rb
themes.rb
time_tracking_formatter.rb
timeless.rb
untrusted_regexp.rb
update_path_error.rb
upgrader.rb
uploads_transfer.rb
url_blocker.rb Merge branch 'ssrf-protections-round-2' into 'security-10-1' 2017-11-08 20:11:08 -08:00
url_builder.rb
url_sanitizer.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
usage_data.rb Allow password authentication to be disabled entirely 2017-11-23 13:16:14 +00:00
user_access.rb
user_activities.rb
utils.rb Backport which from EE 2017-12-01 15:26:40 -08:00
version_info.rb
visibility_level.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
workhorse.rb Remove Ci::Build#artifacts_file? 2017-12-03 12:04:49 +01:00