You need to sign in or sign up before continuing.
Prevent circular dependencies between Redis patches, and use GitLab code
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
In gitlab-com/gl-infra/production#8141 (closed), we discovered that certain monkey-patched Redis classes use GitLab code, which GitLab/application code in turns uses the Redis classes. This created stack overflow in that incident.
!106940 (merged), we banned Feature flags in lib/gitlab/patch/**/*.rb
.
Proposal
We need to go further, and isolate these patches. Monkey-patches we should look at:
-
Redis::Client
/Gitlab::Instrumentation::RedisInterceptor
Perhaps we can move these monkey-patches to its own directory so that we can test it can run in isolation ?
Edited by 🤖 GitLab Bot 🤖