CreativeDataEU / PowerBITrinoConnector

A Micosoft Power BI Custom Connector allowing you to import Trino data into Power BI.
MIT License
38 stars 15 forks source link

One table - one SQL - 3 Abandoned queries and 1 succeeded #4

Closed Iviglious closed 1 year ago

Iviglious commented 1 year ago

Hi,

I recently noticed a strange behaviour of PowerBI using Trino cluster. Possibly it's not a bug of your connector, but I was hoping you can shed some light.

Specs

PowerBI: v2.116.966.0 64-bit (April 2023) Tino cluster: v393-e.7 JDK version: 17.0.6+10-LTS, 5 nodes Starburst ODBC: v2.0.14.1017

Setup

I have a Starburst Trino cluster and I connect to it using Starburst ODBC. Then In PowerBI I have one test table with one SELECT query using that ODBC connection. image

Issue

Every time when I refresh the table 4 queries (with the same SQL) are triggered at the cluster (few seconds difference of create date/time). image The SELECT statement is not too strong. It takes 5 - 7 min and returns ~1M rows. So after ~5 min the PowerBI dataset is refreshed (finishes successfully), and I see the last of the 4 queries with success status too. However, the first 3 queries are still with Running status: image And after a while (when it reaches the timeout setting - we increased it from the default 5min to 15min) all 3 queries fail with __ABANDONED_QUERY__ reason:

io.trino.spi.TrinoException: Query 20230509_163744_nnnn has not been accessed since 2023-05-09T16:38:14.496Z: currentTime 2023-05-09T16:53:15.113Z
    at io.trino.execution.QueryTracker.failAbandonedQueries(QueryTracker.java:265)
    at io.trino.execution.QueryTracker.lambda$start$0(QueryTracker.java:82)
    at com.google.common.util.concurrent.MoreExecutors$ScheduledListeningDecorator$NeverSuccessfulListenableFutureTask.run(MoreExecutors.java:730)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)

image

Questions

pichlerpa commented 1 year ago

Hi @Iviglious, you should reach out to Starburst, this connector has nothing to to with it. Patrick