| ######################## |
| # ZooKeeper Client Settings |
| ######################## |
| |
| # zookeeper settings |
| zkSessionTimeoutSeconds=1 |
| zkNumRetries=0 |
| zkRetryStartBackoffMillis=100 |
| zkRetryMaxBackoffMillis=200 |
| # bkc zookeeper settings |
| bkcZKSessionTimeoutSeconds=60 |
| bkcZKNumRetries=20 |
| bkcZKRetryStartBackoffMillis=100 |
| bkcZKRetryMaxBackoffMillis=200 |
| |
| ######################## |
| # BookKeeper Client Settings |
| ######################## |
| |
| # bookkeeper client timeouts |
| bkcWriteTimeoutSeconds=2 |
| bkcReadTimeoutSeconds=1 |
| bkcNumWorkerThreads=32 |
| bkc.numChannelsPerBookie=1 |
| bkc.enableTaskExecutionStats=true |
| bkc.connectTimeoutMillis=200 |
| bkc.enableParallelRecoveryRead=true |
| bkc.recoveryReadBatchSize=5 |
| bkc.enablePerHostStats=true |
| |
| ######################## |
| # DL Settings |
| ######################## |
| |
| # Metadata Settings |
| |
| # ledger metadata version that supports sequence id |
| ledger-metadata-layout=5 |
| |
| # lock timeout |
| lockTimeoutSeconds=0 |
| # dl worker threads |
| numWorkerThreads=32 |
| |
| ### Recovery Related Settings |
| |
| # recover log segments in background |
| recoverLogSegmentsInBackground=false |
| # disable max id in proxy |
| maxIdSanityCheck=false |
| # use allocator pool for proxy |
| enableLedgerAllocatorPool=true |
| # ledger allocator pool path |
| ledgerAllocatorPoolPath=.write_proxy_eventbus_high_throughput_allocation_pool |
| # ledger allocator pool size |
| ledgerAllocatorPoolCoreSize=40 |
| # check stream exists or not |
| createStreamIfNotExists=true |
| # encode dc id in version |
| encodeDCIDInVersion=true |
| # logSegmentNameVersion |
| logSegmentNameVersion=1 |
| |
| ### Write Performance Related Settings |
| |
| # ensemble size |
| ensemble-size=3 |
| write-quorum-size=3 |
| ack-quorum-size=2 |
| bkc.ensemblePlacementPolicy=org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy |
| bkc.delayEnsembleChange=true |
| bkc.writeRequestToChannelAsync=true |
| |
| # enable immediate flush |
| enableImmediateFlush=true |
| # 0k output buffer |
| output-buffer-size=0 |
| # disable periodical flush |
| periodicFlushFrequencyMilliSeconds=0 |
| enableTaskExecutionStats=true |
| taskExecutionWarnTimeMicros=100000 |
| |
| ### Ledger Rolling Related Settings |
| |
| # retention policy |
| retention-size=4 |
| # rolling ledgers (enable time rolling): 120 minutes = 2 hours |
| rolling-interval=120 |
| # max logsegment bytes : 2GB |
| maxLogSegmentBytes=2147483648 |
| # rolling concurrency |
| logSegmentRollingConcurrency=1 |
| # disable sanityCheckDelete |
| sanityCheckDelete=false |
| # compression codec |
| compressionType=lz4 |
| |
| ### Per Stream Stats |
| enablePerStreamStat=true |
| |
| ######################## |
| # DL Settings |
| ######################## |
| |
| # proxy server settings |
| server_mode=DURABLE |
| serviceTimeoutMs=60000 |
| streamProbationTimeoutMs=120000 |
| server_threads=16 |
| server_dlsn_version=1 |
| server_enable_perstream_stat=true |
| server_graceful_shutdown_period_ms=35000 |
| stream_partition_converter_class=com.twitter.distributedlog.service.streamset.EventBusStreamPartitionConverter |
| |
| # write limits |
| perWriterOutstandingWriteLimit=-1 |
| globalOutstandingWriteLimit=15000 |
| outstandingWriteLimitDarkmode=false |
| |
| # bytes per second limit applied at the host level (50MBps on 1Gib machines) |
| bpsHardServiceLimit=52428800 |
| # bytes per second limit after which no new streams may be acquired (65MBps on 1Gib machines) |
| bpsStreamAcquireServiceLimit=47185920 |
| |
| # limit the maximum number of streams |
| maxAcquiredPartitionsPerProxy=-1 |