![]() fixes CNVS-15153 * don't raise if the configured cassandra database can't be connected to; instead, return nil (uncached, so it can be retried next time) and treat it as connected but unavailable * allow configuring whether an error is re-raised (configured true for test only in canvas), rather than peeking into rails directly from event stream. * allow registering callbacks to run on insert/update error via on_error * on insert/update error, before (maybe) reraising the error, call any registered callbacks * configure canvas to log to Rails.logger and statsd (removed from EventStream::Failure) on insert/update error EventStream::Failure is now unused, but not yet removed from the code. it should be considered deprecated and remain unused; it will be removed in the near future. test-plan: - start canvas in non-test mode (e.g. development mode) with cassandra and statsd configured and running - turn off cassandra, so even stream inserts should fail - change a grade (to trigger a GradeChange event) - with cassandra off, event insert should fail, but should *not* impede the remainder of the grade change action - EventStream::Failure record should *not* be created in the database - an error line should appear in the Rails log for the failed insert - the appropriate 'event_stream_failure.*' statsd counters should be incremented Change-Id: I5c6d29c2a08276ccc06ebc8c1a59e0d33ce2cc4e Reviewed-on: https://gerrit.instructure.com/40088 QA-Review: August Thornton <august@instructure.com> Tested-by: Jenkins <jenkins@instructure.com> Reviewed-by: Brian Palmer <brianp@instructure.com> Product-Review: Jacob Fugal <jacob@instructure.com> |
||
---|---|---|
Gemfile.d | ||
app | ||
bin | ||
client_apps | ||
config | ||
db/migrate | ||
doc | ||
gems | ||
guard | ||
lib | ||
loom | ||
public | ||
script | ||
spec | ||
vendor/plugins | ||
.bowerrc | ||
.fontcustom-manifest.json | ||
.gitignore | ||
.jshintrc | ||
.travis.yml | ||
CONTRIBUTING.md | ||
COPYRIGHT | ||
Gemfile | ||
Guardfile | ||
LICENSE | ||
README.md | ||
Rakefile | ||
bower.json | ||
config.ru | ||
karma.conf.js | ||
package.json |
README.md
Canvas LMS
Canvas is a new, open-source LMS by Instructure Inc. It is released under the AGPLv3 license for use by anyone interested in learning more about or using learning management systems.
Please see our main wiki page for more information
Installation
Detailed instructions for installation and configuration of Canvas are provided on our wiki.