This is an automated email from the ASF dual-hosted git repository.

jihoonson pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 5b4b5d7  Fails creation of TaskResource if availabilityGroup is null 
(#9892)
5b4b5d7 is described below

commit 5b4b5d77a81817baf4359574d61e2dd2acabddba
Author: Maytas Monsereenusorn <[email protected]>
AuthorDate: Tue May 19 19:19:22 2020 -1000

    Fails creation of TaskResource if availabilityGroup is null (#9892)
    
    * Fails creation of TaskResource if availabilityGroup is null
    
    * add check for requiredCapacity
---
 .../druid/indexing/common/task/TaskResource.java   |  4 ++-
 .../druid/indexing/common/task/TaskSerdeTest.java  | 42 ++++++++++++++++++++++
 2 files changed, 45 insertions(+), 1 deletion(-)

diff --git 
a/indexing-service/src/main/java/org/apache/druid/indexing/common/task/TaskResource.java
 
b/indexing-service/src/main/java/org/apache/druid/indexing/common/task/TaskResource.java
index e74c4d0..94b85d3 100644
--- 
a/indexing-service/src/main/java/org/apache/druid/indexing/common/task/TaskResource.java
+++ 
b/indexing-service/src/main/java/org/apache/druid/indexing/common/task/TaskResource.java
@@ -21,6 +21,7 @@ package org.apache.druid.indexing.common.task;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.base.Preconditions;
 
 /**
  */
@@ -35,7 +36,8 @@ public class TaskResource
       @JsonProperty("requiredCapacity") int requiredCapacity
   )
   {
-    this.availabilityGroup = availabilityGroup;
+    this.availabilityGroup = Preconditions.checkNotNull(availabilityGroup, 
"availabilityGroup");
+    Preconditions.checkArgument(requiredCapacity > 0);
     this.requiredCapacity = requiredCapacity;
   }
 
diff --git 
a/indexing-service/src/test/java/org/apache/druid/indexing/common/task/TaskSerdeTest.java
 
b/indexing-service/src/test/java/org/apache/druid/indexing/common/task/TaskSerdeTest.java
index d415488..8c8d4c2 100644
--- 
a/indexing-service/src/test/java/org/apache/druid/indexing/common/task/TaskSerdeTest.java
+++ 
b/indexing-service/src/test/java/org/apache/druid/indexing/common/task/TaskSerdeTest.java
@@ -186,6 +186,48 @@ public class TaskSerdeTest
   }
 
   @Test
+  public void testTaskResourceValid() throws Exception
+  {
+    TaskResource actual = jsonMapper.readValue(
+        "{\"availabilityGroup\":\"index_xxx_mmm\", \"requiredCapacity\":1}",
+        TaskResource.class
+    );
+    Assert.assertNotNull(actual);
+    Assert.assertNotNull(actual.getAvailabilityGroup());
+    Assert.assertTrue(actual.getRequiredCapacity() > 0);
+  }
+
+  @Test
+  public void testTaskResourceWithNullAvailabilityGroupShouldFail() throws 
Exception
+  {
+    thrown.expectCause(CoreMatchers.isA(NullPointerException.class));
+    jsonMapper.readValue(
+        "{\"availabilityGroup\":null, \"requiredCapacity\":10}",
+        TaskResource.class
+    );
+  }
+
+  @Test
+  public void testTaskResourceWithZeroRequiredCapacityShouldFail() throws 
Exception
+  {
+    thrown.expectCause(CoreMatchers.isA(NullPointerException.class));
+    jsonMapper.readValue(
+        "{\"availabilityGroup\":null, \"requiredCapacity\":0}",
+        TaskResource.class
+    );
+  }
+
+  @Test
+  public void testTaskResourceWithNegativeRequiredCapacityShouldFail() throws 
Exception
+  {
+    thrown.expectCause(CoreMatchers.isA(NullPointerException.class));
+    jsonMapper.readValue(
+        "{\"availabilityGroup\":null, \"requiredCapacity\":-1}",
+        TaskResource.class
+    );
+  }
+
+  @Test
   public void testIndexTaskSerde() throws Exception
   {
     final IndexTask task = new IndexTask(


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to