Skip to content

Commit

Permalink
Add extra wait time for query Events in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
losipiuk committed Nov 27, 2020
1 parent a10aaf1 commit 5f0a0a0
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import io.prestosql.testing.QueryRunner;
import org.intellij.lang.annotations.Language;

import java.time.Duration;
import java.util.Optional;

import static com.google.common.base.Strings.nullToEmpty;
Expand All @@ -30,11 +31,13 @@ class EventsAwaitingQueries
private final EventsCollector eventsCollector;

private final QueryRunner queryRunner;
private final Duration extraWaitTime;

EventsAwaitingQueries(EventsCollector eventsCollector, QueryRunner queryRunner)
EventsAwaitingQueries(EventsCollector eventsCollector, QueryRunner queryRunner, Duration extraWaitTime)
{
this.eventsCollector = requireNonNull(eventsCollector, "eventsBuilder is null");
this.queryRunner = requireNonNull(queryRunner, "queryRunner is null");
this.extraWaitTime = extraWaitTime;
}

MaterializedResult runQueryAndWaitForEvents(@Language("SQL") String sql, int numEventsExpected, Session session)
Expand Down Expand Up @@ -64,7 +67,9 @@ MaterializedResult runQueryAndWaitForEvents(@Language("SQL") String sql, int num
}

eventsCollector.waitForEvents(10);

// Sleep some more so extraneous, unexpected events can be recorded too.
// This is not rock solid but improves effectiveness on detecting duplicate events.
Thread.sleep(extraWaitTime.toMillis());
return result;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import java.time.Duration;

import static io.prestosql.testing.TestingSession.testSessionBuilder;
import static org.assertj.core.api.Assertions.assertThat;

Expand Down Expand Up @@ -57,7 +59,7 @@ public Iterable<ConnectorFactory> getConnectorFactories()
}
});
queryRunner.createCatalog("mock-catalog", "mock");
queries = new EventsAwaitingQueries(generatedEvents, queryRunner);
queries = new EventsAwaitingQueries(generatedEvents, queryRunner, Duration.ofSeconds(1));
}

@AfterClass(alwaysRun = true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ public Iterable<ConnectorFactory> getConnectorFactories()
queryRunner.getCoordinator().getResourceGroupManager().get()
.setConfigurationManager("file", ImmutableMap.of("resource-groups.config-file", getResourceFilePath("resource_groups_config_simple.json")));

queries = new EventsAwaitingQueries(generatedEvents, queryRunner);
queries = new EventsAwaitingQueries(generatedEvents, queryRunner, Duration.ofSeconds(1));

return queryRunner;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import org.intellij.lang.annotations.Language;
import org.testng.annotations.Test;

import java.time.Duration;
import java.util.List;
import java.util.Optional;
import java.util.Set;
Expand Down Expand Up @@ -90,7 +91,7 @@ public Iterable<ConnectorFactory> getConnectorFactories()
queryRunner.getCoordinator().getResourceGroupManager().get()
.setConfigurationManager("file", ImmutableMap.of("resource-groups.config-file", getResourceFilePath("resource_groups_config_simple.json")));

queries = new EventsAwaitingQueries(generatedEvents, queryRunner);
queries = new EventsAwaitingQueries(generatedEvents, queryRunner, Duration.ofSeconds(1));

return queryRunner;
}
Expand Down

0 comments on commit 5f0a0a0

Please sign in to comment.