From 91846c94bfb4507bdf9b9b21c64f2f4b29301c31 Mon Sep 17 00:00:00 2001 From: Rahul Kesharwani Date: Fri, 30 Aug 2019 16:57:15 +0530 Subject: [PATCH 1/6] Bigtable: Updated Javadoc of models/CreateInstanceRequest.java Updated the javadoc to be consistent with [instance.proto](https://github.com/googleapis/googleapis/blob/master/google/bigtable/admin/v2/instance.proto#L65-L67). --- .../bigtable/admin/v2/models/CreateInstanceRequest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java index af8b91c8bd28..cba56341f2a3 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java +++ b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java @@ -35,7 +35,8 @@ * cluster. You cannot downgrade a production instance to a development instance. *
Development *
A low-cost instance for development and testing, with performance limited to the equivalent - * of a 1-node cluster. Development instances only support a single 1 node cluster. + * of a 1-node cluster. Development instances only support a single 1 node cluster. At any + * point this can be upgraded to production instance. * * * When creating an Instance, you must create at least one cluster in it. @@ -50,7 +51,7 @@ * // Development instance: * CreateInstanceRequest smallProdInstanceRequest = CreateInstanceRequest.of("my-dev-instance") * .setType(Type.DEVELOPMENT) - * .addCluster("cluster1", "us-east1-c", 1, StorageType.SSD); + * .addCluster("cluster1", "us-east1-c", 0, StorageType.SSD); * * } * From b142ad46a1bd466adef4a3859e49645da2ba5a86 Mon Sep 17 00:00:00 2001 From: Rahul Kesharwani Date: Tue, 1 Oct 2019 16:26:57 +0530 Subject: [PATCH 2/6] Added CreateInstanceRequest#addDevelopmentCluster --- .../v2/models/CreateInstanceRequest.java | 25 ++++++++++++++++++- .../v2/models/CreateClusterRequestTest.java | 4 +-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java index cba56341f2a3..08c739c23008 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java +++ b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java @@ -51,7 +51,7 @@ * // Development instance: * CreateInstanceRequest smallProdInstanceRequest = CreateInstanceRequest.of("my-dev-instance") * .setType(Type.DEVELOPMENT) - * .addCluster("cluster1", "us-east1-c", 0, StorageType.SSD); + * .addDevelopmentCluster("cluster1", "us-east1-c", StorageType.SSD); * * } * @@ -147,6 +147,29 @@ public CreateInstanceRequest addCluster( return this; } + /** + * Adds a DEVELOPMENT cluster to the instance request. + * + *

This instance will have exactly one node cluster. + * + * @param clusterId The name of the cluster. + * @param zone The zone where the cluster will be created. + * @param storageType The type of storage used by this cluster to serve its parent instance's + * tables. + */ + @SuppressWarnings("WeakerAccess") + public CreateInstanceRequest addDevelopmentCluster( + @Nonnull String clusterId, @Nonnull String zone, @Nonnull StorageType storageType) { + CreateClusterRequest developmentCluster = + CreateClusterRequest.of("ignored-instance-id", clusterId) + .setZone(zone) + .setStorageType(storageType) + .setServeNodes(0); + clusterRequests.add(developmentCluster); + + return this; + } + /** * Creates the request protobuf. This method is considered an internal implementation detail and * not meant to be used by applications. diff --git a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateClusterRequestTest.java b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateClusterRequestTest.java index 3b3e6340cf90..558551ea6ea7 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateClusterRequestTest.java +++ b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateClusterRequestTest.java @@ -95,7 +95,7 @@ public void testDevelopment() { CreateInstanceRequest input = CreateInstanceRequest.of("my-instance") .setType(Instance.Type.DEVELOPMENT) - .addCluster("cluster1", "us-east1-c", 1, StorageType.SSD); + .addDevelopmentCluster("cluster1", "us-east1-c", StorageType.SSD); com.google.bigtable.admin.v2.CreateInstanceRequest actual = input.toProto("my-project"); @@ -111,7 +111,7 @@ public void testDevelopment() { "cluster1", com.google.bigtable.admin.v2.Cluster.newBuilder() .setLocation("projects/my-project/locations/us-east1-c") - .setServeNodes(1) + .setServeNodes(0) .setDefaultStorageType(com.google.bigtable.admin.v2.StorageType.SSD) .build()) .build(); From f1bdbbf1c801772ba757355be086798ee7ccdfc6 Mon Sep 17 00:00:00 2001 From: Rahul Kesharwani Date: Tue, 1 Oct 2019 16:44:11 +0530 Subject: [PATCH 3/6] Updated Integration test to include #addDevelopmentCluster --- .../bigtable/admin/v2/it/BigtableInstanceAdminClientIT.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableInstanceAdminClientIT.java b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableInstanceAdminClientIT.java index 5b820df9c76b..4eb168aedf35 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableInstanceAdminClientIT.java +++ b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/it/BigtableInstanceAdminClientIT.java @@ -117,7 +117,7 @@ public void instanceCreationDeletionTest() { client.createInstance( CreateInstanceRequest.of(newInstanceId) - .addCluster(newClusterId, "us-central1-a", 0, StorageType.SSD) + .addDevelopmentCluster(newClusterId, "us-central1-a", StorageType.SSD) .setDisplayName("Fresh-Instance-Name") .addLabel("state", "readytodelete") .setType(Instance.Type.DEVELOPMENT)); From 08d742625480acdea472e0fb2f752c5ba9b2c76a Mon Sep 17 00:00:00 2001 From: Rahul Kesharwani Date: Wed, 2 Oct 2019 19:03:43 +0530 Subject: [PATCH 4/6] Remove setServeNodes as it defaults to 0 --- .../cloud/bigtable/admin/v2/models/CreateInstanceRequest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java index 08c739c23008..41ff890d9da7 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java +++ b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java @@ -163,8 +163,7 @@ public CreateInstanceRequest addDevelopmentCluster( CreateClusterRequest developmentCluster = CreateClusterRequest.of("ignored-instance-id", clusterId) .setZone(zone) - .setStorageType(storageType) - .setServeNodes(0); + .setStorageType(storageType); clusterRequests.add(developmentCluster); return this; From a9633895b988d41bf164ddb96a5b3a3632d9fc2f Mon Sep 17 00:00:00 2001 From: Rahul Kesharwani Date: Wed, 2 Oct 2019 19:24:53 +0530 Subject: [PATCH 5/6] Removed ServeNodes() form test class as well --- .../cloud/bigtable/admin/v2/models/CreateClusterRequestTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateClusterRequestTest.java b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateClusterRequestTest.java index 558551ea6ea7..17152d546133 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateClusterRequestTest.java +++ b/google-cloud-clients/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateClusterRequestTest.java @@ -111,7 +111,6 @@ public void testDevelopment() { "cluster1", com.google.bigtable.admin.v2.Cluster.newBuilder() .setLocation("projects/my-project/locations/us-east1-c") - .setServeNodes(0) .setDefaultStorageType(com.google.bigtable.admin.v2.StorageType.SSD) .build()) .build(); From e1096d9705c8867dae826a1f4e8409e9293f1e85 Mon Sep 17 00:00:00 2001 From: Rahul Kesharwani Date: Thu, 3 Oct 2019 20:31:36 +0530 Subject: [PATCH 6/6] Updated JavaDoc for method description --- .../admin/v2/models/CreateInstanceRequest.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java index 41ff890d9da7..467344c8211f 100644 --- a/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java +++ b/google-cloud-clients/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/models/CreateInstanceRequest.java @@ -36,7 +36,7 @@ *

Development *
A low-cost instance for development and testing, with performance limited to the equivalent * of a 1-node cluster. Development instances only support a single 1 node cluster. At any - * point this can be upgraded to production instance. + * point this can be upgraded to a production instance. * * * When creating an Instance, you must create at least one cluster in it. @@ -124,11 +124,11 @@ public CreateInstanceRequest addLabel(@Nonnull String key, @Nonnull String value *

All new instances must have at least one cluster. DEVELOPMENT instances must have exactly * one cluster. * - * @param clusterId The name of the cluster. - * @param zone The zone where the cluster will be created. - * @param serveNodes The number of nodes that cluster will contain. DEVELOPMENT instance clusters + * @param clusterId the name of the cluster. + * @param zone the zone where the cluster will be created. + * @param serveNodes the number of nodes that cluster will contain. DEVELOPMENT instance clusters * must have exactly one node. - * @param storageType The type of storage used by this cluster to serve its parent instance's + * @param storageType the type of storage used by this cluster to serve its parent instance's * tables. */ @SuppressWarnings("WeakerAccess") @@ -152,9 +152,9 @@ public CreateInstanceRequest addCluster( * *

This instance will have exactly one node cluster. * - * @param clusterId The name of the cluster. - * @param zone The zone where the cluster will be created. - * @param storageType The type of storage used by this cluster to serve its parent instance's + * @param clusterId the name of the cluster. + * @param zone the zone where the cluster will be created. + * @param storageType the type of storage used by this cluster to serve its parent instance's * tables. */ @SuppressWarnings("WeakerAccess")