diff options
author | Stan Hu <stanhu@gmail.com> | 2019-07-19 10:01:09 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-07-19 10:03:41 -0700 |
commit | ec5ceae623fceff0a959c7d297970d37285532dc (patch) | |
tree | 1cf6083ee561298c1c1f5c652ecf315f95238d9a /spec/lib/gitlab/gitaly_client_spec.rb | |
parent | 2e56b134687ccc8043f14eef4c5d0bfa9e1fd370 (diff) | |
download | gitlab-ce-ec5ceae623fceff0a959c7d297970d37285532dc.tar.gz |
Fix Gitaly auto-detection caching
If `GitalyClient#can_use_disk?` returned `false`, it was never cached
properly and led to excessive number of Gitaly calls. Instead of using
`cached_value.present?`, we need to check `cached_value.nil?`.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/64802
Diffstat (limited to 'spec/lib/gitlab/gitaly_client_spec.rb')
-rw-r--r-- | spec/lib/gitlab/gitaly_client_spec.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/spec/lib/gitlab/gitaly_client_spec.rb b/spec/lib/gitlab/gitaly_client_spec.rb index b8debee3b58..e1d24ae8977 100644 --- a/spec/lib/gitlab/gitaly_client_spec.rb +++ b/spec/lib/gitlab/gitaly_client_spec.rb @@ -119,6 +119,19 @@ describe Gitlab::GitalyClient do end end + describe '.can_use_disk?' do + it 'properly caches a false result' do + # spec_helper stubs this globally + allow(described_class).to receive(:can_use_disk?).and_call_original + expect(described_class).to receive(:filesystem_id).once + expect(described_class).to receive(:filesystem_id_from_disk).once + + 2.times do + described_class.can_use_disk?('unknown') + end + end + end + describe '.connection_data' do it 'returns connection data' do address = 'tcp://localhost:9876' |