Method: Gitlab::Database::LoadBalancing::Session#use_replicas_for_read_queries

Defined in:
lib/gitlab/database/load_balancing/session.rb

#use_replicas_for_read_queriesObject

Indicates that the read SQL statements from anywhere inside this blocks should use a replica, regardless of the current primary stickiness or whether a write query is already performed in the current session. This interface is reserved mostly for performance purpose. This is a good tool to push expensive queries, which can tolerate the replica lags, to the replicas.

Write and ambiguous queries inside this block are still handled by the primary.



56
57
58
59
60
61
62
# File 'lib/gitlab/database/load_balancing/session.rb', line 56

def use_replicas_for_read_queries
  previous_flag = @use_replicas_for_read_queries
  @use_replicas_for_read_queries = true
  yield
ensure
  @use_replicas_for_read_queries = previous_flag
end