Workhorse polls /api/v4/geo/proxy endpoint when Geo is not enabled
In gitlab-org/charts/gitlab#3067 (comment 808750871), we noticed api_json.log
filling up with requests from /api/v4/geo/proxy
:
git@gitlab-webservice-default-56885b8fcf-dn25v:/var/log/gitlab$ ls -al
total 585048
drwxr-xr-x 2 git git 304 Dec 14 19:11 .
drwxr-xr-x 4 root root 125 Dec 14 18:59 ..
-rw-r--r-- 1 git git 0 Dec 14 03:46 .gitkeep
-rw-r--r-- 1 git git 263705116 Jan 12 19:08 api_json.log
-rw-r--r-- 1 git git 2046 Dec 14 19:00 application.log
-rw-r--r-- 1 git git 3123 Dec 14 19:00 application_json.log
-rw-r--r-- 1 git git 403 Dec 14 18:59 auth.log
-rw-r--r-- 1 git git 21611 Jan 6 09:37 exceptions_json.log
-rw-r--r-- 1 git git 67 Dec 14 04:15 grpc.log
-rw-r--r-- 1 git git 93857620 Jan 12 19:08 production.log
-rw-r--r-- 1 git git 238778839 Jan 12 19:08 production_json.log
-rw-r--r-- 1 git git 48 Dec 14 18:59 puma.stderr.log
-rw-r--r-- 1 git git 679 Dec 14 19:00 puma.stdout.log
-rw-r--r-- 1 git git 67 Dec 14 04:15 service_measurement.log
-rw-r--r-- 1 git git 67 Dec 14 04:15 sidekiq_client.log
Sample message:
{
"time": "2022-01-12T19:47:04.214Z",
"severity": "INFO",
"duration_s": 0.01581,
"db_duration_s": 0.00404,
"view_duration_s": 0.01177,
"status": 200,
"method": "GET",
"path": "/api/v4/geo/proxy",
"params": [],
"host": "localhost",
"remote_ip": "127.0.0.1",
"ua": "Go-http-client/1.1",
"route": "/api/:version/geo/proxy",
"redis_calls": 3,
"redis_duration_s": 0.000796,
"redis_read_bytes": 429,
"redis_write_bytes": 263,
"redis_cache_calls": 3,
"redis_cache_duration_s": 0.000796,
"redis_cache_read_bytes": 429,
"redis_cache_write_bytes": 263,
"db_count": 2,
"db_write_count": 0,
"db_cached_count": 0,
"db_replica_count": 0,
"db_primary_count": 2,
"db_replica_cached_count": 0,
"db_primary_cached_count": 0,
"db_replica_wal_count": 0,
"db_primary_wal_count": 0,
"db_replica_wal_cached_count": 0,
"db_primary_wal_cached_count": 0,
"db_replica_duration_s": 0,
"db_primary_duration_s": 0.004,
"cpu_s": 0.032079,
"mem_objects": 9558,
"mem_bytes": 1019527,
"mem_mallocs": 2588,
"mem_total_bytes": 1401847,
"pid": 3339522,
"correlation_id": "b4d2e12f-88a7-4f32-876a-564e4a65f78d",
"meta.caller_id": "GET /api/:version/geo/proxy",
"meta.remote_ip": "127.0.0.1",
"meta.feature_category": "geo_replication",
"meta.client_id": "ip/127.0.0.1",
"request_urgency": "default",
"target_duration_s": 1
}
It looks like Workhorse is doing this as of !66491 (merged). It looks like there is a Goroutine that polls this endpoint every 10 seconds.
Questions:
- Can we disable this if Geo isn't enabled?
- Can we reduce the frequency of this check?