Repository: oozie
Updated Branches:
  refs/heads/master ecf7d8478 -> eee0a4ee4


OOZIE-2550 Flaky tests in TestZKUUIDService.java (pbacsko via rkanter)


Project: http://git-wip-us.apache.org/repos/asf/oozie/repo
Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/eee0a4ee
Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/eee0a4ee
Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/eee0a4ee

Branch: refs/heads/master
Commit: eee0a4ee41e1d864fc58dc7de58402eab316e1f0
Parents: ecf7d84
Author: Robert Kanter <[email protected]>
Authored: Thu Jun 9 19:08:38 2016 -0700
Committer: Robert Kanter <[email protected]>
Committed: Thu Jun 9 19:08:38 2016 -0700

----------------------------------------------------------------------
 .../org/apache/oozie/service/ZKUUIDService.java |  2 +-
 .../apache/oozie/service/TestZKUUIDService.java | 30 ++++++++++++--------
 release-log.txt                                 |  1 +
 3 files changed, 20 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oozie/blob/eee0a4ee/core/src/main/java/org/apache/oozie/service/ZKUUIDService.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/oozie/service/ZKUUIDService.java 
b/core/src/main/java/org/apache/oozie/service/ZKUUIDService.java
index 61a6274..1d4116c 100644
--- a/core/src/main/java/org/apache/oozie/service/ZKUUIDService.java
+++ b/core/src/main/java/org/apache/oozie/service/ZKUUIDService.java
@@ -212,7 +212,7 @@ public class ZKUUIDService extends UUIDService {
     }
 
     @VisibleForTesting
-    public void setMaxSequence(long sequence) {
+    static void setMaxSequence(long sequence) {
         maxSequence = sequence;
     }
 

http://git-wip-us.apache.org/repos/asf/oozie/blob/eee0a4ee/core/src/test/java/org/apache/oozie/service/TestZKUUIDService.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/oozie/service/TestZKUUIDService.java 
b/core/src/test/java/org/apache/oozie/service/TestZKUUIDService.java
index 191f4e6..d1d75d7 100644
--- a/core/src/test/java/org/apache/oozie/service/TestZKUUIDService.java
+++ b/core/src/test/java/org/apache/oozie/service/TestZKUUIDService.java
@@ -18,9 +18,8 @@
 package org.apache.oozie.service;
 
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
-import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.oozie.BulkResponseInfo;
@@ -39,6 +38,7 @@ public class TestZKUUIDService extends ZKXTestCase {
     @Override
     protected void setUp() throws Exception {
         super.setUp();
+        ZKUUIDService.setMaxSequence(9999990L);
     }
 
     @Override
@@ -102,7 +102,10 @@ public class TestZKUUIDService extends ZKXTestCase {
     }
 
     public void testMultipleIDGeneration_withMultiThread() throws Exception {
-        final List<Boolean> result = new ArrayList<Boolean>(10000);
+        final int size = 10000;
+        final boolean[] result = new boolean[size];
+        Arrays.fill(result, false);
+
         final ZKUUIDService uuid1 = new ZKUUIDService();
         final ZKUUIDService uuid2 = new ZKUUIDService();
         setSystemProperty(UUIDService.CONF_GENERATOR, "counter");
@@ -112,17 +115,21 @@ public class TestZKUUIDService extends ZKXTestCase {
         try {
             Thread t1 = new Thread() {
                 public void run() {
-                    for (int i = 0; i < 5000; i++) {
+                    for (int i = 0; i < size / 2; i++) {
                         String id = uuid1.generateId(ApplicationType.WORKFLOW);
-                        result.add(Integer.parseInt(id.substring(0, 7)), true);
+                        log.info("[Thread-1] Generated id: {0}", id);
+                        int index = Integer.parseInt(id.substring(0, 7));
+                        result[index] = true;
                     }
                 }
             };
             Thread t2 = new Thread() {
                 public void run() {
-                    for (int i = 0; i < 5000; i++) {
+                    for (int i = 0; i < size / 2; i++) {
                         String id = uuid2.generateId(ApplicationType.WORKFLOW);
-                        result.add(Integer.parseInt(id.substring(0, 7)), true);
+                        log.info("[Thread-2] Generated id: {0}", id);
+                        int index = Integer.parseInt(id.substring(0, 7));
+                        result[index] = true;
                     }
                 }
             };
@@ -130,8 +137,8 @@ public class TestZKUUIDService extends ZKXTestCase {
             t2.start();
             t1.join();
             t2.join();
-            for (int i = 0; i < 10000; i++) {
-                assertTrue(result.get(i));
+            for (int i = 0; i < size; i++) {
+                assertTrue("Array index " + i + " is not set to true", 
result[i]);
             }
         }
         finally {
@@ -147,7 +154,7 @@ public class TestZKUUIDService extends ZKXTestCase {
         ZKUUIDService uuid = new ZKUUIDService();
         try {
             setSystemProperty(UUIDService.CONF_GENERATOR, "counter");
-            uuid.setMaxSequence(900);
+            ZKUUIDService.setMaxSequence(900);
             uuid.init(service);
             String id = uuid.generateId(ApplicationType.WORKFLOW);
             Date d = dateFormat.parse(id.split("-")[1]);
@@ -174,8 +181,7 @@ public class TestZKUUIDService extends ZKXTestCase {
         setSystemProperty(UUIDService.CONF_GENERATOR, "counter");
         uuid1.init(service);
         uuid2.init(service);
-        uuid1.setMaxSequence(5000);
-        uuid2.setMaxSequence(5000);
+        ZKUUIDService.setMaxSequence(5000);
 
         for (int i = 0; i < 5000; i++) {
             result[i]=new AtomicInteger(0);

http://git-wip-us.apache.org/repos/asf/oozie/blob/eee0a4ee/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 249f4a6..4a556e6 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 4.3.0 release (trunk - unreleased)
 
+OOZIE-2550 Flaky tests in TestZKUUIDService.java (pbacsko via rkanter)
 OOZIE-2445 Doc for - Specifying coordinator input datasets in more logical 
ways (puru)
 OOZIE-2541 Possible resource leak in Hive2Credentials (pbacsko via rkanter)
 OOZIE-2563 Pass spark-defaults.conf to spark action (satishsaley via rohini)

Reply via email to