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 <[email protected]>
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;
}