it doesn't work well in a mixed environment
Change-Id: I90b72e7a0fce1a9e4f815cc89f75b9a6b258ddfa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242679
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
refs #LS-1201
Change-Id: I4240f4b642b1c99bb6dfe3ce88713b597797bea1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242590
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
simplifies lots of things, and it doesn't really matter _which_ schema a collation is in
Change-Id: Iaab931dfcb039cd29dfcabcf0d0b198d21e8b3cf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242525
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes FOO-643
flag = none
TEST PLAN:
1) start jobs
2) run some jobs
3) check logging output, should have shard/account
Change-Id: Id1ad972f2e1d81edf8491ec4751a6a6d8bc9a14b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242275
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
fixes FOO-685
flag = none
TEST PLAN:
1) bulk_insert a bunch of auditor records.
2) they should not get sent to the root partition.
Change-Id: Ie9f6a3af8ba2a05c77ecec89742b651f3f00f7d8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242163
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
test plan:
* with PG <10, nothing should change/break (migrations shouldn't even try to run)
* with pg >=10, run migrations
* it should create collations, and recreate a couple indexes
* going to the users page should not be broken
* specs ensure that the sorting is to our liking
Change-Id: I3eaf42dd2207d733c164c12ef2a43a1c1b417ff2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/241190
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Adds a new model ScheduledSmartAlert which maintains records
or smart alerts to be run in the future, and methods to queue and
process them. Right now we only have the :due_date_reminder smart alert,
but it can be expanded to accomodate other types as well.
Test Plan:
(Verifications will most easily be done in a Rails console)
In a course with active student enrollments
- Create an assignment with a due date in the future
- Verify that a ScheduledSmartAlert record was created for that
Assignment and due date
- Edit the assignment and change the due date to a different future
date
- Verify that the existing ScheduledSmartAlert was updated, and a
duplicate was not created
- Edit the assignment and add a due date override with a date in the
future
- Verify that a ScheduledSmartAlert record was created for that
AssignmentOverride and due date
- Edit the assignment and remove the due date and save
- Verify that the ScheduledSmartAlert record for that Assignment was
deleted
- Edit the assignment and set the due date to the past
- Verify that there is no ScheduledSmartAlert for the Assignment
- Edit the assignment and add a future due date, to create a
ScheduledSmartAlert record
- Delete the assignment and verify that the ScheduledSmartAlert for the
Assignment AND the associated AssignmentOverride were deleted
closes VICE-466
Change-Id: I43fe6e2b9cb97f3ec78ffd53520443540bb7bbc4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238499
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
this is an option we have on removing indexes and other functions
Change-Id: I5b757be50e1b7ad229fbd65a6864045b8400c81b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240394
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
flag=new_sis_integrations
flag=disable_post_to_sis_when_grading_period_closed
closes TALLY-632
Test plan:
- Enable the feature flag "New SIS Integrations" on the site-admin level
- Enable the feature flag "Disable Post to SIS When Grading Period
Closed" on the *root* account you want to test with
- On the account settings page, check the "Automatically disable 'Post
to SIS' on assignments when grading period closes" checkbox and save
settings
- Have a configuration in said root account with multiple grading
periods
- Have one grading period (GP1) that closes in the next few minutes
- Have a course with some students and assignments
- Set the due dates on the assignments
- 1: Due within GP1
- 2: Due before GP1's start date
- 3: Due after GP1's end date
- Set post_to_sis on all the assignments to true
- After the grading period has closed, allow the periodic job to run, or
run it manually using:
> Assignment.disable_post_to_sis_if_grading_period_closed
- The assignment due within GP1 should have had post_to_sis set to
false
- The other assignments should not have been affected
Change-Id: I2bf64a7fb5b09abba0d8e892b70a38ed3e6a78c7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235637
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Adrian Packel <apackel@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
and apply to recent non-transactional migrations
Change-Id: I3ef72208f4c39906905229eb3188eaf4df89c68a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239699
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
also fix foreign_key_for to prefer the obvious FK
Change-Id: I494c4a73aa136bc4a6735231c0957a9f062bdb11
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239688
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
also fix delay_validation with rails 5.2, and constraints can be re-validated
without dropping them
Change-Id: Iab4d2dc374c7b4707d67323d05e8e8e8ff203e47
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239656
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
and use it for a recent non-transactional migration
Change-Id: I28e6fcc22ff1b22064cde2baf600c86a7728038a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239564
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
and use it in recent non-transactional migrations
Change-Id: Ie96e3cbf727403c5dfe9d04bc3403170c076d5b6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239560
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Change-Id: I5a372be579aee0e8d72b1b8d39489bbb104a2ab7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239556
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
to ensure it goes away after the transaction
Change-Id: Ic616c4943ed5f360fdcf9d85383739859af17abb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239551
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
closes OUT-3655
flag=outcome_alignments_course_migration
test plan:
- start up canvas, quiz_api and outcomes
- for an account, provision outcomes service
and sync some course outcomes (see g/235665)
- enable the outcome_alignments_course_migration
and outcome_alignment_non_scoring_content
feature options in the root account of a course
- in a course, create a canvas page and align
an outcome
- export a copy of the course
- create a new course
- import the course content into the new course
- re-sync course outcomes and contexts
- re-import the course content into the new course
- confirm that the new course contains the canvas page
with the outcome aligned to it
Change-Id: Ie5cce9e1f8829736c03fd5f6bc2c7a8c000c8333
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/238973
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Pat Renner <prenner@instructure.com>
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
QA-Review: Michael Brewer-Davis <mbd@instructure.com>
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
fixes CNVS-49087
flag = none
implement deep freezing
for the config values to
stop the pollution
dup all the locations
where the config is either
modified or passed off to
some other library where
it's not clear it was loaded
from a frozen config file
TEST PLAN:
1) load a config file
2) try to change it's key/vals
3) you can't because it's frozen
Change-Id: I15faa230e3c99fe4806154493e238cecec526d1a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236341
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
test plan:
* same as c8b0c29361
(it uses a different query now, so implementation had to change)
Change-Id: I9ce37ef18a9b2040d9ba0e51626f7b6d39a90c40
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235399
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
TEST PLAN:
- try to bulk_insert something with a missing parent
- notice the actual error that occurs
Change-Id: Id93f3f52f0dc3e2ba50e98e144742b38d152bf5c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236204
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
refs USERS-538
Change-Id: Ic77533bf8cca5846a2f165ed3870baeef18adc48
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236166
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
FIXES CNVS-49060
flag = none
when the row count is exactly
the size of the batch, this
prevents the find_in_batches
code from erroring
TEST PLAN:
1) find things in batches
2) force it to make a temp_table with exactly batch_size
3) batch iteration does not fail
Change-Id: I81ce7f6a58fa45e8041f814bac4cf5ec12879026
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/236102
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Gentry Beckmann <gbeckmann@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
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>
fixes USERS-274
test plan:
* have a lot of users in an account (like 500)
* go to /accounts/self/users
* it should load, and show you how many pages there are
* set the timeout to something absurdly low (like Setting.set('pagination_count_timeout', '1ms'))
* go to the page again
* it should still load the first page quickly, but the pages thingy at the bottom should only list
1 and 2, and then an ellipsis
Change-Id: Ibc07036b39a9f4ed19d8824bb9254b23679298d1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234557
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
refs CNVS-48876
flag = none
The only goal for this PS is to get the
tables and models in place to handle auditors
data being written to PG instead of cassanrda.
No actual new writing happens in this change.
create the first couple partitions as a migration
and the previous 12 to have room for backfilling
include partitions migrations for keeping indices
on individual partitions
cron-ify partitioner to keep pre-creating
new partitions for auditor tables
TEST PLAN:
* migrate the database
* do things that trigger auditor writes
- login
- change grades
- publish courses
* nothing should have changed or broken
* auditors tables should be completely empty in PG
* create the first few partitions as a migration
Change-Id: If4e2446a82fb1c91e992a28e62918ff8d8a8c73a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234064
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
so that the default shard will use it as well
this also means MultiCache will load earlier, so move #cluster to Canvas
instead of ApplicationController to reduce how much is loaded. and don't
memoize the value of Rails.cache at that point, since it might not be
fully configured yet if you're not using ha_cache.yml
Change-Id: I104d7a3dcd69c6cb97e4083e198ac06c60700f9e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234253
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
tl;dr: set up the serialized settings column before any instances are
created (including the default shard), so that we don't end up caching
the string value of that column anywhere
Change-Id: I3249a2d910e84c539d4fbb88d61cdcdba103cac3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/234252
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
so rack doesn't try to digest it for an etag
Change-Id: I3ac1cce55a8a2f1a44c18cb05be620f511699d61
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233405
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
* don't bother doing the query when we know there won't be rows to satisfy it
* don't bother creating an index on a very small temp table
Change-Id: Ic24c83275da20cb000532dde895f2dae135e064e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233650
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
test plan
- have sentry config
- canvas should boot
Change-Id: Ifc0657050fa419bc72ba6c27a7ce6d1542a5f6f7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/233075
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
These errors are not meaningful to us in sentry and they produce a large
amount of errors. This will stop sending them to sentry, but will still
create an error report.
test plan
- cause conditional release service error
- it should not show up in sentry
- it should still create an error report
- it should increment counter in stats
flag=none
Change-Id: I0163e4c8c5090f7fafdbccd1fdc0e16964ba550c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232978
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
These errors are not meaningful to us in sentry and they produce a large
amount of errors. This will stop sending them to sentry, but will still
create an error report.
test plan TII
- TII submissions should still work
- on Failure
- should not generate an error report
- should not generate a sentry error
- should send a stat to statsd
- should retry
test plan grade passback
- LTI tool with errors in grade passback
- should not send to sentry
- *should* still create an error report
fixes PLAT-5668
fixes PLAT-3155
flag=none
Change-Id: Iff28e6538798d2bfe80d91721559934d0d3e4329
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232949
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
test plan
- existing errors should work
- have a raven.yml
- populate Settings.set('ignorable_errors', 'some error')
-
Change-Id: I1bbfc003506ef5f15aa7fdb887e0249c84f09c56
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232977
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
so that it's used when loading the default shard's delayed jobs shard
Change-Id: I2a5f20f65720511255885da8bbff3ca54780a469
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232127
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Change-Id: I4a79fe2fd2e9a4203073e1942eef9c8c2852c459
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232319
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
closes APM-16, APM-20
flag = none
also adds context id and user id
to request annotations for APM
configures host-level sampling
TEST PLAN:
* enable apm collection on datadog agent on single test cluster
* push consul config to same cluster for enabling apm sampling
* push consul config depressing host sampling rate to 5%
* delayed job telemetry should show up in ddog
* trace count from active clusters should drop by an order of magnitude
Change-Id: I94d97b299ed14403e8b141629740a1627310b259
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230592
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: David Warkentin <dwarkentin@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
closes APM-11
flag = none
TEST PLAN:
* deploy to some environment with APM enabled
* observe telemetry and confirm root_account
and shard tags
Change-Id: I7246801c51617f10b8b7f3ca69b5d245375e81be
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230415
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: David Warkentin <dwarkentin@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
closes APM-7, APM-8
flag = none
hardcode set to a very low % of client sampling by default
to keep performance impact low.
test plan:
* make sure telemetry is arriving in datadog APM
* ensure trace traffic level is low, only from one cluster
(proves settings are working)
* canvas should not show degradation in response times post deployment
Change-Id: Ifca8d3f6239d6c4e70098dd2b68b9c2a1950e121
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/230064
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
fixes LA-637
flag=none
Test plan
- Verify that as long as you don't have a
separate files domain, you can't reproduce
this issue in dev (should just work out of
the box)
- Install puma-dev from github.com/puma/puma-dev
- Follow the Set up instructions, but configure
at least 1 extra domain (.test and something else
with the -d switch, it looks like `puma-dev -install -d
test:files`)
- Make sure to get the symlink set up
- Add `export THREADS=1` to ~/.powconfig
- In Canvas, in domain.yml under development, add a
files_domain that has the same app name, but a
different domain (ie I set up my domain as
canvas-lms.test and my files domain as
canvas-lms.files), if you switch back to not using
puma-dev, you will need to change these back to
what they were
- Also add ssl: true
- In session_store.yml under development, add secure: true
- To start, set up puma-dev in launchctl `launchctl
load ~/Library/LaunchAgents/io.puma.dev.plist`
- To view the server logs, use `less -R log/development.log`
and then F
- To have Chrome accept the certificates, open your Keychain
Access (on MacOS) and move the Puma-dev CA to System
- Create an HTML file that has a link like 'other_file.jpg'
and upload both files to a Canvas course in the same folder
- In Chrome, turn on the flags for same site by default cookies
and cookies without samesite must be secure
- Open the file and ensure that it is showing the linked
file, and that it is serving it from another domain
- Get an old version of Safari somehow (XCode or otherwise)
(version on iOS 12 will do it) and verify you can
still log in to Canvas
Change-Id: I84e62cc16e3730ffb6bc2d4d7de9b772eedf260e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/227939
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>