fix: only prevent double registration with differences

we allow registration of something if it already exists

we reject registration of the same identifier if there are differences

closes #3749
This commit is contained in:
Matthew Farrellee 2025-10-09 07:28:38 -04:00
parent 96886afaca
commit 04af470add
2 changed files with 4 additions and 4 deletions

View file

@ -97,9 +97,9 @@ class DiskDistributionRegistry(DistributionRegistry):
async def register(self, obj: RoutableObjectWithProvider) -> bool:
existing_obj = await self.get(obj.type, obj.identifier)
# dont register if the object's providerid already exists
if existing_obj and existing_obj.provider_id == obj.provider_id:
if existing_obj and existing_obj != obj:
raise ValueError(
f"Provider '{obj.provider_id}' is already registered."
f"Provider '{obj.provider_id}' is already registered. "
f"Unregister the existing provider first before registering it again."
)