Page MenuHomePhabricator

Repository clustering does not respect disabled bindings?
Closed, InvalidPublic

Description

@20after4 ran into an issue where disabling an Almanac binding in a repository cluster service was not sufficient to actually stop Phabricator from trying to use it. We may be missing a check somewhere.

Event Timeline

From IRC, this might be a false positive / not the root cause since destroying the binding didn't fix the problem, but I can run through things locally.

From reviewing the code, it appears that this should be handled correctly already.

We load repository services in DiffusionRepositoryClusterEngine, PhabricatorRepositoryManagementThawWorkflow and PhabricatorRepository, but all callsites call getActiveBindings() to examine only active (non-disabled) bindings.

Since destroying the binding also didn't work and we don't have any caching on bindings or time-traveling code that reaches into the distant past to read objects, I suspect the root issue was something else. I'm going to close this since I can't guess at what the real issue was, but I'm happy to help out with whatever other config issues you hit when you get back to this.