diff --git a/app/models/auditors/feature_flag.rb b/app/models/auditors/feature_flag.rb index 3b60ee9b1ca..7cd9f89c19b 100644 --- a/app/models/auditors/feature_flag.rb +++ b/app/models/auditors/feature_flag.rb @@ -103,6 +103,7 @@ class Auditors::FeatureFlag table :feature_flags record_type Auditors::FeatureFlag::Record read_consistency_level -> { CanvasCassandra::DatabaseBuilder.read_consistency_setting(:auditors) } + self.raise_on_error = true add_index :feature_flag do table :feature_flag_changes_by_feature_flag diff --git a/spec/models/auditors/feature_flag_spec.rb b/spec/models/auditors/feature_flag_spec.rb index d221f19e9d2..5f94fe891bd 100644 --- a/spec/models/auditors/feature_flag_spec.rb +++ b/spec/models/auditors/feature_flag_spec.rb @@ -107,5 +107,11 @@ describe Auditors::FeatureFlag do pg_record = Auditors::ActiveRecord::FeatureFlagRecord.where(uuid: @event.id).first expect(Auditors::FeatureFlag.for_feature_flag(@flag).paginate(per_page: 10)).to include(pg_record) end + + it "does not swallow auditor write errors" do + test_err_class = Class.new(StandardError){ } + allow(Auditors::ActiveRecord::FeatureFlagRecord).to receive(:create_from_event_stream!).and_raise(test_err_class.new("DB Error")) + expect { Auditors::FeatureFlag.record(@flag, @user, 'on') }.to raise_error(test_err_class) + end end end