remove grade_calculator_performance_improvements release flag

closes EVAL-1285
flag=grade_calculator_performance_improvements

Test Plan:
- specs pass

Change-Id: Ic60680a0bf9936b0b39b728b8caf93ffc90e6b84
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/251886
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
This commit is contained in:
Spencer Olson 2020-11-04 11:22:39 -06:00
parent 11dae30497
commit 6929c029f9
6 changed files with 1 additions and 58 deletions

View File

@ -24,11 +24,6 @@ datadog_rum_js:
applies_to: SiteAdmin
display_name: Datadog RUM JS Agent
description: Include the Datadog RUM JS Agent in the document HEAD.
grade_calculator_performance_improvements:
state: hidden
applies_to: SiteAdmin
display_name: Grade Calculator Performance Improvements
description: Performance improvements for the grade calculation process.
gradebook_dataloader_improvements:
state: hidden
applies_to: SiteAdmin

View File

@ -133,24 +133,13 @@ class GradeCalculator
# done after calculate_hidden_scores -- so changes in that inner call are also captured. But
# it must be done before calculate_course_score so if @update_course_score is true (we are
# scoring a grading period, not a course) we don't trigger an additional alert/live event here.
if performance_improvements_enabled?
create_course_grade_alerts_and_live_events(scores_prior_to_compute)
else
old_create_course_grade_alerts_and_live_events(scores_prior_to_compute)
end
create_course_grade_alerts_and_live_events(scores_prior_to_compute)
calculate_course_score if @update_course_score
end
private
# TODO: delete this method once grade_calculator_performance_improvements is enabled everywhere
def performance_improvements_enabled?
return @performance_improvements_enabled if defined?(@performance_improvements_enabled)
@performance_improvements_enabled = Account.site_admin.feature_enabled?(:grade_calculator_performance_improvements)
end
def effective_due_dates
@effective_due_dates ||= EffectiveDueDates.for_course(@course, @assignments).filter_students_to(@user_ids)
end
@ -162,21 +151,6 @@ class GradeCalculator
uniq
end
# TODO: delete this method once grade_calculator_performance_improvements is enabled everywhere
def old_create_course_grade_alerts_and_live_events(scores)
@course.shard.activate do
ActiveRecord::Associations::Preloader.new.preload(scores, :enrollment)
# Make only one alert per user even if they have multiple enrollments (sections in same course)
scores = scores.uniq{|s| s.enrollment.user_id}
reloaded_scores = Score.where(id: scores.map(&:id)).index_by(&:id)
scores.each do |score|
# Note: only the old score has enrollment pre-loaded
create_course_grade_live_event(score, reloaded_scores[score.id]) if @emit_live_event
old_create_course_grade_alert(score, reloaded_scores[score.id])
end
end
end
def create_course_grade_alerts_and_live_events(scores)
@course.shard.activate do
ActiveRecord::Associations::Preloader.new.preload(scores, :enrollment)
@ -214,25 +188,6 @@ class GradeCalculator
Canvas::LiveEvents.course_grade_change(score, old_score_values, old_score.enrollment)
end
# TODO: delete this method once grade_calculator_performance_improvements is enabled everywhere
def old_create_course_grade_alert(old_score, score)
# Use preloaded enrollment in old_score
thresholds = ObserverAlertThreshold.active.where(student: old_score.enrollment.user_id, alert_type: ['course_grade_high', 'course_grade_low'])
thresholds.each do |threshold|
next unless threshold.did_pass_threshold(old_score.current_score, score.current_score)
next unless threshold.observer.enrollments.where(course_id: @course.id).first.present?
ObserverAlert.create(observer: threshold.observer, student: threshold.student,
observer_alert_threshold: threshold,
context: @course, action_date: score.updated_at, alert_type: threshold.alert_type,
title: I18n.t("Course grade: %{grade}% in %{course_code}", {
grade: score.current_score,
course_code: @course.course_code
}))
end
end
def create_course_grade_alert(old_score, score, thresholds)
thresholds.each do |threshold|
next unless threshold.did_pass_threshold(old_score.current_score, score.current_score)

View File

@ -22,7 +22,6 @@ require_relative '../sharding_spec_helper'
describe GradeCalculator do
before :once do
Account.site_admin.enable_feature!(:grade_calculator_performance_improvements)
course_with_student active_all: true
end

View File

@ -22,7 +22,6 @@ require_relative '../sharding_spec_helper'
describe GradeCalculator do
before :once do
Account.site_admin.enable_feature!(:grade_calculator_performance_improvements)
course_with_student active_all: true
end

View File

@ -351,7 +351,6 @@ describe Lti::LtiOutboundAdapter do
let(:enrollment) { StudentEnrollment.create!(user: user, course: course, workflow_state: 'active') }
before do
allow(Account.site_admin).to receive(:feature_enabled?).with(:grade_calculator_performance_improvements).and_return(true)
allow(BasicLTI::Sourcedid).to receive(:encryption_secret) {'encryption-secret-5T14NjaTbcYjc4'}
allow(BasicLTI::Sourcedid).to receive(:signing_secret) {'signing-secret-vp04BNqApwdwUYPUI'}
assignment.update!(

View File

@ -23,10 +23,6 @@ describe ObserverAlert do
include Api
include Api::V1::ObserverAlertThreshold
before(:each) do
Account.site_admin.enable_feature!(:grade_calculator_performance_improvements)
end
describe 'validations' do
before :once do
@student = user_model