Commit 2e216dd4 authored by Dylan Griffith's avatar Dylan Griffith

Do not count rails sql cache as queries in query limiting

parent 11bf575f
......@@ -3,8 +3,10 @@ module Gitlab
class ActiveSupportSubscriber < ActiveSupport::Subscriber
attach_to :active_record
def sql(*)
Transaction.current&.increment
def sql(event)
unless event.payload[:name] == 'CACHE'
Transaction.current&.increment
end
end
end
end
......
require 'spec_helper'
describe Gitlab::QueryLimiting::ActiveSupportSubscriber do
let(:transaction) { instance_double(Gitlab::QueryLimiting::Transaction, increment: true) }
before do
allow(Gitlab::QueryLimiting::Transaction)
.to receive(:current)
.and_return(transaction)
end
describe '#sql' do
it 'increments the number of executed SQL queries' do
transaction = double(:transaction)
allow(Gitlab::QueryLimiting::Transaction)
.to receive(:current)
.and_return(transaction)
User.count
expect(transaction)
.to receive(:increment)
.at_least(:once)
.to have_received(:increment)
.once
end
User.count
context 'when the query is actually a rails cache hit' do
it 'does not increment the number of executed SQL queries' do
ActiveRecord::Base.connection.cache do
User.count
User.count
end
expect(transaction)
.to have_received(:increment)
.once
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment