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

lesun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-gobblin.git


The following commit(s) were added to refs/heads/master by this push:
     new bc41697  [GOBBLIN-1197] Attempting resolving race condition among 
different tests' port allocation
bc41697 is described below

commit bc41697783c4ff0ee3cb6a5ef43b04896aa988a9
Author: Lei Sun <[email protected]>
AuthorDate: Wed Jun 17 12:28:12 2020 -0700

    [GOBBLIN-1197] Attempting resolving race condition among different tests' 
port allocation
    
    Always execute stopServers in elasticSearchWriter
    
    Attempt to resolve contention among tests for port
    allocation
    
    Add some log in failing tests
    
    Closes #3043 from autumnust/master
---
 .../elasticsearch/writer/ElasticsearchWriterIntegrationTest.java  | 8 +++++---
 .../org/apache/gobblin/kafka/writer/Kafka09DataWriterTest.java    | 8 ++++++--
 .../src/main/java/org/apache/gobblin/test/TestUtils.java          | 2 +-
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git 
a/gobblin-modules/gobblin-elasticsearch/src/test/java/org/apache/gobblin/elasticsearch/writer/ElasticsearchWriterIntegrationTest.java
 
b/gobblin-modules/gobblin-elasticsearch/src/test/java/org/apache/gobblin/elasticsearch/writer/ElasticsearchWriterIntegrationTest.java
index 746171c..f5f2950 100644
--- 
a/gobblin-modules/gobblin-elasticsearch/src/test/java/org/apache/gobblin/elasticsearch/writer/ElasticsearchWriterIntegrationTest.java
+++ 
b/gobblin-modules/gobblin-elasticsearch/src/test/java/org/apache/gobblin/elasticsearch/writer/ElasticsearchWriterIntegrationTest.java
@@ -62,7 +62,7 @@ public class ElasticsearchWriterIntegrationTest {
     recordGenerators = ImmutableList.of(new AvroRecordGenerator(), new 
JsonRecordGenerator());
   }
 
-  @BeforeSuite
+  @BeforeSuite(alwaysRun=true)
   public void startServers()
       throws IOException {
     log.error("{}: Starting Elasticsearch Server", pid);
@@ -70,10 +70,12 @@ public class ElasticsearchWriterIntegrationTest {
     _esTestServer.start(60);
   }
 
-  @AfterSuite
+  @AfterSuite(alwaysRun=true)
   public void stopServers() {
     log.error("{}: Stopping Elasticsearch Server", pid);
-    _esTestServer.stop();
+    if (_esTestServer != null ) {
+      _esTestServer.stop();
+    }
   }
 
 
diff --git 
a/gobblin-modules/gobblin-kafka-09/src/test/java/org/apache/gobblin/kafka/writer/Kafka09DataWriterTest.java
 
b/gobblin-modules/gobblin-kafka-09/src/test/java/org/apache/gobblin/kafka/writer/Kafka09DataWriterTest.java
index e535b63..a6e986a 100644
--- 
a/gobblin-modules/gobblin-kafka-09/src/test/java/org/apache/gobblin/kafka/writer/Kafka09DataWriterTest.java
+++ 
b/gobblin-modules/gobblin-kafka-09/src/test/java/org/apache/gobblin/kafka/writer/Kafka09DataWriterTest.java
@@ -60,14 +60,14 @@ public class Kafka09DataWriterTest {
     _kafkaTestHelper = new KafkaTestBase();
   }
 
-  @BeforeSuite
+  @BeforeSuite(alwaysRun = true)
   public void beforeSuite() {
     log.warn("Process id = " + ManagementFactory.getRuntimeMXBean().getName());
 
     _kafkaTestHelper.startServers();
   }
 
-  @AfterSuite
+  @AfterSuite(alwaysRun = true)
   public void afterSuite()
       throws IOException {
     try {
@@ -161,10 +161,14 @@ public class Kafka09DataWriterTest {
       kafka09DataWriter.close();
     }
 
+    log.info("Kafka events written");
+
     verify(callback, times(1)).onSuccess(isA(WriteResponse.class));
     verify(callback, never()).onFailure(isA(Exception.class));
 
     byte[] message = 
_kafkaTestHelper.getIteratorForTopic(topic).next().message();
+
+    log.info("Kafka events read, start to check result... ");
     ConfigDrivenMd5SchemaRegistry schemaReg = new 
ConfigDrivenMd5SchemaRegistry(topic, record.getSchema());
     LiAvroDeserializer deser = new LiAvroDeserializer(schemaReg);
     GenericRecord receivedRecord = deser.deserialize(topic, message);
diff --git 
a/gobblin-test-utils/src/main/java/org/apache/gobblin/test/TestUtils.java 
b/gobblin-test-utils/src/main/java/org/apache/gobblin/test/TestUtils.java
index 68c79e9..ff560ba 100644
--- a/gobblin-test-utils/src/main/java/org/apache/gobblin/test/TestUtils.java
+++ b/gobblin-test-utils/src/main/java/org/apache/gobblin/test/TestUtils.java
@@ -97,7 +97,7 @@ public class TestUtils {
    * @return a free port number on localhost
    * @throws IllegalStateException if unable to find a free port
    */
-  public static int findFreePort() {
+  public synchronized static int findFreePort() {
     ServerSocket socket = null;
     try {
       socket = new ServerSocket(0);

Reply via email to