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; }