canvas-lms/gems
Ethan Vizitei f558a7c3b3 host-specific circuit breaker
fixes CNVS-48937
flag = none

test plan:
  * start canvas
  * make it talk to some service for some reason
  * force the http call to return timeout errors
  * after enough of those within a short window
     we should start getting circuit breaker errors
  * make the http call not die
  * 15 seconds later circuit breaker errors should
     no longer happen

Change-Id: I3298932114bd2ed4a9e35e78ed41219403d4ee27
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234637
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
2020-04-22 16:06:52 +00:00
..
activesupport-suspend_callbacks rails 5.2 2018-04-25 19:15:20 +00:00
acts_as_list spec: fixes for ruby 2.6 2020-03-09 15:57:06 +00:00
adheres_to_policy stop logging stats in adheres_to_policy 2019-03-21 16:29:16 +00:00
attachment_fu rails 5.2 2018-04-25 19:15:20 +00:00
autoextend Add dependency resolution to autoextend 2019-12-16 21:38:14 +00:00
bookmarked_collection use locale specific order_by in simple bookmarker 2020-04-01 17:29:24 +00:00
broadcast_policy break up broadcast policy to_list on creation 2020-02-29 00:23:29 +00:00
canvas_breach_mitigation use same options for authenticity tokens when resetting 2020-01-29 13:14:13 +00:00
canvas_cassandra distinguish between Cassandra 2 and 3 for getting table list 2017-11-06 17:30:54 +00:00
canvas_color Handle named colors like ‘red’ in theme editor 2018-02-16 23:26:02 +00:00
canvas_crummy add streaming templates: part 1 2019-07-31 19:23:44 +00:00
canvas_dynamodb spec: add html results for i18n gem 2019-08-29 18:58:13 +00:00
canvas_ext rails 5.2 2018-04-25 19:15:20 +00:00
canvas_http host-specific circuit breaker 2020-04-22 16:06:52 +00:00
canvas_i18nliner Make javascript optionalChaining work for i18n_check 2019-09-17 23:05:40 +00:00
canvas_kaltura make CanvasKaltura.cache aware that Rails.cache is dynamic 2018-03-06 05:46:59 +00:00
canvas_mimetype_fu fix file warnings for specs on linux 2018-09-07 21:50:53 +00:00
canvas_panda_pub standardize on json-jwt, and bump to 1.10.2 2019-10-21 15:07:52 +00:00
canvas_partman auditor models and migrations 2020-04-16 20:02:49 +00:00
canvas_quiz_statistics Add user_ids to quiz statistics endpoint 2019-12-04 19:24:27 +00:00
canvas_sanitize Allow "tel:" in anchor tag href attributes 2020-03-30 23:13:32 +00:00
canvas_slug da licença part 53 2017-05-01 21:06:11 +00:00
canvas_sort da licença part 53 2017-05-01 21:06:11 +00:00
canvas_stringex spec: fixes for ruby 2.6 2020-03-09 15:57:06 +00:00
canvas_text_helper da licença part 53 2017-05-01 21:06:11 +00:00
canvas_time rails 5.2 2018-04-25 19:15:20 +00:00
canvas_unzip bump rubyzip to 2.2.0 2020-03-09 14:15:04 +00:00
csv_diff add sis batch setting to disable diffing on high diff row count 2019-04-16 12:31:50 +00:00
diigo da licença part 53 2017-05-01 21:06:11 +00:00
dr_diff spec: get the vendored gems build working in new jenkins 2019-08-21 18:18:20 +00:00
event_stream dual-write path for postgres auditors 2020-04-19 22:25:21 +00:00
google_drive Follow redirect url for Google Doc plugin 2020-04-08 18:15:17 +00:00
html_text_helper spec: a bit of cleanup in gems/ tests 2019-02-06 15:19:17 +00:00
i18n_extraction Upgrade sexp_processor in i18n_extraction 2020-02-14 20:48:44 +00:00
i18n_tasks speed up translations loading 2019-07-01 15:25:30 +00:00
incoming_mail_processor don’t try stuff on nil 2019-05-03 21:01:35 +00:00
json_token da licença part 53 2017-05-01 21:06:11 +00:00
linked_in remove all dependecy on instructure-oauth 2017-07-11 19:21:09 +00:00
live_events spec: unskip live events test 2020-04-15 17:04:05 +00:00
lti-advantage spec: publish test results from gems running rspec 2019-08-28 18:45:17 +00:00
lti_outbound allow whitelisted query param to be added to lti launch body 2018-09-19 18:46:36 +00:00
multipart Escape filename for multipart form uploads 2020-02-04 17:32:54 +00:00
paginated_collection da licença part 53 2017-05-01 21:06:11 +00:00
plugins Responsive Settings Reports Modals 2020-04-13 16:15:32 +00:00
rubocop-canvas add more column removal methods to postdeploy linter 2018-06-26 14:21:37 +00:00
selinimum bump aws-sdk-* gems 2020-02-21 15:41:05 +00:00
stringify_ids Make stringifying stuff work even with uppercase letters 2019-11-15 03:23:34 +00:00
tatl_tael Relax messaging 2019-09-24 21:21:30 +00:00
turnitin_api spec: lock the version of faraday because of bugs in new version 2019-09-30 16:24:00 +00:00
twitter drop Message#asset_context and DelayedNotification#asset_context 2017-08-22 17:47:51 +00:00
utf8_cleaner add missing test to Utf8Cleaner and cleanup 2019-01-11 22:10:24 +00:00
workflow rails 5.2 2018-04-25 19:15:20 +00:00
README.md Add docs on how to run gem tests 2016-03-09 18:08:44 +00:00
test_all_gems.sh spec: don't use a separate script for gems under new jenkins 2019-08-29 16:00:13 +00:00

README.md

Gems

Testing

To test all the gems:

cd gems
./test_all_gems.sh

To test an individual gem

Run ./test.sh inside the gem's folder. This is basically the same as:

cd gems/google_drive
bundle
rspec