From a767b55c0ea1789bab62f180aa7d6944245df7ca Mon Sep 17 00:00:00 2001 From: Aman Verma Date: Wed, 17 Feb 2021 15:48:54 +0530 Subject: [PATCH 1/6] adding exception handling --- .../impl/schemainfostore/AzureSchemaInfoStore.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java b/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java index 3b4b00ac..cbb66505 100644 --- a/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java +++ b/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java @@ -22,6 +22,7 @@ import java.util.Set; import java.util.TreeMap; import java.util.stream.Collectors; +import com.azure.cosmos.CosmosException; import org.apache.commons.lang3.StringUtils; import org.opengroup.osdu.azure.cosmosdb.CosmosStore; import org.opengroup.osdu.core.common.logging.JaxRsDpsLog; @@ -385,9 +386,13 @@ public class AzureSchemaInfoStore implements ISchemaInfoStore { for (String tenant : tenantList) { String id = tenant + ":" + schemaId; String partitionKey = createSchemaInfoPartitionKey(schemaKindToSchemaIdentity(schemaId)); - Boolean exists = cosmosStore.findItem(tenant, cosmosDBName, schemaInfoContainer, id, partitionKey, SchemaInfoDoc.class).isPresent(); - if (exists) { - return false; + try { + Boolean exists = cosmosStore.findItem(tenant, cosmosDBName, schemaInfoContainer, id, partitionKey, SchemaInfoDoc.class).isPresent(); + if (exists) { + return false; + } + } catch (AppException ex) { + log.info(String.format("Uniqueness check failed for tenant '%s'", tenant)); } } return true; -- GitLab From c7721167f01c532921442f486b6f535aaacdbdef Mon Sep 17 00:00:00 2001 From: Aman Verma Date: Wed, 17 Feb 2021 15:58:14 +0530 Subject: [PATCH 2/6] changing the log level to warning --- .../schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java b/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java index cbb66505..e1263e7f 100644 --- a/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java +++ b/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java @@ -392,7 +392,7 @@ public class AzureSchemaInfoStore implements ISchemaInfoStore { return false; } } catch (AppException ex) { - log.info(String.format("Uniqueness check failed for tenant '%s'", tenant)); + log.warning(String.format("Uniqueness check failed for tenant '%s'", tenant)); } } return true; -- GitLab From 0fbaa6ce8eaa8408400d20a0a8f74a45f7ff1e73 Mon Sep 17 00:00:00 2001 From: Aman Verma Date: Wed, 17 Feb 2021 16:06:48 +0530 Subject: [PATCH 3/6] adding UTs --- .../AzureSchemaInfoStoreTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/provider/schema-azure/src/test/java/org/opengroup/osdu/schema/provider/azure/impl/schemainfostore/AzureSchemaInfoStoreTest.java b/provider/schema-azure/src/test/java/org/opengroup/osdu/schema/provider/azure/impl/schemainfostore/AzureSchemaInfoStoreTest.java index 053c260c..ef80a0f2 100644 --- a/provider/schema-azure/src/test/java/org/opengroup/osdu/schema/provider/azure/impl/schemainfostore/AzureSchemaInfoStoreTest.java +++ b/provider/schema-azure/src/test/java/org/opengroup/osdu/schema/provider/azure/impl/schemainfostore/AzureSchemaInfoStoreTest.java @@ -256,6 +256,31 @@ public class AzureSchemaInfoStoreTest { } } + @Test + public void testIsUnique_ApplicationException() throws ApplicationException { + TenantInfo tenant1 = new TenantInfo(); + tenant1.setName(commonTenantId); + tenant1.setDataPartitionId(commonTenantId); + TenantInfo tenant2 = new TenantInfo(); + tenant2.setName(dataPartitionId); + tenant2.setDataPartitionId(dataPartitionId); + Collection tenants = Lists.newArrayList(tenant1, tenant2); + when(this.tenantFactory.listTenantInfo()).thenReturn(tenants); + Optional cosmosItem = Optional.of(schemaInfoDoc); + + // An error is encountered while checking uniqueness in one tenant. + doThrow(AppException.class) + .when(cosmosStore) + .findItem( + eq(dataPartitionId), + any(), + any(), + eq(dataPartitionId + ":" + schemaId), + eq(partitionKey), + any()); + assertTrue(schemaInfoStore.isUnique(schemaId, commonTenantId)); + } + @Test public void testIsUnique_True() throws ApplicationException { -- GitLab From fd21dad052ae863d4dc9374146ea5742ba3e14c8 Mon Sep 17 00:00:00 2001 From: Aman Verma Date: Wed, 17 Feb 2021 16:08:28 +0530 Subject: [PATCH 4/6] removing unused import --- .../schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java | 1 - 1 file changed, 1 deletion(-) diff --git a/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java b/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java index e1263e7f..4fabb914 100644 --- a/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java +++ b/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java @@ -22,7 +22,6 @@ import java.util.Set; import java.util.TreeMap; import java.util.stream.Collectors; -import com.azure.cosmos.CosmosException; import org.apache.commons.lang3.StringUtils; import org.opengroup.osdu.azure.cosmosdb.CosmosStore; import org.opengroup.osdu.core.common.logging.JaxRsDpsLog; -- GitLab From 3e2a611e37bbdbbcd751f08a775cfac7980c5164 Mon Sep 17 00:00:00 2001 From: Aman Verma Date: Wed, 17 Feb 2021 17:02:37 +0530 Subject: [PATCH 5/6] logging exception in warrning --- .../schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java b/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java index 4fabb914..99713a92 100644 --- a/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java +++ b/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java @@ -391,7 +391,7 @@ public class AzureSchemaInfoStore implements ISchemaInfoStore { return false; } } catch (AppException ex) { - log.warning(String.format("Uniqueness check failed for tenant '%s'", tenant)); + log.warning(String.format("Uniqueness check failed for tenant '%s'", tenant), ex); } } return true; -- GitLab From 6cf700225859371c7c14f4f4819281a9d202c408 Mon Sep 17 00:00:00 2001 From: Aman Verma Date: Wed, 17 Feb 2021 17:10:37 +0530 Subject: [PATCH 6/6] updating the error messges --- .../schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java b/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java index 99713a92..26a16ea8 100644 --- a/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java +++ b/provider/schema-azure/src/main/java/org/opengroup/osdu/schema/azure/impl/schemainfostore/AzureSchemaInfoStore.java @@ -391,7 +391,7 @@ public class AzureSchemaInfoStore implements ISchemaInfoStore { return false; } } catch (AppException ex) { - log.warning(String.format("Uniqueness check failed for tenant '%s'", tenant), ex); + log.warning(String.format("Error occurred while performing uniqueness check in tenant '%s'", tenant), ex); } } return true; -- GitLab