dhealy05 opened a new issue #6146: Pulsar SQL Cluster Fails Out of the Box with 
Default Deployment v2.5.0
URL: https://github.com/apache/pulsar/issues/6146
 
 
   With a default deployment of 3 Zookeeper nodes, 3 Broker/BookKeeper nodes, 
and 3 Pulsar SQL nodes, SQL query "select * from 
pulsar."public/default".generator_test;" fails.
   
   "select * from system.runtime.nodes;" works correctly and 
   "show tables in pulsar."public/default";" works correctly.
   
   There are two ways in which it fails: 
   
   1. For a cluster with multiple hosts, where 
conf/presto/catalog/pulsar.properties 
"pulsar.broker-service-url=http://10.0.0.7:8080,10.0.0.8:8080,10.0.0.9:8080";, 
the following error message is shown at the Presto CLI with --debug:
   
   Failed to get topics in schema public/default: For input string: 
"8080,10.0.0.8:8080,10.0.0.9:8080"
        at 
org.apache.pulsar.sql.presto.PulsarMetadata.getTableMetadata(PulsarMetadata.java:298)
        at 
org.apache.pulsar.sql.presto.PulsarMetadata.getTableMetadata(PulsarMetadata.java:159)
        at 
com.facebook.presto.metadata.MetadataManager.getTableMetadata(MetadataManager.java:377)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitTable(StatementAnalyzer.java:841)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitTable(StatementAnalyzer.java:257)
        at com.facebook.presto.sql.tree.Table.accept(Table.java:53)
        at com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:27)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:269)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.analyzeFrom(StatementAnalyzer.java:1787)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuerySpecification(StatementAnalyzer.java:944)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuerySpecification(StatementAnalyzer.java:257)
        at 
com.facebook.presto.sql.tree.QuerySpecification.accept(QuerySpecification.java:127)
        at com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:27)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:269)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:279)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuery(StatementAnalyzer.java:675)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuery(StatementAnalyzer.java:257)
        at com.facebook.presto.sql.tree.Query.accept(Query.java:94)
        at com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:27)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:269)
        at 
com.facebook.presto.sql.analyzer.StatementAnalyzer.analyze(StatementAnalyzer.java:243)
        at com.facebook.presto.sql.analyzer.Analyzer.analyze(Analyzer.java:72)
        at com.facebook.presto.sql.analyzer.Analyzer.analyze(Analyzer.java:64)
        at 
com.facebook.presto.execution.SqlQueryExecution.<init>(SqlQueryExecution.java:169)
        at 
com.facebook.presto.execution.SqlQueryExecution$SqlQueryExecutionFactory.createQueryExecution(SqlQueryExecution.java:677)
        at 
com.facebook.presto.execution.SqlQueryManager.createQueryInternal(SqlQueryManager.java:444)
        at 
com.facebook.presto.execution.SqlQueryManager.lambda$createQuery$3(SqlQueryManager.java:377)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        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: org.apache.pulsar.client.admin.PulsarAdminException: 
java.lang.NumberFormatException: For input string: 
"8080,X.X.X.2:8080,X.X.X.3:8080".
   
   2. If we instead switch to "pulsar.broker-service-url=http://X.X.X.1:8080"; 
by itself, the following is shown on the Coordinator Node:
   
   2020-01-26T20:04:50.168Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client 
environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
   2020-01-26T20:04:50.169Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client environment:java.io.tmpdir=/tmp
   2020-01-26T20:04:50.169Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client environment:java.compiler=<NA>
   2020-01-26T20:04:50.169Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client environment:os.name=Linux
   2020-01-26T20:04:50.169Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client environment:os.arch=amd64
   2020-01-26T20:04:50.169Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client 
environment:os.version=4.14.154-128.181.amzn2.x86_64
   2020-01-26T20:04:50.170Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client environment:user.name=ec2-user
   2020-01-26T20:04:50.170Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client environment:user.home=/home/ec2-user
   2020-01-26T20:04:50.170Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client 
environment:user.dir=/home/ec2-user/apache-pulsar-2.5.0/lib/presto
   2020-01-26T20:04:50.170Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client environment:os.memory.free=88MB
   2020-01-26T20:04:50.170Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client environment:os.memory.max=16384MB
   2020-01-26T20:04:50.170Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Client environment:os.memory.total=256MB
   2020-01-26T20:04:50.213Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ZooKeeper  Initiating client connection, 
connectString=10.0.0.4:2181,10.0.0.5:2181,10.0.0.6:2181 sessionTimeout=10000 
watcher=org.apache.bookkeeper.zookeeper.ZooKeeperWatcherBase@6f62d802
   2020-01-26T20:04:50.224Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.common.X509Util    Setting -D 
jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS 
renegotiation
   2020-01-26T20:04:50.231Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ClientCnxnSocket   jute.maxbuffer value is 4194304 Bytes
   2020-01-26T20:04:50.242Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.zookeeper.ClientCnxn zookeeper.request.timeout value is 0. feature 
enabled=
   2020-01-26T20:04:50.273Z     INFO    
Query-20200126_200449_00001_av2iy-144-SendThread(10.0.0.6:2181) 
org.apache.zookeeper.ClientCnxn Opening socket connection to server 
ip-10-0-0-6.us-west-2.compute.internal/10.0.0.6:2181. Will not attempt to 
authenticate using SASL (unknown error)
   2020-01-26T20:04:50.274Z     INFO    
Query-20200126_200449_00001_av2iy-144-SendThread(10.0.0.6:2181) 
org.apache.zookeeper.ClientCnxn Socket connection established, initiating 
session, client: /10.0.0.10:53282, server: 
ip-10-0-0-6.us-west-2.compute.internal/10.0.0.6:2181
   2020-01-26T20:04:50.284Z     INFO    
Query-20200126_200449_00001_av2iy-144-SendThread(10.0.0.6:2181) 
org.apache.zookeeper.ClientCnxn Session establishment complete on server 
ip-10-0-0-6.us-west-2.compute.internal/10.0.0.6:2181, sessionid = 
0x300000aa5d30009, negotiated timeout = 10000
   2020-01-26T20:04:50.288Z     INFO    
Query-20200126_200449_00001_av2iy-144-EventThread       
org.apache.bookkeeper.zookeeper.ZooKeeperWatcherBase    ZooKeeper client is 
connected now.
   2020-01-26T20:04:50.338Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.bookkeeper.meta.MetadataDrivers      BookKeeper metadata driver 
manager initialized
   2020-01-26T20:04:50.339Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.bookkeeper.meta.MetadataDrivers      BookKeeper metadata driver 
manager initialized
   2020-01-26T20:04:50.339Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.bookkeeper.meta.MetadataDrivers      BookKeeper metadata driver 
manager initialized
   2020-01-26T20:04:50.343Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase      Initialize zookeeper 
metadata driver with external zookeeper client : ledgersRootPath = /ledgers.
   2020-01-26T20:04:50.367Z     WARN    Query-20200126_200449_00001_av2iy-144   
org.apache.bookkeeper.util.EventLoopUtil        Could not use Netty Epoll event 
loop: failed to load the required native library
   2020-01-26T20:04:50.400Z     ERROR   Query-20200126_200449_00001_av2iy-144   
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl       Failed 
to initialize DNS Resolver org.apache.bookkeeper.net.ScriptBasedMapping, used 
default subnet resolver : java.lang.RuntimeException: No network topology 
script is found when using script based DNS resolver.
   2020-01-26T20:04:50.408Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl       
Initialize rackaware ensemble placement policy @ <Bookie:10.0.0.10:0> @ 
/default-rack : 
org.apache.bookkeeper.client.TopologyAwareEnsemblePlacementPolicy$DefaultResolver.
   2020-01-26T20:04:50.408Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl       Not 
weighted
   2020-01-26T20:04:50.413Z     INFO    Query-20200126_200449_00001_av2iy-144   
org.apache.bookkeeper.client.BookKeeper Weighted ledger placement is not enabled
   2020-01-26T20:04:50.446Z     INFO    
BookKeeperClientScheduler-OrderedScheduler-0-0  
org.apache.bookkeeper.net.NetworkTopologyImpl   Adding a new node: 
/default-rack/10.0.0.8:3181
   2020-01-26T20:04:50.469Z     INFO    
BookKeeperClientScheduler-OrderedScheduler-0-0  
org.apache.bookkeeper.net.NetworkTopologyImpl   Adding a new node: 
/default-rack/10.0.0.9:3181
   2020-01-26T20:04:50.483Z     INFO    
BookKeeperClientScheduler-OrderedScheduler-0-0  
org.apache.bookkeeper.net.NetworkTopologyImpl   Adding a new node: 
/default-rack/10.0.0.7:3181
   2020-01-26T20:04:50.486Z     ERROR   Query-20200126_200449_00001_av2iy-144   
org.apache.pulsar.sql.presto.PulsarSplitManager Failed to get splits
   java.io.IOException: Failed to initialize ledger manager factory
        at org.apache.bookkeeper.client.BookKeeper.<init>(BookKeeper.java:520)
        at org.apache.bookkeeper.client.BookKeeper.<init>(BookKeeper.java:368)
        at 
org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl$DefaultBkFactory.<init>(ManagedLedgerFactoryImpl.java:183)
        at 
org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl.<init>(ManagedLedgerFactoryImpl.java:122)
        at 
org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl.<init>(ManagedLedgerFactoryImpl.java:114)
        at 
org.apache.pulsar.sql.presto.PulsarConnectorCache.initManagedLedgerFactory(PulsarConnectorCache.java:108)
        at 
org.apache.pulsar.sql.presto.PulsarConnectorCache.<init>(PulsarConnectorCache.java:66)
        at 
org.apache.pulsar.sql.presto.PulsarConnectorCache.getConnectorCache(PulsarConnectorCache.java:83)
        at 
org.apache.pulsar.sql.presto.PulsarSplitManager.getSplitsNonPartitionedTopic(PulsarSplitManager.java:224)
        at 
org.apache.pulsar.sql.presto.PulsarSplitManager.getSplits(PulsarSplitManager.java:126)
        at 
com.facebook.presto.split.SplitManager.getSplits(SplitManager.java:64)
        at 
com.facebook.presto.sql.planner.DistributedExecutionPlanner$Visitor.visitTableScan(DistributedExecutionPlanner.java:146)
        at 
com.facebook.presto.sql.planner.DistributedExecutionPlanner$Visitor.visitTableScan(DistributedExecutionPlanner.java:122)
        at 
com.facebook.presto.sql.planner.plan.TableScanNode.accept(TableScanNode.java:136)
        at 
com.facebook.presto.sql.planner.DistributedExecutionPlanner.doPlan(DistributedExecutionPlanner.java:108)
        at 
com.facebook.presto.sql.planner.DistributedExecutionPlanner.doPlan(DistributedExecutionPlanner.java:113)
        at 
com.facebook.presto.sql.planner.DistributedExecutionPlanner.plan(DistributedExecutionPlanner.java:85)
        at 
com.facebook.presto.execution.SqlQueryExecution.planDistribution(SqlQueryExecution.java:385)
        at 
com.facebook.presto.execution.SqlQueryExecution.start(SqlQueryExecution.java:287)
        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: org.apache.bookkeeper.meta.exceptions.MetadataException: Failed 
to initialized ledger manager factory
        at 
org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase.getLedgerManagerFactory(ZKMetadataDriverBase.java:243)
        at org.apache.bookkeeper.client.BookKeeper.<init>(BookKeeper.java:518)
        ... 21 more
   Caused by: java.io.IOException: Empty Ledger Root Path.
        at 
org.apache.bookkeeper.meta.AbstractZkLedgerManagerFactory.newLedgerManagerFactory(AbstractZkLedgerManagerFactory.java:158)
        at 
org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase.getLedgerManagerFactory(ZKMetadataDriverBase.java:239)
        ... 22 more
   
   
   2020-01-26T20:04:50.510Z     INFO    query-execution-1       
com.facebook.presto.event.query.QueryMonitor    TIMELINE: Query 
20200126_200449_00001_av2iy :: 
Transaction:[b7ea1383-3bb7-49d6-87bb-65a1f40e531b] :: elapsed 959ms :: planning 
499ms :: scheduling 460ms :: running 0ms :: finishing 460ms :: begin 
2020-01-26T20:04:49.529Z :: end 2020-01-26T20:04:50.488Z
   
   This cluster has not produced or consumed any messages/topics besides those 
generated by CLI test/data generator. All offloaders and connectors are 
downloaded on both the SQL nodes and the broker/BookKeeper nodes.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to