batmac opened a new issue #11730:
URL: https://github.com/apache/pulsar/issues/11730


   Hi, I'm trying to enable the rack-aware capability, but my bookkeeper 
services look like they don't take it, throw a java.lang.NullPointerException 
and fallback to the default-rack.(I'm a beginner so please forgive any dumb 
mistake :) )
   We haven't found a way to have a more specific error message.
   
   (Pulsar 2.8.0)
   
   ```
   ./bin/pulsar-admin bookies racks-placement # (newlines are from me)
   default    {
     
aws-par-dev-pulsar-bookkeeper-02.dev.aws.internal:3181=BookieInfoImpl(rack=zonec,
 hostname=aws-par-dev-pulsar-bookkeeper-02.dev.aws.internal), 
     
aws-par-dev-pulsar-bookkeeper-03.dev.aws.internal:3181=BookieInfoImpl(rack=zonea,
 hostname=aws-par-dev-pulsar-bookkeeper-03.dev.aws.internal), 
     
aws-par-dev-pulsar-bookkeeper-04.dev.aws.internal:3181=BookieInfoImpl(rack=zoneb,
 hostname=aws-par-dev-pulsar-bookkeeper-04.dev.aws.internal), 
     
aws-par-dev-pulsar-bookkeeper-05.dev.aws.internal:3181=BookieInfoImpl(rack=zonec,
 hostname=aws-par-dev-pulsar-bookkeeper-05.dev.aws.internal), 
     
aws-par-dev-pulsar-bookkeeper-01.dev.aws.internal:3181=BookieInfoImpl(rack=zoneb,
 hostname=aws-par-dev-pulsar-bookkeeper-01.dev.aws.internal)}
   
   ```
   
   bookkeeper log:
   ```
   (...)
   13:18:14.472 [main-EventThread] INFO  
org.apache.bookkeeper.zookeeper.ZooKeeperWatcherBase - ZooKeeper client is 
connected now.
   13:18:14.519 [main-EventThread] INFO  
org.apache.pulsar.zookeeper.ZkBookieRackAffinityMapping - Reloading the bookie 
rack affinity mapping
   
   13:18:14.519 [main-EventThread] DEBUG 
org.apache.pulsar.zookeeper.ZkBookieRackAffinityMapping - Loading the bookie 
mappings with bookie in
   fo data: 
{"default":{"aws-par-dev-pulsar-bookkeeper-02.dev.aws.internal:3181":{"rack":"zonec","hostname":"aws-par-dev-pulsar-bookkeeper-02.dev.aws.internal"},"aws-par-dev-pulsar-bookkeeper-03.dev.aws.intern
   
al:3181":{"rack":"zonea","hostname":"aws-par-dev-pulsar-bookkeeper-03.dev.aws.internal"},"aws-par-dev-pulsar-bookkeeper-04.dev.aws.internal:3181":{"rack":"zoneb","hostname":"aws-par-dev-pulsar-bookkeeper-04
   
.dev.aws.internal"},"aws-par-dev-pulsar-bookkeeper-05.dev.aws.internal:3181":{"rack":"zonec","hostname":"aws-par-dev-pulsar-bookkeeper-05.dev.aws.internal"},"aws-par-dev-pulsar-bookkeeper-01.dev.aws.interna
   
l:3181":{"rack":"zoneb","hostname":"aws-par-dev-pulsar-bookkeeper-01.dev.aws.internal"}}}
   13:18:14.584 [main] ERROR 
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl - Failed to 
initialize DNS Resolver 
org.apache.pulsar.zookeeper.ZkBookieRackAffinityMapping, used default subnet 
resolver : java.lang.RuntimeException: java.lang.NullPointerException 
java.lang.NullPointerException
   13:18:14.609 [main] INFO  
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl - Initialize 
rackaware ensemble placement policy @ <Bookie:127.0.1.1:0> @ /default-rack : 
org.apache.bookkeeper.client.TopologyAwareEnsemblePlacementPolicy$DefaultResolver.
   (...)
   ```
   
   bookkeeper conf:
   
   ```
   bookiePort=3181
   journalDirectory=/var/lib/pulsar/data/bookkeeper/journal
   minUsableSizeForIndexFileCreation=1073741824
   advertisedAddress=aws-par-dev-pulsar-bookkeeper-01.dev.aws.internal
   
   allowLoopback=false
   
   bookieDeathWatchInterval=1000
   flushInterval=60000
   useHostNameAsBookieID=true
   gcWaitTime=900000
   gcOverreplicatedLedgerWaitTime=86400000
   numAddWorkerThreads=0
   numReadWorkerThreads=8
   numHighPriorityWorkerThreads=8
   maxPendingReadRequestsPerThread=2500
   maxPendingAddRequestsPerThread=10000
   auditorPeriodicBookieCheckInterval=86400
   rereplicationEntryBatchSize=100
   openLedgerRereplicationGracePeriod=30000
   autoRecoveryDaemonEnabled=true
   lostBookieRecoveryDelay=0
   serverTcpNoDelay=true
   nettyMaxFrameSizeBytes=5253120
   journalFormatVersionToWrite=5
   journalMaxSizeMB=2048
   journalMaxBackups=5
   journalPreAllocSizeMB=16
   journalWriteBufferSizeKB=64
   journalRemoveFromPageCache=true
   journalSyncData=true
   journalAdaptiveGroupWrites=true
   journalMaxGroupWaitMSec=1
   journalBufferedWritesThreshold=524288
   numJournalCallbackThreads=8
   journalAlignmentSize=4096
   journalFlushWhenQueueEmpty=false
   ledgerStorageClass=org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorage
   ledgerDirectories=/var/lib/pulsar/data/bookkeeper/ledgers
   auditorPeriodicCheckInterval=604800
   openFileLimit=0
   fileInfoFormatVersionToWrite=0
   pageLimit=0
   zkLedgersRootPath=/ledgers
   logSizeLimit=1073741824
   entryLogFilePreallocationEnabled=true
   flushEntrylogBytes=268435456
   readBufferSizeBytes=4096
   writeBufferSizeBytes=65536
   compactionRate=1000
   minorCompactionThreshold=0.2
   minorCompactionInterval=3600
   compactionMaxOutstandingRequests=100000
   majorCompactionThreshold=0.5
   majorCompactionInterval=86400
   isThrottleByBytes=false
   compactionRateByEntries=1000
   compactionRateByBytes=1000000
   
statsProviderClass=org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider
   prometheusStatsHttpPort=8000
   readOnlyModeEnabled=true
   diskUsageThreshold=0.95
   diskCheckInterval=10000
   zkTimeout=30000
   zkEnableSecurity=false
   httpServerEnabled=false
   httpServerPort=8000
   httpServerClass=org.apache.bookkeeper.http.vertx.VertxHttpServer
   dbStorage_writeCacheMaxSizeMb=
   dbStorage_readAheadCacheMaxSizeMb=
   dbStorage_readAheadCacheBatchSize=1000
   dbStorage_rocksDB_blockCacheSize=
   dbStorage_rocksDB_writeBufferSizeMB=64
   dbStorage_rocksDB_sstSizeInMB=64
   dbStorage_rocksDB_blockSize=65536
   dbStorage_rocksDB_bloomFilterBitsPerKey=10
   dbStorage_rocksDB_numLevels=-1
   dbStorage_rocksDB_numFilesInLevel0=4
   dbStorage_rocksDB_maxSizeInLevel1MB=256
   
   
zkServers=aws-par-dev-pulsar-zookeeper-01.dev.aws.internal:2181,aws-par-dev-pulsar-zookeeper-02.dev.aws.internal:2181,aws-par-dev-pulsar-zookeeper-03.dev.aws.internal:2181
   
ensemblePlacementPolicy=org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy
   reppDnsResolverClass=org.apache.pulsar.zookeeper.ZkBookieRackAffinityMapping
   
   ```
   
   Thanks!
   
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to