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