Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use idiom query runner setup to close on failure #21584

Closed
wants to merge 13 commits into from

Use idiom query runner setup to close on failure

66a0bea
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Closed

Use idiom query runner setup to close on failure #21584

Use idiom query runner setup to close on failure
66a0bea
Select commit
Loading
Failed to load commit list.
GitHub Actions / Test Report failed Apr 17, 2024 in 0s

73333 tests run, 1306 skipped, 4 failed.

Annotations

Check failure on line 70 in io/trino/plugin/hive/TestHiveQueryFailureRecoveryTest

See this annotation in the file changed.

@github-actions github-actions / Test Report

TestHiveQueryFailureRecoveryTest.

Exchange manager must be configured for the failure recovery capabilities to be fully functional
Raw output
io.trino.testing.QueryFailedException: Exchange manager must be configured for the failure recovery capabilities to be fully functional
	at io.trino.testing.AbstractTestingTrinoClient.execute(AbstractTestingTrinoClient.java:133)
	at io.trino.testing.DistributedQueryRunner.executeInternal(DistributedQueryRunner.java:504)
	at io.trino.testing.DistributedQueryRunner.execute(DistributedQueryRunner.java:487)
	at io.trino.testing.QueryAssertions.copyTable(QueryAssertions.java:517)
	at io.trino.testing.QueryAssertions.copyTable(QueryAssertions.java:510)
	at io.trino.testing.QueryAssertions.copyTpchTables(QueryAssertions.java:503)
	at io.trino.plugin.hive.HiveQueryRunner$Builder.populateData(HiveQueryRunner.java:263)
	at io.trino.plugin.hive.HiveQueryRunner$Builder.configure(HiveQueryRunner.java:252)
	at io.trino.testing.DistributedQueryRunner$Builder.build(DistributedQueryRunner.java:865)
	at io.trino.plugin.hive.s3.S3HiveQueryRunner$Builder.build(S3HiveQueryRunner.java:169)
	at io.trino.plugin.hive.TestHiveQueryFailureRecoveryTest.createQueryRunner(TestHiveQueryFailureRecoveryTest.java:70)
	at io.trino.testing.BaseFailureRecoveryTest.createQueryRunner(BaseFailureRecoveryTest.java:98)
	at io.trino.testing.AbstractTestQueryFramework.init(AbstractTestQueryFramework.java:113)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeAllMethod(TimeoutExtension.java:70)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllMethods$13(ClassBasedTestDescriptor.java:412)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllMethods(ClassBasedTestDescriptor.java:410)
	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:216)
	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:85)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:202)
	at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1491)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2073)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2035)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
	Suppressed: java.lang.Exception: SQL: CREATE TABLE IF NOT EXISTS nation AS SELECT * FROM tpch.tiny.nation
		at io.trino.testing.DistributedQueryRunner.executeInternal(DistributedQueryRunner.java:511)
		... 47 more
Caused by: io.trino.spi.TrinoException: Exchange manager must be configured for the failure recovery capabilities to be fully functional
	at io.trino.exchange.ExchangeManagerRegistry.getExchangeManager(ExchangeManagerRegistry.java:107)
	at io.trino.operator.DeduplicatingDirectExchangeBuffer$PageBuffer.addPages(DeduplicatingDirectExchangeBuffer.java:510)
	at io.trino.operator.DeduplicatingDirectExchangeBuffer.addPages(DeduplicatingDirectExchangeBuffer.java:222)
	at io.trino.operator.DirectExchangeClient.addPages(DirectExchangeClient.java:328)
	at io.trino.operator.DirectExchangeClient$ExchangeClientCallback.addPages(DirectExchangeClient.java:411)
	at io.trino.operator.HttpPageBufferClient$1.onSuccess(HttpPageBufferClient.java:436)
	at io.trino.operator.HttpPageBufferClient$1.onSuccess(HttpPageBufferClient.java:367)
	at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1137)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1570)

Check failure on line 70 in io/trino/plugin/hive/TestHiveTaskFailureRecoveryTest

See this annotation in the file changed.

@github-actions github-actions / Test Report

TestHiveTaskFailureRecoveryTest.

Exchange manager must be configured for the failure recovery capabilities to be fully functional
Raw output
io.trino.testing.QueryFailedException: Exchange manager must be configured for the failure recovery capabilities to be fully functional
	at io.trino.testing.AbstractTestingTrinoClient.execute(AbstractTestingTrinoClient.java:133)
	at io.trino.testing.DistributedQueryRunner.executeInternal(DistributedQueryRunner.java:504)
	at io.trino.testing.DistributedQueryRunner.execute(DistributedQueryRunner.java:487)
	at io.trino.testing.QueryAssertions.copyTable(QueryAssertions.java:517)
	at io.trino.testing.QueryAssertions.copyTable(QueryAssertions.java:510)
	at io.trino.testing.QueryAssertions.copyTpchTables(QueryAssertions.java:503)
	at io.trino.plugin.hive.HiveQueryRunner$Builder.populateData(HiveQueryRunner.java:263)
	at io.trino.plugin.hive.HiveQueryRunner$Builder.configure(HiveQueryRunner.java:252)
	at io.trino.testing.DistributedQueryRunner$Builder.build(DistributedQueryRunner.java:865)
	at io.trino.plugin.hive.s3.S3HiveQueryRunner$Builder.build(S3HiveQueryRunner.java:169)
	at io.trino.plugin.hive.TestHiveTaskFailureRecoveryTest.createQueryRunner(TestHiveTaskFailureRecoveryTest.java:70)
	at io.trino.testing.BaseFailureRecoveryTest.createQueryRunner(BaseFailureRecoveryTest.java:98)
	at io.trino.testing.AbstractTestQueryFramework.init(AbstractTestQueryFramework.java:113)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeAllMethod(TimeoutExtension.java:70)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllMethods$13(ClassBasedTestDescriptor.java:412)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllMethods(ClassBasedTestDescriptor.java:410)
	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:216)
	at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:85)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:202)
	at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.tryRemoveAndExec(ForkJoinPool.java:1534)
	at java.base/java.util.concurrent.ForkJoinPool.helpJoin(ForkJoinPool.java:2269)
	at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:495)
	at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:662)
	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:179)
	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:153)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:202)
	at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1491)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2073)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2035)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
	Suppressed: java.lang.Exception: SQL: CREATE TABLE IF NOT EXISTS nation AS SELECT * FROM tpch.tiny.nation
		at io.trino.testing.DistributedQueryRunner.executeInternal(DistributedQueryRunner.java:511)
		... 64 more
Caused by: io.trino.spi.TrinoException: Exchange manager must be configured for the failure recovery capabilities to be fully functional
	at io.trino.exchange.ExchangeManagerRegistry.getExchangeManager(ExchangeManagerRegistry.java:107)
	at io.trino.execution.SqlQueryExecution.planDistribution(SqlQueryExecution.java:573)
	at io.trino.execution.SqlQueryExecution.start(SqlQueryExecution.java:420)
	at io.trino.execution.SqlQueryManager.createQuery(SqlQueryManager.java:272)
	at io.trino.dispatcher.LocalDispatchQuery.startExecution(LocalDispatchQuery.java:145)
	at io.trino.dispatcher.LocalDispatchQuery.lambda$waitForMinimumWorkers$2(LocalDispatchQuery.java:129)
	at io.airlift.concurrent.MoreFutures.lambda$addSuccessCallback$12(MoreFutures.java:570)
	at io.airlift.concurrent.MoreFutures$3.onSuccess(MoreFutures.java:545)
	at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1137)
	at io.trino.$gen.Trino_testversion____20240417_112400_149.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1570)

Check failure on line 63 in io/trino/plugin/iceberg/TestIcebergQueryFailureRecoveryTest

See this annotation in the file changed.

@github-actions github-actions / Test Report

TestIcebergQueryFailureRecoveryTest.

Exchange manager must be configured for the failure recovery capabilities to be fully functional
Raw output
io.trino.testing.QueryFailedException: Exchange manager must be configured for the failure recovery capabilities to be fully functional
	at io.trino.testing.AbstractTestingTrinoClient.execute(AbstractTestingTrinoClient.java:133)
	at io.trino.testing.DistributedQueryRunner.executeInternal(DistributedQueryRunner.java:504)
	at io.trino.testing.DistributedQueryRunner.execute(DistributedQueryRunner.java:487)
	at io.trino.testing.QueryAssertions.copyTable(QueryAssertions.java:517)
	at io.trino.testing.QueryAssertions.copyTable(QueryAssertions.java:510)
	at io.trino.testing.QueryAssertions.copyTpchTables(QueryAssertions.java:503)
	at io.trino.plugin.iceberg.SchemaInitializer.accept(SchemaInitializer.java:55)
	at io.trino.plugin.iceberg.IcebergQueryRunner$Builder.configure(IcebergQueryRunner.java:141)
	at io.trino.testing.DistributedQueryRunner$Builder.build(DistributedQueryRunner.java:865)
	at io.trino.plugin.iceberg.TestIcebergQueryFailureRecoveryTest.createQueryRunner(TestIcebergQueryFailureRecoveryTest.java:63)
	at io.trino.testing.BaseFailureRecoveryTest.createQueryRunner(BaseFailureRecoveryTest.java:98)
	at io.trino.testing.AbstractTestQueryFramework.init(AbstractTestQueryFramework.java:113)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.tryRemoveAndExec(ForkJoinPool.java:1534)
	at java.base/java.util.concurrent.ForkJoinPool.helpJoin(ForkJoinPool.java:2269)
	at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:495)
	at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:662)
	at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1491)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2073)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2035)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
	Suppressed: java.lang.Exception: SQL: CREATE TABLE IF NOT EXISTS nation AS SELECT * FROM tpch.tiny.nation
		at io.trino.testing.DistributedQueryRunner.executeInternal(DistributedQueryRunner.java:511)
		... 23 more
Caused by: io.trino.spi.TrinoException: Exchange manager must be configured for the failure recovery capabilities to be fully functional
	at io.trino.exchange.ExchangeManagerRegistry.getExchangeManager(ExchangeManagerRegistry.java:107)
	at io.trino.operator.DeduplicatingDirectExchangeBuffer$PageBuffer.addPages(DeduplicatingDirectExchangeBuffer.java:510)
	at io.trino.operator.DeduplicatingDirectExchangeBuffer.addPages(DeduplicatingDirectExchangeBuffer.java:222)
	at io.trino.operator.DirectExchangeClient.addPages(DirectExchangeClient.java:328)
	at io.trino.operator.DirectExchangeClient$ExchangeClientCallback.addPages(DirectExchangeClient.java:411)
	at io.trino.operator.HttpPageBufferClient$1.onSuccess(HttpPageBufferClient.java:436)
	at io.trino.operator.HttpPageBufferClient$1.onSuccess(HttpPageBufferClient.java:367)
	at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1137)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1570)

Check failure on line 63 in io/trino/plugin/iceberg/TestIcebergTaskFailureRecoveryTest

See this annotation in the file changed.

@github-actions github-actions / Test Report

TestIcebergTaskFailureRecoveryTest.

Exchange manager must be configured for the failure recovery capabilities to be fully functional
Raw output
io.trino.testing.QueryFailedException: Exchange manager must be configured for the failure recovery capabilities to be fully functional
	at io.trino.testing.AbstractTestingTrinoClient.execute(AbstractTestingTrinoClient.java:133)
	at io.trino.testing.DistributedQueryRunner.executeInternal(DistributedQueryRunner.java:504)
	at io.trino.testing.DistributedQueryRunner.execute(DistributedQueryRunner.java:487)
	at io.trino.testing.QueryAssertions.copyTable(QueryAssertions.java:517)
	at io.trino.testing.QueryAssertions.copyTable(QueryAssertions.java:510)
	at io.trino.testing.QueryAssertions.copyTpchTables(QueryAssertions.java:503)
	at io.trino.plugin.iceberg.SchemaInitializer.accept(SchemaInitializer.java:55)
	at io.trino.plugin.iceberg.IcebergQueryRunner$Builder.configure(IcebergQueryRunner.java:141)
	at io.trino.testing.DistributedQueryRunner$Builder.build(DistributedQueryRunner.java:865)
	at io.trino.plugin.iceberg.TestIcebergTaskFailureRecoveryTest.createQueryRunner(TestIcebergTaskFailureRecoveryTest.java:63)
	at io.trino.testing.BaseFailureRecoveryTest.createQueryRunner(BaseFailureRecoveryTest.java:98)
	at io.trino.testing.AbstractTestQueryFramework.init(AbstractTestQueryFramework.java:113)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1491)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2073)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2035)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
	Suppressed: java.lang.Exception: SQL: CREATE TABLE IF NOT EXISTS nation AS SELECT * FROM tpch.tiny.nation
		at io.trino.testing.DistributedQueryRunner.executeInternal(DistributedQueryRunner.java:511)
		... 17 more
Caused by: io.trino.spi.TrinoException: Exchange manager must be configured for the failure recovery capabilities to be fully functional
	at io.trino.exchange.ExchangeManagerRegistry.getExchangeManager(ExchangeManagerRegistry.java:107)
	at io.trino.execution.SqlQueryExecution.planDistribution(SqlQueryExecution.java:573)
	at io.trino.execution.SqlQueryExecution.start(SqlQueryExecution.java:420)
	at io.trino.execution.SqlQueryManager.createQuery(SqlQueryManager.java:272)
	at io.trino.dispatcher.LocalDispatchQuery.startExecution(LocalDispatchQuery.java:145)
	at io.trino.dispatcher.LocalDispatchQuery.lambda$waitForMinimumWorkers$2(LocalDispatchQuery.java:129)
	at io.airlift.concurrent.MoreFutures.lambda$addSuccessCallback$12(MoreFutures.java:570)
	at io.airlift.concurrent.MoreFutures$3.onSuccess(MoreFutures.java:545)
	at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1137)
	at io.trino.$gen.Trino_testversion____20240417_112304_150.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1570)