Adding exception handling in IsUnique checks
- [YES/NO] I have added an explanation of what changes in this merge do and why we should include it? YES
- [YES/NO] Does the MR contain pipeline/ helm chart related changes? NO
- [YES/NO] I have updated the documentation accordingly. NA
- [YES/NO/NA] I have added tests to cover my changes. YES
- [YES/NO/NA] All new and existing tests passed. YES
- [YES/NO/NA] My code follows the code style of this project. YES
- [YES/NO/NA] I ran lint checks locally prior to submission. NA
What is the issue or story related to the change?
POST calls to create schemas fail with NullPointerException while creating cosmos client
High level design:
IsUnique check, we iterate over each tenant to see whether the schema that we are trying to create is already present there. If the call to cosmos DB fails for one of the tenants, the entire loop crashed down without graceful handling.
Adding proper exception handling for such cases
PS: Why were the cosmos db calls failing?
There were some test tenants in
tenantInfo table for which we did not have cosmos end point information populated in partition service. Hence for those test tenants the
cosmosCLient generation would fail. This won't repro in all the environments because they might not have these incompletely populated tenants present there.
- Added a
- Added UTs
Does this introduce a breaking change?
- [YES/NO] NO
- Please provide an ETA when you plan to review this MR. Write a comment to decline or provide an ETA.
- Block the MR if you feel there is less testing or no details in the MR
- Please cover the following aspects in the MR -- Coding design: <Reviewer1> -- Backward Compatibility: <Reviewer2> -- Feature Logic: <Logic design> -- <Any other context mention here> OR -- <Component 1>: <Reviewer1> -- <CosmosDB>: <Reviewer2> -- <ServiceBus> <Reviewer3> -- <Mention any other component and owner>