Commit graph

7 commits

Author SHA1 Message Date
digitalMoksha
aeb2f49fd4 Revert "check for read_only? first before seeing if request is disallowed"
This reverts commit 91075c8237.
2017-11-21 15:35:30 +01:00
digitalMoksha
91075c8237 check for read_only? first before seeing if request is disallowed 2017-11-21 13:30:54 +01:00
digitalMoksha
cba68d338b use Gitlab::Routing.url_helpers instead of Rails.application.routes.url_helpers
since `Rails.application.routes.url_helpers` creates a new anonymous module every time it's called
2017-11-21 13:29:57 +01:00
Stan Hu
3c52e2f06e Optimize read-only middleware so that it does not consume as much CPU
In !15082, we changed the behavior of the middleware to call
`Rails.application.routes.recognize_path` whenever a new route arrived.
However, this can be a CPU-intensive task because Rails needs to allocate
memory and compile 850+ different regular expressions, which are complicated
in GitLab.

As a short-term fix, we can do a lightweight string match before
we do the heavier comparison.

Closes #40185, gitlab-com/infrastructure#3240
2017-11-20 15:27:52 -08:00
Joe Marty
4dea7944c4 Updates tests to reflect sign_out route change
- Also remove sign_out DELETE route from read-only whitelist routes
2017-11-07 11:42:25 -06:00
Brett Walker
2fd5cc2bff Geo route whitelisting is too optimistic 2017-11-02 12:50:04 +00:00
Toon Claes
d13669716a Create idea of read-only database
In GitLab EE, a GitLab instance can be read-only (e.g. when it's a Geo
secondary node). But in GitLab CE it also might be useful to have the
"read-only" idea around. So port it back to GitLab CE.

Also having the principle of read-only in GitLab CE would hopefully
lead to less errors introduced, doing write operations when there
aren't allowed for read-only calls.

Closes gitlab-org/gitlab-ce#37534.
2017-10-06 22:37:40 +02:00