Split / Parallel Read in Oracle Connector #41036
GitHub Actions / Test Report
failed
Aug 25, 2024 in 0s
436 tests run, 95 skipped, 1 failed.
Annotations
Check failure on line 1 in io/trino/plugin/oracle/TestOracleQueryFailureRecoveryTest
github-actions / Test Report
TestOracleQueryFailureRecoveryTest.testExplainAnalyze
UCP-29: Failed to get a connection
Raw output
io.trino.testing.QueryFailedException: UCP-29: Failed to get a connection
at io.trino.testing.AbstractTestingTrinoClient.execute(AbstractTestingTrinoClient.java:134)
at io.trino.testing.DistributedQueryRunner.executeInternal(DistributedQueryRunner.java:558)
at io.trino.testing.DistributedQueryRunner.executeWithPlan(DistributedQueryRunner.java:547)
at io.trino.testing.BaseFailureRecoveryTest$FailureRecoveryAssert.execute(BaseFailureRecoveryTest.java:558)
at io.trino.testing.BaseFailureRecoveryTest$FailureRecoveryAssert.executeExpected(BaseFailureRecoveryTest.java:518)
at io.trino.testing.BaseFailureRecoveryTest$FailureRecoveryAssert.lambda$failsWithoutRetries$10(BaseFailureRecoveryTest.java:731)
at io.trino.testing.BaseFailureRecoveryTest$FailureRecoveryAssert.getFailureStageId(BaseFailureRecoveryTest.java:755)
at io.trino.testing.BaseFailureRecoveryTest$FailureRecoveryAssert.failsWithoutRetries(BaseFailureRecoveryTest.java:731)
at io.trino.testing.BaseFailureRecoveryTest.testSelect(BaseFailureRecoveryTest.java:178)
at io.trino.testing.BaseFailureRecoveryTest.testSelect(BaseFailureRecoveryTest.java:134)
at io.trino.testing.BaseFailureRecoveryTest.testSelect(BaseFailureRecoveryTest.java:129)
at io.trino.testing.BaseFailureRecoveryTest.testExplainAnalyze(BaseFailureRecoveryTest.java:277)
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:1532)
at java.base/java.util.concurrent.ForkJoinPool.helpJoin(ForkJoinPool.java:2267)
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:1489)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2071)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2033)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
Suppressed: java.lang.Exception: SQL: EXPLAIN ANALYZE SELECT orderStatus, count(*) FROM orders GROUP BY orderStatus
at io.trino.testing.DistributedQueryRunner.executeInternal(DistributedQueryRunner.java:565)
... 23 more
Caused by: io.trino.spi.TrinoException: UCP-29: Failed to get a connection
at io.trino.plugin.jdbc.BaseJdbcClient.getTableHandle(BaseJdbcClient.java:248)
at io.trino.plugin.jdbc.ForwardingJdbcClient.getTableHandle(ForwardingJdbcClient.java:90)
at io.trino.plugin.jdbc.jmx.StatisticsAwareJdbcClient.lambda$getTableHandle$3(StatisticsAwareJdbcClient.java:111)
at io.trino.plugin.jdbc.jmx.JdbcApiStats.wrap(JdbcApiStats.java:34)
at io.trino.plugin.jdbc.jmx.StatisticsAwareJdbcClient.getTableHandle(StatisticsAwareJdbcClient.java:111)
at io.trino.plugin.jdbc.CachingJdbcClient.lambda$getTableHandle$5(CachingJdbcClient.java:370)
at io.trino.cache.EmptyCache.get(EmptyCache.java:94)
at io.trino.plugin.jdbc.CachingJdbcClient.get(CachingJdbcClient.java:793)
at io.trino.plugin.jdbc.CachingJdbcClient.getTableHandle(CachingJdbcClient.java:370)
at io.trino.plugin.jdbc.CachingJdbcClient.lambda$getTableHandle$5(CachingJdbcClient.java:370)
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4903)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3574)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2316)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2189)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2079)
at com.google.common.cache.LocalCache.get(LocalCache.java:4017)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4898)
at io.trino.cache.EvictableCache.get(EvictableCache.java:118)
at io.trino.plugin.jdbc.CachingJdbcClient.get(CachingJdbcClient.java:793)
at io.trino.plugin.jdbc.CachingJdbcClient.getTableHandle(CachingJdbcClient.java:370)
at io.trino.plugin.jdbc.DefaultJdbcMetadata.getTableHandle(DefaultJdbcMetadata.java:165)
at io.trino.plugin.jdbc.DefaultJdbcMetadata.getTableHandle(DefaultJdbcMetadata.java:120)
at io.trino.plugin.base.classloader.ClassLoaderSafeConnectorMetadata.getTableHandle(ClassLoaderSafeConnectorMetadata.java:1268)
at io.trino.tracing.TracingConnectorMetadata.getTableHandle(TracingConnectorMetadata.java:141)
at io.trino.metadata.MetadataManager.lambda$getTableHandle$5(MetadataManager.java:287)
at java.base/java.util.Optional.flatMap(Optional.java:289)
at io.trino.metadata.MetadataManager.getTableHandle(MetadataManager.java:278)
at io.trino.metadata.MetadataManager.getRedirectionAwareTableHandle(MetadataManager.java:1940)
at io.trino.metadata.MetadataManager.getRedirectionAwareTableHandle(MetadataManager.java:1932)
at io.trino.tracing.TracingMetadata.getRedirectionAwareTableHandle(TracingMetadata.java:1494)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.getTableHandle(StatementAnalyzer.java:5842)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitTable(StatementAnalyzer.java:2291)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitTable(StatementAnalyzer.java:520)
at io.trino.sql.tree.Table.accept(Table.java:60)
at io.trino.sql.tree.AstVisitor.process(AstVisitor.java:27)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:539)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.analyzeFrom(StatementAnalyzer.java:4891)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitQuerySpecification(StatementAnalyzer.java:3091)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitQuerySpecification(StatementAnalyzer.java:520)
at io.trino.sql.tree.QuerySpecification.accept(QuerySpecification.java:155)
at io.trino.sql.tree.AstVisitor.process(AstVisitor.java:27)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:539)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:547)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitQuery(StatementAnalyzer.java:1562)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitQuery(StatementAnalyzer.java:520)
at io.trino.sql.tree.Query.accept(Query.java:118)
at io.trino.sql.tree.AstVisitor.process(AstVisitor.java:27)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:539)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitExplainAnalyze(StatementAnalyzer.java:1541)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.visitExplainAnalyze(StatementAnalyzer.java:520)
at io.trino.sql.tree.ExplainAnalyze.accept(ExplainAnalyze.java:61)
at io.trino.sql.tree.AstVisitor.process(AstVisitor.java:27)
at io.trino.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:539)
at io.trino.sql.analyzer.StatementAnalyzer.analyze(StatementAnalyzer.java:499)
at io.trino.sql.analyzer.StatementAnalyzer.analyze(StatementAnalyzer.java:488)
at io.trino.sql.analyzer.Analyzer.analyze(Analyzer.java:98)
at io.trino.sql.analyzer.Analyzer.analyze(Analyzer.java:87)
at io.trino.execution.SqlQueryExecution.analyze(SqlQueryExecution.java:285)
at io.trino.execution.SqlQueryExecution.<init>(SqlQueryExecution.java:218)
at io.trino.execution.SqlQueryExecution$SqlQueryExecutionFactory.createQueryExecution(SqlQueryExecution.java:884)
at io.trino.dispatcher.LocalDispatchQueryFactory.lambda$createDispatchQuery$0(LocalDispatchQueryFactory.java:153)
at io.trino.$gen.Trino_testversion____20240825_092115_426.call(Unknown Source)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:76)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
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)
Caused by: java.sql.SQLException: UCP-29: Failed to get a connection
at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:399)
at oracle.ucp.util.UCPErrorHandler.throwSQLException(UCPErrorHandler.java:163)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1948)
at oracle.ucp.jdbc.PoolDataSourceImpl$3.build(PoolDataSourceImpl.java:4256)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1865)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1822)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1808)
at io.opentelemetry.instrumentation.jdbc.datasource.OpenTelemetryDataSource.wrapCall(OpenTelemetryDataSource.java:163)
at io.opentelemetry.instrumentation.jdbc.datasource.OpenTelemetryDataSource.getConnection(OpenTelemetryDataSource.java:94)
at io.trino.plugin.oracle.OraclePoolConnectionFactory.openConnection(OraclePoolConnectionFactory.java:87)
at io.trino.plugin.jdbc.jmx.StatisticsAwareConnectionFactory.lambda$openConnection$0(StatisticsAwareConnectionFactory.java:45)
at io.trino.plugin.jdbc.jmx.JdbcApiStats.wrap(JdbcApiStats.java:34)
at io.trino.plugin.jdbc.jmx.StatisticsAwareConnectionFactory.openConnection(StatisticsAwareConnectionFactory.java:45)
at io.trino.plugin.jdbc.RetryingConnectionFactory.lambda$openConnection$2(RetryingConnectionFactory.java:67)
at dev.failsafe.Functions.lambda$toCtxSupplier$11(Functions.java:243)
at dev.failsafe.Functions.lambda$get$0(Functions.java:46)
at dev.failsafe.internal.RetryPolicyExecutor.lambda$apply$0(RetryPolicyExecutor.java:74)
at dev.failsafe.SyncExecutionImpl.executeSync(SyncExecutionImpl.java:187)
at dev.failsafe.FailsafeExecutor.call(FailsafeExecutor.java:376)
at dev.failsafe.FailsafeExecutor.get(FailsafeExecutor.java:112)
at io.trino.plugin.jdbc.RetryingConnectionFactory.openConnection(RetryingConnectionFactory.java:67)
at io.trino.plugin.jdbc.LazyConnectionFactory.lambda$openConnection$0(LazyConnectionFactory.java:44)
at io.trino.plugin.jdbc.LazyConnectionFactory$LazyConnection.delegate(LazyConnectionFactory.java:75)
at io.trino.plugin.jdbc.ForwardingConnection.getMetaData(ForwardingConnection.java:117)
at io.trino.plugin.jdbc.ForwardingConnection.getMetaData(ForwardingConnection.java:117)
at io.trino.plugin.jdbc.BaseJdbcClient.getTables(BaseJdbcClient.java:1415)
at io.trino.plugin.jdbc.BaseJdbcClient.getTableHandle(BaseJdbcClient.java:233)
... 67 more
Suppressed: java.sql.SQLException: UCP-29: Failed to get a connection
at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:399)
at oracle.ucp.util.UCPErrorHandler.throwSQLException(UCPErrorHandler.java:163)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1948)
at oracle.ucp.jdbc.PoolDataSourceImpl$3.build(PoolDataSourceImpl.java:4256)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1865)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1822)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1808)
at io.opentelemetry.instrumentation.jdbc.datasource.OpenTelemetryDataSource.wrapCall(OpenTelemetryDataSource.java:163)
at io.opentelemetry.instrumentation.jdbc.datasource.OpenTelemetryDataSource.getConnection(OpenTelemetryDataSource.java:94)
at io.trino.plugin.oracle.OraclePoolConnectionFactory.openConnection(OraclePoolConnectionFactory.java:87)
at io.trino.plugin.jdbc.jmx.StatisticsAwareConnectionFactory.lambda$openConnection$0(StatisticsAwareConnectionFactory.java:45)
at io.trino.plugin.jdbc.jmx.JdbcApiStats.wrap(JdbcApiStats.java:34)
at io.trino.plugin.jdbc.jmx.StatisticsAwareConnectionFactory.openConnection(StatisticsAwareConnectionFactory.java:45)
at io.trino.plugin.jdbc.RetryingConnectionFactory.lambda$openConnection$2(RetryingConnectionFactory.java:67)
at dev.failsafe.Functions.lambda$toCtxSupplier$11(Functions.java:243)
at dev.failsafe.Functions.lambda$get$0(Functions.java:46)
at dev.failsafe.internal.RetryPolicyExecutor.lambda$apply$0(RetryPolicyExecutor.java:74)
at dev.failsafe.SyncExecutionImpl.executeSync(SyncExecutionImpl.java:187)
at dev.failsafe.FailsafeExecutor.call(FailsafeExecutor.java:376)
at dev.failsafe.FailsafeExecutor.get(FailsafeExecutor.java:112)
at io.trino.plugin.jdbc.RetryingConnectionFactory.openConnection(RetryingConnectionFactory.java:67)
at io.trino.plugin.jdbc.LazyConnectionFactory.lambda$openConnection$0(LazyConnectionFactory.java:44)
at io.trino.plugin.jdbc.LazyConnectionFactory$LazyConnection.delegate(LazyConnectionFactory.java:75)
at io.trino.plugin.jdbc.ForwardingConnection.isClosed(ForwardingConnection.java:110)
at io.trino.plugin.jdbc.ReusableConnectionFactory$CachedConnection.close(ReusableConnectionFactory.java:179)
at io.trino.plugin.jdbc.BaseJdbcClient.getTableHandle(BaseJdbcClient.java:228)
... 67 more
Caused by: oracle.ucp.UniversalConnectionPoolException: UCP-45064: All connections in the Universal Connection Pool are in use - [ 30, 30, 32, 2, 0, 0, 1, 0, 30, 30 ]
at oracle.ucp.util.UCPErrorHandler.newUniversalConnectionPoolException(UCPErrorHandler.java:316)
at oracle.ucp.util.UCPErrorHandler.throwUniversalConnectionPoolException(UCPErrorHandler.java:62)
at oracle.ucp.util.UCPErrorHandler.throwUniversalConnectionPoolException(UCPErrorHandler.java:98)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionWithoutCountingRequests(UniversalConnectionPoolImpl.java:520)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionAndValidateHelper(UniversalConnectionPoolImpl.java:279)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionAndValidate(UniversalConnectionPoolImpl.java:191)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnection(UniversalConnectionPoolImpl.java:157)
at oracle.ucp.jdbc.JDBCConnectionPool.borrowConnection(JDBCConnectionPool.java:207)
at oracle.ucp.jdbc.oracle.OracleJDBCConnectionPool.borrowConnection(OracleJDBCConnectionPool.java:608)
at oracle.ucp.jdbc.oracle.OracleConnectionConnectionPool.borrowConnection(OracleConnectionConnectionPool.java:128)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1928)
... 90 more
Caused by: oracle.ucp.UniversalConnectionPoolException: UCP-45064: All connections in the Universal Connection Pool are in use - [ 30, 30, 32, 2, 0, 0, 1, 0, 30, 30 ]
at oracle.ucp.util.UCPErrorHandler.newUniversalConnectionPoolException(UCPErrorHandler.java:316)
at oracle.ucp.util.UCPErrorHandler.throwUniversalConnectionPoolException(UCPErrorHandler.java:62)
at oracle.ucp.util.UCPErrorHandler.throwUniversalConnectionPoolException(UCPErrorHandler.java:98)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionWithoutCountingRequests(UniversalConnectionPoolImpl.java:520)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionAndValidateHelper(UniversalConnectionPoolImpl.java:279)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionAndValidate(UniversalConnectionPoolImpl.java:191)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnection(UniversalConnectionPoolImpl.java:157)
at oracle.ucp.jdbc.JDBCConnectionPool.borrowConnection(JDBCConnectionPool.java:207)
at oracle.ucp.jdbc.oracle.OracleJDBCConnectionPool.borrowConnection(OracleJDBCConnectionPool.java:608)
at oracle.ucp.jdbc.oracle.OracleConnectionConnectionPool.borrowConnection(OracleConnectionConnectionPool.java:128)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1928)
... 91 more
Loading