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)
