Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider providing common mechanism for tenanted services to report tenant misconfiguration #454

Open
idg10 opened this issue Dec 5, 2022 · 0 comments
Labels
question Further information is requested

Comments

@idg10
Copy link
Contributor

idg10 commented Dec 5, 2022

In situations where configuration for a particular service in a particular tenant is wrong, it can be hard to diagnose, because the problems might be nested a few levels deep. (E.g., Marain.Workflow uses Marain.Operations, and in a situation where the delegated configuration for operations is wrong, it'll be Marain.Workflow that receives the error when it tries to use Marain.Operations.)

In practice, working out what has happened in these cases has proven tricky.

It might be possible to make it easier to understand by introducing an exception type to represent this broad kind of problem, e.g. TenantConfigurationException. This would be thrown by code that understands the configuration requirements for a particular piece of configuration. For example, BlobContainerSourceWithTenantLegacyTransition knows the (somewhat subtle) rules for whether tenanted storage configuration is correct. It could throw an exception indicating unambiguously that we have a tenant which is misconfigured.

This would open the door for higher-level code such as Menes to be able to recognize this exception, and provide more helpful information back to callers than we currently get. (Right now, we just get a generic 500 failure.)

@idg10 idg10 added the question Further information is requested label Dec 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant