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

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


The following commit(s) were added to refs/heads/master by this push:
     new 156905fcd58 HIVE-27652: Fix flakyness caused by 
CompactorOnTezTest#getRelatedTezEvent (Laszlo Vegh, reviewed by Laszlo Bodor)
156905fcd58 is described below

commit 156905fcd588c99f596eb96a0932068df5007000
Author: veghlaci05 <veghlac...@gmail.com>
AuthorDate: Wed Aug 30 14:36:29 2023 +0200

    HIVE-27652: Fix flakyness caused by CompactorOnTezTest#getRelatedTezEvent 
(Laszlo Vegh, reviewed by Laszlo Bodor)
---
 .../hive/ql/txn/compactor/CompactorOnTezTest.java  | 37 ++++++++++------------
 1 file changed, 17 insertions(+), 20 deletions(-)

diff --git 
a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/CompactorOnTezTest.java
 
b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/CompactorOnTezTest.java
index 56ca350b739..5a3324831e0 100644
--- 
a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/CompactorOnTezTest.java
+++ 
b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/CompactorOnTezTest.java
@@ -190,31 +190,28 @@ public abstract class CompactorOnTezTest {
   protected HiveHookEvents.HiveHookEventProto getRelatedTezEvent(String 
dbTableName) throws Exception {
     int retryCount = 3;
     while (retryCount-- > 0) {
-      try {
-        List<ProtoMessageReader<HiveHookEvents.HiveHookEventProto>> readers = 
TestHiveProtoLoggingHook.getTestReader(conf, tmpFolder);
-        for (ProtoMessageReader<HiveHookEvents.HiveHookEventProto> reader : 
readers) {
-          HiveHookEvents.HiveHookEventProto event = reader.readEvent();
-          boolean getRelatedEvent = false;
-          while (!getRelatedEvent) {
-            while (event != null && ExecutionMode.TEZ != 
ExecutionMode.valueOf(event.getExecutionMode())) {
-              event = reader.readEvent();
-            }
-            // Tables read is the table picked for compaction.
-            if (event != null && event.getTablesReadCount() > 0 && 
dbTableName.equalsIgnoreCase(event.getTablesRead(0))) {
-              getRelatedEvent = true;
-            } else {
-              event = reader.readEvent();
+      List<ProtoMessageReader<HiveHookEvents.HiveHookEventProto>> readers = 
TestHiveProtoLoggingHook.getTestReader(conf, tmpFolder);
+      for (ProtoMessageReader<HiveHookEvents.HiveHookEventProto> reader : 
readers) {
+        do {
+          HiveHookEvents.HiveHookEventProto event;
+          try {
+            if ((event = reader.readEvent()) == null) {
+              break;
             }
+          } catch (IOException e) {
+            //IO error, or reached end of current event file. Advancing to 
next.
+            break;
           }
-          if (getRelatedEvent) {
+          if 
(ExecutionMode.TEZ.equals(ExecutionMode.valueOf(event.getExecutionMode())) &&
+              event.getTablesReadCount() > 0 &&
+              dbTableName.equalsIgnoreCase(event.getTablesRead(0))) {
             return event;
           }
-        }
-      } catch (EOFException e) {
-        //Since Event writing is async it may happen that the event we are 
looking for is not yet written out.
-        //Let's retry it after waiting a bit
-        Thread.sleep(2000);
+        } while (true);
       }
+      //Since Event writing is async it may happen that the event we are 
looking for is not yet written out.
+      //Let's retry it after waiting a bit
+      Thread.sleep(3000);
     }
     return null;
   }

Reply via email to