0
votes

No worker nodes available. We are getting this error intermittently for postgres. I have made sure that .properties file is available in all the nodes and is correct and hence some of the queries are running.

Can this error come when hardware resources aren't enough for number of queries getting executed ?

Exact error message is: RESPONSE --> {"id":"20170816_111721_01180_c5tn3","infoUri":"http://ec2-52-91-204-246.compute-1.amazonaws.com:8080/query.html?20170816_111721_01180_c5tn3","stats":{"state":"FAILED","queued":false,"scheduled":false,"nodes":0,"totalSplits":0,"queuedSplits":0,"runningSplits":0,"completedSplits":0,"userTimeMillis":0,"cpuTimeMillis":0,"wallTimeMillis":0,"processedRows":0,"processedBytes":0},"error":{"message":"No worker nodes available","errorCode":65541,"errorName":"NO_NODES_AVAILABLE","errorType":"INTERNAL_ERROR","failureInfo":{"type":"com.facebook.presto.spi.PrestoException","message":"No worker nodes available","suppressed":[],"stack":["com.facebook.presto.util.Failures.checkCondition(Failures.java:85)","com.facebook.presto.sql.planner.SystemPartitioningHandle.getNodePartitionMap(SystemPartitioningHandle.java:149)","com.facebook.presto.sql.planner.NodePartitioningManager.getNodePartitioningMap(NodePartitioningManager.java:105)","com.facebook.presto.execution.scheduler.SqlQueryScheduler.lambda$null$0(SqlQueryScheduler.java:140)","java.util.HashMap.computeIfAbsent(HashMap.java:1126)","com.facebook.presto.execution.scheduler.SqlQueryScheduler.lambda$new$1(SqlQueryScheduler.java:140)","com.facebook.presto.execution.scheduler.SqlQueryScheduler.createStages(SqlQueryScheduler.java:241)","com.facebook.presto.execution.scheduler.SqlQueryScheduler.\u003Cinit\u003E(SqlQueryScheduler.java:131)","com.facebook.presto.execution.SqlQueryExecution.planDistribution(SqlQueryExecution.java:388)","com.facebook.presto.execution.SqlQueryExecution.start(SqlQueryExecution.java:252)","com.facebook.presto.execution.QueuedExecution.lambda$start$1(QueuedExecution.java:62)","java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)","java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)","java.lang.Thread.run(Thread.java:748)"]}}}

1
This generally means you need to understand what happened before this error. Did the workers crash/disconnect/freeze/become unresponsive and why.Piotr Findeisen
Actually workers were reachable/ working and hence queries are failing intermittently. Can it be because the current hardware is not able to support the load ?dabansal

1 Answers

1
votes

There might be many reasons for your workers to crash:

Your query might block some resources and cause your worker to crash or there might be insufficient resources for your query to execute. You need to reconfigure your presto server in config.properties file to meet your query needs.