Geo: Secondary can't log failed sign-in attempts due to read-only DB
Noticed on a Geo secondary:
ActiveRecord::StatementInvalid (PG::ReadOnlySqlTransaction: ERROR: cannot execute UPDATE in a read-only transaction
: UPDATE "users" SET "failed_attempts" = 0, "updated_at" = '2018-05-09 19:22:30.322104' WHERE "users"."id" = 615747):
config/initializers/active_record_locking.rb:19:in `_update_record'
app/controllers/application_controller.rb:368:in `sessionless_sign_in'
app/controllers/application_controller.rb:109:in `authenticate_sessionless_user!'
lib/gitlab/middleware/multipart.rb:95:in `call'
lib/gitlab/request_profiler/middleware.rb:14:in `call'
ee/lib/gitlab/jira/middleware.rb:15:in `call'
lib/gitlab/middleware/go.rb:17:in `call'
lib/gitlab/etag_caching/middleware.rb:11:in `call'
lib/gitlab/middleware/rails_queue_duration.rb:22:in `call'
lib/gitlab/metrics/rack_middleware.rb:15:in `block in call'
lib/gitlab/metrics/transaction.rb:53:in `run'
lib/gitlab/metrics/rack_middleware.rb:15:in `call'
lib/gitlab/middleware/read_only/controller.rb:28:in `call'
lib/gitlab/middleware/read_only.rb:16:in `call'
lib/gitlab/request_context.rb:18:in `call'
lib/gitlab/metrics/requests_rack_middleware.rb:27:in `call'
(irb):7:in `irb_binding'
We may need to guard user&.increment_failed_attempts!
in a Geo secondary.