Hi team, I started a presto server v0.234 locally ...
# troubleshooting
j
Hi team, I started a presto server v0.234 locally with a catalog pointing to local pinot controller running in my local.
Copy code
connector.name=pinot
pinot.controller-urls=localhost:9000
Then I connected to the presto server through the presto cli. I am able to hit
show tables
and
describe tables
but when I try to get the data out like
select count(*) from table
it is timing out with the following error in the presto server
Copy code
2022-09-06T21:16:18.552+0530	ERROR	remote-task-callback-6	com.facebook.presto.execution.StageExecutionStateMachine	Stage execution 20220906_154613_00010_877h3.1.0 failed
java.io.UncheckedIOException: java.net.SocketTimeoutException: Connect Timeout
	at com.facebook.airlift.http.client.ResponseHandlerUtils.propagate(ResponseHandlerUtils.java:21)
	at com.facebook.airlift.http.client.StringResponseHandler.handleException(StringResponseHandler.java:51)
	at com.facebook.airlift.http.client.StringResponseHandler.handleException(StringResponseHandler.java:34)
	at com.facebook.airlift.http.client.jetty.JettyHttpClient.execute(JettyHttpClient.java:512)
	at com.facebook.presto.pinot.PinotClusterInfoFetcher.doHttpActionWithHeaders(PinotClusterInfoFetcher.java:146)
	at com.facebook.presto.pinot.PinotBrokerPageSource.lambda$issuePqlAndPopulate$0(PinotBrokerPageSource.java:267)
	at com.facebook.presto.pinot.PinotUtils.doWithRetries(PinotUtils.java:40)
	at com.facebook.presto.pinot.PinotBrokerPageSource.issuePqlAndPopulate(PinotBrokerPageSource.java:253)
	at com.facebook.presto.pinot.PinotBrokerPageSource.getNextPage(PinotBrokerPageSource.java:227)
	at com.facebook.presto.operator.TableScanOperator.getOutput(TableScanOperator.java:251)
	at com.facebook.presto.operator.Driver.processInternal(Driver.java:381)
	at com.facebook.presto.operator.Driver.lambda$processFor$8(Driver.java:283)
	at com.facebook.presto.operator.Driver.tryWithLock(Driver.java:677)
	at com.facebook.presto.operator.Driver.processFor(Driver.java:276)
	at com.facebook.presto.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1077)
	at com.facebook.presto.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:162)
	at com.facebook.presto.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:545)
	at com.facebook.presto.$gen.Presto_0_234_1f00527____20220906_154419_1.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketTimeoutException: Connect Timeout
	at org.eclipse.jetty.io.ManagedSelector$Connect.run(ManagedSelector.java:768)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	... 3 more
m
Seems like it is unable to connect to broker. Does explain plan for the query work or that also times out? cc: @Xiang Fu
x
Hmm, is pinot broker exposed to presto as well?
Also wanna try a higher version of presto?
j
The explain plan for the query timeout's after 30secs.
When I updated the presto server to the latest version, the explain query worked. But the actual query execution is still timing out.
@Xiang Fu I just gave the pinot controller host:port mapping in the presto catalog.
I tried the docker way and it worked 👍
👍 1
x
yeah, presto requires Pinot broker and server access for query
Which means they need to be within same network environment and the Pinot/presto hostnames are dns resolvable from each other's
1
j
I got it what I did was all my pinot installations were through docker and presto was a separate deployment. I guess that's why it was timing out. But still how did the
show tables
and
describe
queries executed properly? Through the controller URL provided in the presto catalog?
x
Show table and describe uses only controller APIs
So you may get it when only controller is opened