Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
272ec0df
Commit
272ec0df
authored
Jan 05, 2021
by
nmilojevic1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove feature flag query_cache_for_load_balancing
- Fix lint error
parent
8d49a576
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
31 deletions
+12
-31
ee/lib/gitlab/database/load_balancing/host.rb
ee/lib/gitlab/database/load_balancing/host.rb
+1
-1
ee/lib/gitlab/database/load_balancing/load_balancer.rb
ee/lib/gitlab/database/load_balancing/load_balancer.rb
+1
-14
ee/spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb
.../lib/gitlab/database/load_balancing/load_balancer_spec.rb
+10
-16
No files found.
ee/lib/gitlab/database/load_balancing/host.rb
View file @
272ec0df
...
...
@@ -7,7 +7,7 @@ module Gitlab
class
Host
attr_reader
:pool
,
:last_checked_at
,
:intervals
,
:load_balancer
,
:host
,
:port
delegate
:connection
,
:release_connection
,
:enable_query_cache!
,
:disable_query_cache!
,
to: :pool
delegate
:connection
,
:release_connection
,
:enable_query_cache!
,
:disable_query_cache!
,
:query_cache_enabled
,
to: :pool
CONNECTION_ERRORS
=
if
defined?
(
PG
)
...
...
ee/lib/gitlab/database/load_balancing/load_balancer.rb
View file @
272ec0df
...
...
@@ -12,7 +12,6 @@ module Gitlab
# always returns a connection to the primary.
class
LoadBalancer
CACHE_KEY
=
:gitlab_load_balancer_host
ENSURE_CACHING_KEY
=
'ensure_caching'
attr_reader
:host_list
...
...
@@ -103,7 +102,6 @@ module Gitlab
host
.
release_connection
end
RequestStore
.
delete
(
ENSURE_CACHING_KEY
)
RequestStore
.
delete
(
CACHE_KEY
)
end
...
...
@@ -180,19 +178,8 @@ module Gitlab
private
# TODO:
# Move enable_query_cache! to ConnectionPool (https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database.rb#L223)
# when the feature flag is removed in https://gitlab.com/gitlab-org/gitlab/-/issues/276203.
def
ensure_caching!
# Feature (Flipper gem) reads the data from the database, and it would cause the infinite loop here.
# We need to ensure that the code below is executed only once, until the feature flag is removed.
return
if
RequestStore
[
ENSURE_CACHING_KEY
]
RequestStore
[
ENSURE_CACHING_KEY
]
=
true
if
Feature
.
enabled?
(
:query_cache_for_load_balancing
,
default_enabled:
true
)
host
.
enable_query_cache!
end
host
.
enable_query_cache!
unless
host
.
query_cache_enabled
end
end
end
...
...
ee/spec/lib/gitlab/database/load_balancing/load_balancer_spec.rb
View file @
272ec0df
...
...
@@ -50,29 +50,24 @@ RSpec.describe Gitlab::Database::LoadBalancing::LoadBalancer, :request_store do
host
=
double
(
:host
)
allow
(
lb
).
to
receive
(
:host
).
and_return
(
host
)
allow
(
host
).
to
receive
(
:query_cache_enabled
).
and_return
(
true
)
expect
(
host
).
to
receive
(
:connection
).
and_return
(
connection
)
expect
(
host
).
to
receive
(
:enable_query_cache!
).
once
expect
{
|
b
|
lb
.
read
(
&
b
)
}.
to
yield_with_args
(
connection
)
expect
(
RequestStore
[
described_class
::
ENSURE_CACHING_KEY
]).
to
be
true
end
context
'when :query_cache_for_load_balancing feature flag is disabled'
do
before
do
stub_feature_flags
(
query_cache_for_load_balancing:
false
)
end
it
'ensures that query cache is enabled'
do
connection
=
double
(
:connection
)
host
=
double
(
:host
)
it
'yields a connection for a read without enabling query cache'
do
connection
=
double
(
:connection
)
host
=
double
(
:host
)
allow
(
lb
).
to
receive
(
:host
).
and_return
(
host
)
allow
(
host
).
to
receive
(
:query_cache_enabled
).
and_return
(
false
)
allow
(
host
).
to
receive
(
:connection
).
and_return
(
connection
)
allow
(
lb
).
to
receive
(
:host
).
and_return
(
host
)
expect
(
host
).
to
receive
(
:connection
).
and_return
(
connection
)
expect
(
host
).
not_to
receive
(
:enable_query_cache!
)
expect
(
host
).
to
receive
(
:enable_query_cache!
).
once
expect
{
|
b
|
lb
.
read
(
&
b
)
}.
to
yield_with_args
(
connection
)
end
lb
.
read
{
10
}
end
it
'marks hosts that are offline'
do
...
...
@@ -168,7 +163,6 @@ RSpec.describe Gitlab::Database::LoadBalancing::LoadBalancer, :request_store do
lb
.
release_host
expect
(
RequestStore
[
described_class
::
CACHE_KEY
]).
to
be_nil
expect
(
RequestStore
[
described_class
::
ENSURE_CACHING_KEY
]).
to
be_nil
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment