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

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


The following commit(s) were added to refs/heads/master by this push:
     new 04eefd5  Fix TestZNRecordSizeLimit
04eefd5 is described below

commit 04eefd5942e267667fa4161954f3a8f94656ec5f
Author: Hunter Lee <[email protected]>
AuthorDate: Tue May 28 11:25:05 2019 -0700

    Fix TestZNRecordSizeLimit
    
    This diff fixes TestZNRecordSizeLimit so that it considers the default 
behavior to be auto-compression of ZNodes enabled.
---
 .../helix/manager/zk/TestZNRecordSizeLimit.java    | 71 ++++++++++++----------
 1 file changed, 38 insertions(+), 33 deletions(-)

diff --git 
a/helix-core/src/test/java/org/apache/helix/manager/zk/TestZNRecordSizeLimit.java
 
b/helix-core/src/test/java/org/apache/helix/manager/zk/TestZNRecordSizeLimit.java
index 736ee5e..bccb425 100644
--- 
a/helix-core/src/test/java/org/apache/helix/manager/zk/TestZNRecordSizeLimit.java
+++ 
b/helix-core/src/test/java/org/apache/helix/manager/zk/TestZNRecordSizeLimit.java
@@ -31,10 +31,14 @@ import 
org.apache.helix.manager.zk.client.SharedZkClientFactory;
 import org.apache.helix.model.IdealState;
 import org.apache.helix.model.IdealState.RebalanceMode;
 import org.apache.helix.model.InstanceConfig;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
 public class TestZNRecordSizeLimit extends ZkUnitTestBase {
+  private static Logger LOG = 
LoggerFactory.getLogger(TestZNRecordSizeLimit.class);
+
   @Test
   public void testZNRecordSizeLimitUseZNRecordSerializer() {
     String className = getShortClassName();
@@ -43,6 +47,7 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase {
 
     ZNRecordSerializer serializer = new ZNRecordSerializer();
 
+    String root = className;
     byte[] buf = new byte[1024];
     for (int i = 0; i < 1024; i++) {
       buf[i] = 'a';
@@ -58,7 +63,7 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase {
       smallRecord.setSimpleField(i + "", bufStr);
     }
 
-    String path1 = "/" + className + "/test1";
+    String path1 = "/" + root + "/test1";
     _gZkClient.createPersistent(path1, true);
     _gZkClient.writeData(path1, smallRecord);
 
@@ -72,29 +77,27 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase {
     for (int i = 0; i < 1024; i++) {
       largeRecord.setSimpleField(i + "", bufStr);
     }
-    String path2 = "/" + className + "/test2";
+    String path2 = "/" + root + "/test2";
     _gZkClient.createPersistent(path2, true);
     try {
       _gZkClient.writeData(path2, largeRecord);
-      Assert.fail("Should fail because data size is larger than 1M");
     } catch (HelixException e) {
-      // OK
+      Assert.fail("Should not fail because data size is larger than 1M since 
compression applied");
     }
     record = _gZkClient.readData(path2);
-    Assert.assertNull(record);
+    Assert.assertNotNull(record);
 
     // oversized write doesn't overwrite existing data on zk
     record = _gZkClient.readData(path1);
     try {
       _gZkClient.writeData(path1, largeRecord);
-      Assert.fail("Should fail because data size is larger than 1M");
     } catch (HelixException e) {
-      // OK
+      Assert.fail("Should not fail because data size is larger than 1M since 
compression applied");
     }
     ZNRecord recordNew = _gZkClient.readData(path1);
     byte[] arr = serializer.serialize(record);
     byte[] arrNew = serializer.serialize(recordNew);
-    Assert.assertTrue(Arrays.equals(arr, arrNew));
+    Assert.assertFalse(Arrays.equals(arr, arrNew));
 
     // test ZkDataAccessor
     ZKHelixAdmin admin = new ZKHelixAdmin(_gZkClient);
@@ -104,7 +107,7 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase {
 
     // oversized data should not create any new data on zk
     ZKHelixDataAccessor accessor =
-        new ZKHelixDataAccessor(className, new 
ZkBaseDataAccessor<>(_gZkClient));
+        new ZKHelixDataAccessor(className, new ZkBaseDataAccessor(_gZkClient));
     Builder keyBuilder = accessor.keyBuilder();
 
     IdealState idealState = new IdealState("currentState");
@@ -116,9 +119,10 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase {
       idealState.getRecord().setSimpleField(i + "", bufStr);
     }
     boolean succeed = accessor.setProperty(keyBuilder.idealStates("TestDB0"), 
idealState);
-    Assert.assertFalse(succeed);
-    HelixProperty property = accessor.getProperty(
-        keyBuilder.stateTransitionStatus("localhost_12918", "session_1", 
"partition_1"));
+    Assert.assertTrue(succeed);
+    HelixProperty property =
+        
accessor.getProperty(keyBuilder.stateTransitionStatus("localhost_12918", 
"session_1",
+            "partition_1"));
     Assert.assertNull(property);
 
     // legal sized data gets written to zk
@@ -145,13 +149,12 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase 
{
     }
     // System.out.println("record: " + idealState.getRecord());
     succeed = accessor.updateProperty(keyBuilder.idealStates("TestDB1"), 
idealState);
-    Assert.assertFalse(succeed);
+    Assert.assertTrue(succeed);
     recordNew = 
accessor.getProperty(keyBuilder.idealStates("TestDB1")).getRecord();
     arr = serializer.serialize(record);
     arrNew = serializer.serialize(recordNew);
-    Assert.assertTrue(Arrays.equals(arr, arrNew));
+    Assert.assertFalse(Arrays.equals(arr, arrNew));
 
-    deleteCluster(className);
     System.out.println("END testZNRecordSizeLimitUseZNRecordSerializer at "
         + new Date(System.currentTimeMillis()));
   }
@@ -159,8 +162,8 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase {
   @Test
   public void testZNRecordSizeLimitUseZNRecordStreamingSerializer() {
     String className = getShortClassName();
-    System.out.println("START 
testZNRecordSizeLimitUseZNRecordStreamingSerializer at "
-        + new Date(System.currentTimeMillis()));
+    System.out.println("START 
testZNRecordSizeLimitUseZNRecordStreamingSerializer at " + new Date(
+        System.currentTimeMillis()));
 
     ZNRecordStreamingSerializer serializer = new ZNRecordStreamingSerializer();
     HelixZkClient zkClient = SharedZkClientFactory.getInstance()
@@ -168,6 +171,7 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase {
 
     try {
       zkClient.setZkSerializer(serializer);
+      String root = className;
       byte[] buf = new byte[1024];
       for (int i = 0; i < 1024; i++) {
         buf[i] = 'a';
@@ -183,7 +187,7 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase {
         smallRecord.setSimpleField(i + "", bufStr);
       }
 
-      String path1 = "/" + className + "/test1";
+      String path1 = "/" + root + "/test1";
       zkClient.createPersistent(path1, true);
       zkClient.writeData(path1, smallRecord);
 
@@ -197,29 +201,29 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase 
{
       for (int i = 0; i < 1024; i++) {
         largeRecord.setSimpleField(i + "", bufStr);
       }
-      String path2 = "/" + className + "/test2";
+      String path2 = "/" + root + "/test2";
       zkClient.createPersistent(path2, true);
       try {
         zkClient.writeData(path2, largeRecord);
-        Assert.fail("Should fail because data size is larger than 1M");
       } catch (HelixException e) {
-        // OK
+        Assert
+            .fail("Should not fail because data size is larger than 1M since 
compression applied");
       }
       record = zkClient.readData(path2);
-      Assert.assertNull(record);
+      Assert.assertNotNull(record);
 
       // oversized write doesn't overwrite existing data on zk
       record = zkClient.readData(path1);
       try {
         zkClient.writeData(path1, largeRecord);
-        Assert.fail("Should fail because data size is larger than 1M");
       } catch (HelixException e) {
-        // OK
+        Assert
+            .fail("Should not fail because data size is larger than 1M since 
compression applied");
       }
       ZNRecord recordNew = zkClient.readData(path1);
       byte[] arr = serializer.serialize(record);
       byte[] arrNew = serializer.serialize(recordNew);
-      Assert.assertTrue(Arrays.equals(arr, arrNew));
+      Assert.assertFalse(Arrays.equals(arr, arrNew));
 
       // test ZkDataAccessor
       ZKHelixAdmin admin = new ZKHelixAdmin(zkClient);
@@ -229,7 +233,7 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase {
 
       // oversized data should not create any new data on zk
       ZKHelixDataAccessor accessor =
-          new ZKHelixDataAccessor(className, new 
ZkBaseDataAccessor<>(zkClient));
+          new ZKHelixDataAccessor(className, new ZkBaseDataAccessor(zkClient));
       Builder keyBuilder = accessor.keyBuilder();
 
       // ZNRecord statusUpdates = new ZNRecord("statusUpdates");
@@ -242,9 +246,9 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase {
         idealState.getRecord().setSimpleField(i + "", bufStr);
       }
       boolean succeed = 
accessor.setProperty(keyBuilder.idealStates("TestDB_1"), idealState);
-      Assert.assertFalse(succeed);
+      Assert.assertTrue(succeed);
       HelixProperty property = 
accessor.getProperty(keyBuilder.idealStates("TestDB_1"));
-      Assert.assertNull(property);
+      Assert.assertNotNull(property);
 
       // legal sized data gets written to zk
       idealState.getRecord().getSimpleFields().clear();
@@ -271,17 +275,18 @@ public class TestZNRecordSizeLimit extends ZkUnitTestBase 
{
       }
       // System.out.println("record: " + idealState.getRecord());
       succeed = accessor.updateProperty(keyBuilder.idealStates("TestDB_2"), 
idealState);
-      Assert.assertFalse(succeed);
+      Assert.assertTrue(succeed);
       recordNew = 
accessor.getProperty(keyBuilder.idealStates("TestDB_2")).getRecord();
       arr = serializer.serialize(record);
       arrNew = serializer.serialize(recordNew);
-      Assert.assertTrue(Arrays.equals(arr, arrNew));
+      Assert.assertFalse(Arrays.equals(arr, arrNew));
+    } catch (HelixException ex) {
+      Assert.fail("Should not fail because data size is larger than 1M since 
compression applied");
     } finally {
       zkClient.close();
     }
 
-    deleteCluster(className);
-    System.out.println("END 
testZNRecordSizeLimitUseZNRecordStreamingSerializer at "
-        + new Date(System.currentTimeMillis()));
+    System.out.println("END 
testZNRecordSizeLimitUseZNRecordStreamingSerializer at " + new Date(
+        System.currentTimeMillis()));
   }
 }

Reply via email to