groups:
- name: Server parameters
  params:
  - param: bookiePort
    description: The port that the bookie server listens on.
    default: 3181
  - param: allowMultipleDirsUnderSameDiskPartition
    description: Configure the bookie to allow/disallow multiple ledger/index/journal directories in the same filesystem disk partition
    default: false
  - param: listeningInterface
    description: The network interface that the bookie should listen on. If not set, the bookie will listen on all interfaces.
    default: eth0
  - param: advertisedAddress
    description: |
      Configure a specific hostname or IP address that the bookie should use to advertise itself to
      clients. If not set, bookie will advertised its own IP address or hostname, depending on the
      `listeningInterface` and `useHostNameAsBookieID` settings.
    default: eth0
  - param: allowLoopback
    description: |
      Whether the bookie is allowed to use a loopback interface as its primary
      interface (the interface it uses to establish its identity). By default, loopback interfaces are *not* allowed as the primary interface.

      Using a loopback interface as the primary interface usually indicates a configuration error. It's fairly common in some VPS setups, for example, to not configure a hostname or to have the hostname resolve to 127.0.0.1. If this is the case, then all bookies in the cluster will establish their identities as 127.0.0.1:3181, and only one will be able to join the cluster. For VPSs configured like this, you should explicitly set the listening interface.
    default: 'false'
  - param: useHostNameAsBookieID
    description: Whether the bookie should use its hostname to register with the ZooKeeper coordination service. When `false`, the bookie will use its IP address for the registration.
    default: 'false'
  - param: useShortHostName
    description: Whether the bookie should use short hostname or [FQDN](https://en.wikipedia.org/wiki/Fully_qualified_domain_name) hostname for registration and ledger metadata when `useHostNameAsBookieID` is enabled.
    default: 'false'
  - param: allowEphemeralPorts
    description: Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.
    default: 'false'
  - param: enableLocalTransport
    description: Whether allow the bookie to listen for BookKeeper clients executed on the local JVM.
    default: 'false'
  - param: disableServerSocketBind
    description: Whether allow the bookie to disable bind on network interfaces, this bookie will be available only to BookKeeper clients executed on the local JVM.
    default: 'false'
  - param: bookieDeathWatchInterval
    description: Interval to watch whether bookie is dead or not, in milliseconds.
    default: 1000
  - param: extraServerComponents
    description: Configure a list of extra server components to enable and load on a bookie server. This provides a plugin mechanism to run extra server components along with a bookie server.
    default: ''
  - param: ignoreExtraServerComponentsStartupFailures
    description: Whether the bookie should ignore startup failures on loading server components specified by `extraServerComponents`.
    default: 'false'

- name: Worker thread settings
  params:
  - param: numAddWorkerThreads
    description: The number of threads that handle write requests. if zero, writes are handled by [Netty threads](//netty.io/wiki/thread-model.html) directly.
    default: 1
  - param: numReadWorkerThreads
    description: The number of threads that handle read requests. If zero, reads are handled by [Netty threads](//netty.io/wiki/thread-model.html) directly.
    default: 8
  - param: numLongPollWorkerThreads
    description: The number of threads that handle long poll requests. If zero, long poll requests are handled by [Netty threads](//netty.io/wiki/thread-model.html) directly.
    default: 0
  - param: numJournalCallbackThreads
    description: The number of threads that handle journal callbacks. If zero, journal callbacks are executed directly on force write threads.
    default: 1
  - param: numHighPriorityWorkerThreads
    description: The number of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing). If zero, reads are handled by [Netty threads](//netty.io/wiki/thread-model.html) directly.
    default: 8
  - param: maxPendingAddRequestsPerThread
    description: If read worker threads are enabled, limit the number of pending requests, to avoid the executor queue to grow indefinitely. If zero or negative, the number of pending requests is unlimited.
    default: 10000
  - param: maxPendingReadRequestsPerThread
    description: If add worker threads are enabled, limit the number of pending requests, to avoid the executor queue to grow indefinitely. If zero or negative, the number of pending requests is unlimited.
    default: 10000
  - param: enableBusyWait
    description: |
      Option to enable busy-wait settings. Default is false.
      WARNING: This option will enable spin-waiting on executors and IO threads in order to reduce latency during
      context switches. The spinning will consume 100% CPU even when bookie is not doing any work. It is recommended to
      reduce the number of threads in the main workers pool and Netty event loop to only have few CPU cores busy.
    default: false

- name: Long poll settings
  params:
  - param: requestTimerTickDurationMs
    description: The tick duration for long poll request timer, in milliseconds. See [HashedWheelTimer](//netty.io/4.1/api/io/netty/util/HashedWheelTimer.html) for more details.
    default: 10
  - param: requestTimerNumTicks
    description: The number of ticks per wheel for long poll request timer. See [HashedWheelTimer](//netty.io/4.1/api/io/netty/util/HashedWheelTimer.html) for more details.
    default: 1024

- name: Read-only mode support
  params:
  - param: readOnlyModeEnabled
    description: If all ledger directories configured are full, then support only read requests for clients. If "readOnlyModeEnabled=true" then on all ledger disks full, bookie will be converted to read-only mode and serve only read requests. Otherwise the bookie will be shutdown. By default this will be disabled.
    default: 'true'
  - param: forceReadOnlyBookie
    description: Whether the bookie is force started in read only mode or not.
    default: 'false'
  - param: persistBookieStatusEnabled
    description: Persist the bookie status locally on the disks. So the bookies can keep their status upon restarts.
    default: 'false'

- name: Netty server settings
  params:
  - param: serverTcpNoDelay
    description: |
      This settings is used to enabled/disabled Nagle's algorithm, which is a means of improving the efficiency of TCP/IP networks by reducing the number of packets that need to be sent over the network.

      If you are sending many small messages, such that more than one can fit in a single IP packet, setting server.tcpnodelay to false to enable Nagle algorithm can provide better performance.
    default: 'true'
  - param: serverSockKeepalive
    description: This setting is used to send keep-alive messages on connection-oriented sockets.
    default: 'true'
  - param: serverTcpLinger
    description: The socket linger timeout on close. When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.
    default: 0
  - param: byteBufAllocatorSizeInitial
    description: The Recv ByteBuf allocator initial buf size.
    default: 65536
  - param: byteBufAllocatorSizeMin
    description: The Recv ByteBuf allocator min buf size.
    default: 65536
  - param: byteBufAllocatorSizeMax
    description: The Recv ByteBuf allocator max buf size.
    default: 1048576
  - param: nettyMaxFrameSizeBytes
    description: The maximum netty frame size in bytes. Any message received larger than this will be rejected, so when the client-side attempt to send more than the default size bytes, it should set up the corresponding parameter `setNettyMaxFrameSizeBytes(int maxSize)`, pay attention to the parameter should be less than the value of server-side.
    default: 5242880

- name: Http server settings
  params:
  - param: httpServerEnabled
    description: The flag enables/disables starting the admin http server.
    default: 'false'
  - param: httpServerPort
    description: The http server port to listen on if `httpServerEnabled` is set to true.
    default: 8080

- name: Security settings
  params:
  - param: bookieAuthProviderFactoryClass
    description: The bookie authentication provider factory class name. If this is null, no authentication will take place.
    default: null
  - param: permittedStartupUsers
    description: |
      The list of users are permitted to run the bookie process. Any users can run the bookie process if it is not set.

      Example settings - "permittedStartupUsers=user1,user2,user3"
    default: null

- name: TLS settings
  params:
  - param: tslProvider
    description: TLS Provider (JDK or OpenSSL)
    default: OpenSSL
  - param: tlsProviderFactoryClass
    description: The path to the class that provides security.
    default: org.apache.bookkeeper.tls.TLSContextFactory
  - param: tlsClientAuthentication
    description: Type of security used by server.
    default: 'true'
  - param: tlsKeyStoreType
    description: Bookie Keystore type.
    default: JKS
  - param: tlsKeyStore
    description: Bookie Keystore location (path).
    default: null
  - param: tlsKeyStore
    description: Bookie Keystore location (path).
    default: null
  - param: tlsKeyStorePasswordPath
    description: Bookie Keystore password path, if the keystore is protected by a password.
    default: null
  - param: tlsTrustStoreType
    description: Bookie Truststore type.
    default: null
  - param: tlsTrustStore
    description: Bookie Truststore location (path).
    default: null
  - param: tlsTrustStorePasswordPath
    description: Bookie Truststore password path, if the truststore is protected by a password.
    default: null
  - param: tlsCertificatePath
    description: Bookie TLS certificate path.
    default: null

- name: Journal settings
  params:
  - param: journalDirectories
    description: |
      The directories to which Bookkeeper outputs its write-ahead log (WAL).  Could define multi directories to store write head logs, separated by ','.
      For example:
        journalDirectories=/tmp/bk-journal1,/tmp/bk-journal2
      If journalDirectories is set, bookies will skip journalDirectory and use this setting directory.
    default: /tmp/bk-journal
  - param: journalDirectory
    description: |
      @Deprecated since 4.5.0, in favor of using `journalDirectories`.

      The directory to which Bookkeeper outputs its write-ahead log (WAL).
    default: /tmp/bk-txn
  - param: journalFormatVersionToWrite
    description: |
      The journal format version to write.
      Available formats are 1-5:
       1: no header
       2: a header section was added
       3: ledger key was introduced
       4: fencing key was introduced
       5: expanding header to 512 and padding writes to align sector size configured by `journalAlignmentSize`
       6: persisting explicitLac is introduced

      By default, it is `6`.
      If you'd like to disable persisting ExplicitLac, you can set this config to < `6` and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
      You can disable `padding-writes` by setting journal version back to `4`. This feature is available in 4.5.0 and onward versions.
    default: 6
  - param: journalMaxSizeMB
    description: Max file size of journal file, in mega bytes. A new journal file will be created when the old one reaches the file size limitation.
    default: 2048
  - param: journalMaxBackups
    description: Max number of old journal file to kept. Keep a number of old journal files would help data recovery in specia case.
    default: 5
  - param: journalPreAllocSizeMB
    description: How much space should we pre-allocate at a time in the journal.
    default: 16
  - param: journalWriteBufferSizeKB
    description: Size of the write buffers used for the journal.
    default: 64
  - param: journalRemoveFromPageCache
    description:  Should we remove pages from page cache after force write
    default: 'true'
  - param: journalSyncData
    description: |
      Should the data be fsynced on journal before acknowledgment.
      By default, data sync is enabled to guarantee durability of writes. Beware - when disabling data sync in the bookie journal
      might improve the bookie write performance, it will also introduce the possibility of data loss. With no fsync, the journal
      entries are written in the OS page cache but not flushed to disk. In case of power failure, the affected bookie might lose
      the unflushed data. If the ledger is replicated to multiple bookies, the chances of data loss are reduced though still present.
    default: 'true'
  - param: journalAdaptiveGroupWrites
    description: Should we group journal force writes, which optimize group commit for higher throughput.
    default: 'true'
  - param: journalMaxGroupWaitMSec
    description: Maximum latency to impose on a journal write to achieve grouping.
    default: 2
  - param: journalBufferedWritesThreshold
    description: Maximum writes to buffer to achieve grouping.
    default: 524288
  - param: journalFlushWhenQueueEmpty
    description: If we should flush the journal when journal queue is empty.
    default: 'false'
  - param: journalAlignmentSize
    description: All the journal writes and commits should be aligned to given size. If not, zeros will be padded to align to given size.
    default: 512
  - param: journalBufferedEntriesThreshold
    description: Maximum entries to buffer to impose on a journal write to achieve grouping.
    default: 0
  - param: journalFlushWhenQueueEmpty
    description: If we should flush the journal when journal queue is empty.
    default: 'false'
  - param: journalQueueSize
    description: Set the size of the journal queue.
    default: 10000

- name: Ledger storage settings
  params:
  - param: ledgerStorageClass
    description: |
      Ledger storage implementation class

      Options:
        - org.apache.bookkeeper.bookie.InterleavedLedgerStorage
        - org.apache.bookkeeper.bookie.SortedLedgerStorage
        - org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorage
    default: org.apache.bookkeeper.bookie.SortedLedgerStorage
  - param: sortedLedgerStorageEnabled
    description: |
      @Deprecated in favor of using `ledgerStorageClass`

      Whether sorted-ledger storage enabled (default true)
    default: 'true'
  - param: ledgerDirectories
    description: The directory to which Bookkeeper outputs ledger snapshots. You can define multiple directories to store snapshots separated by a comma, for example `/tmp/data-dir1,/tmp/data-dir2`.
    default: /tmp/bk-data
  - param: indexDirectories
    description: The directories in which index files are stored. If not specified, the value of [`ledgerDirectories`](#ledgerDirectories) will be used.
    default: /tmp/bk-data
  - param: minUsableSizeForIndexFileCreation
    description: Minimum safe usable size to be available in index directory for bookie to create index file while replaying journal at the time of bookie start in readonly mode (in bytes)
    default: 1073741824
  - param: minUsableSizeForEntryLogCreation
    description: |
      Minimum safe usable size to be available in ledger directory for bookie to create entry log files (in bytes).
      This parameter allows creating entry log files when there are enough disk spaces, even when
      the bookie is running at readonly mode because of the disk usage is exceeding `diskUsageThreshold`.
      Because compaction, journal replays can still write data to disks when a bookie is readonly.
    default: 1.2 * `logSizeLimit`
  - param: minUsableSizeForHighPriorityWrites
    description: |
      Minimum safe usable size to be available in ledger directory for bookie to accept high priority writes even it is in readonly mode.
    default: 1.2 * `logSizeLimit`
  - param: flushInterval
    description: When entryLogPerLedgerEnabled is enabled, checkpoint doesn't happens when a new active entrylog is created / previous one is rolled over. Instead SyncThread checkpoints periodically with 'flushInterval' delay (in milliseconds) in between executions. Checkpoint flushes both ledger entryLogs and ledger index pages to disk.  Flushing entrylog and index files will introduce much random disk I/O. If separating journal dir and ledger dirs each on different devices, flushing would not affect performance. But if putting journal dir and ledger dirs on same device, performance degrade significantly on too frequent flushing. You can consider increment flush interval to get better performance, but you need to pay more time on bookie server restart after failure. This config is used only when entryLogPerLedgerEnabled is enabled.
    default: 10000
  - param: allowStorageExpansion
    description: Allow the expansion of bookie storage capacity. Newly added ledger and index directories must be empty.
    default: 'false'

- name: Entry log settings
  params:
  - param: logSizeLimit
    description: Max file size of entry logger, in bytes. A new entry log file will be created when the old one reaches the file size limitation.
    default: 2147483648
  - param: entryLogFilePreallocationEnabled
    description: Enable/Disable entry logger preallocation
    default: true
  - param: flushEntrylogBytes
    description: Entry log flush interval, in bytes. Setting this to 0 or less disables this feature and makes flush happen on log rotation. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may negatively affect performance.
    default: 0
  - param: readBufferSizeBytes
    description: The capacity allocated for [`BufferedReadChannel`](/api/org/apache/bookkeeper/bookie/BufferedReadChannel)s, in bytes.
    default: 512
  - param: writeBufferSizeBytes
    description: The number of bytes used as capacity for the write buffer.
    default: 65536
  - param: entryLogPerLedgerEnabled
    description: Specifies if entryLog per ledger is enabled/disabled. If it is enabled, then there would be a active entrylog for each ledger. It would be ideal to enable this feature if the underlying storage device has multiple DiskPartitions or SSD and if in a given moment, entries of fewer number of active ledgers are written to the bookie.
    default: false
  - param: entrylogMapAccessExpiryTimeInSeconds
    description: config specifying if the entrylog per ledger is enabled, then the amount of time EntryLogManagerForEntryLogPerLedger should wait for closing the entrylog file after the last addEntry call for that ledger, if explicit writeclose for that ledger is not received.
    default: 300
  - param: maximumNumberOfActiveEntryLogs
    description: in entryLogPerLedger feature, this specifies the maximum number of entrylogs that can be active at a given point in time. If there are more number of active entryLogs then the maximumNumberOfActiveEntryLogs then the entrylog will be evicted from the cache.
    default: 500
  - param: entryLogPerLedgerCounterLimitsMultFactor
    description: in EntryLogManagerForEntryLogPerLedger, this config value specifies the metrics cache size limits in multiples of entrylogMap cache size limits.
    default: 10

- name: Entry log compaction settings
  params:
  - param: compactionRate
    description: The rate at which compaction will read entries. The unit is adds per second.
    default: 1000
  - param: minorCompactionThreshold
    description: Threshold of minor compaction. For those entry log files whose remaining size percentage reaches below this threshold will be compacted in a minor compaction. If it is set to less than zero, the minor compaction is disabled.
    default: 0.2
  - param: minorCompactionInterval
    description: Interval to run minor compaction, in seconds. If it is set to less than zero, the minor compaction is disabled.
    default: 3600
  - param: compactionMaxOutstandingRequests
    description: Set the maximum number of entries which can be compacted without flushing. When compacting, the entries are written to the entrylog and the new offsets are cached in memory. Once the entrylog is flushed the index is updated with the new offsets. This parameter controls the number of entries added to the entrylog before a flush is forced. A higher value for this parameter means  more memory will be used for offsets. Each offset consists of 3 longs. This parameter should *not* be modified unless you know what you're doing.
    default: 100000
  - param: majorCompactionThreshold
    description: Threshold of major compaction. For those entry log files whose remaining size percentage reaches below  this threshold will be compacted in a major compaction.  Those entry log files whose remaining size percentage is still higher than the threshold will never be compacted. If it is set to less than zero, the minor compaction is disabled.
    default: 0.8
  - param: majorCompactionInterval
    description: Interval to run major compaction, in seconds. If it is set to less than zero, the major compaction is disabled.
    default: 86400
  - param: isThrottleByBytes
    description: Throttle compaction by bytes or by entries.
    default: 'false'
  - param: compactionRateByEntries
    description: Set the rate at which compaction will read entries. The unit is adds per second.
    default: 1000
  - param: compactionRateByBytes
    description: Set the rate at which compaction will read entries. The unit is bytes added per second.
    default: 1000000
  - param: useTransactionalCompaction
    description: |
      Flag to enable/disable transactional compaction. If it is set to true, it will use transactional compaction, which uses
      new entry log files to store entries after compaction; otherwise, it will use normal compaction, which shares same entry
      log file with normal add operations.
    default: 'false'

- name: Garbage collection settings
  params:
  - param: gcWaitTime
    description: How long the interval to trigger next garbage collection, in milliseconds. Since garbage collection is running in background, too frequent gc will heart performance. It is better to give a higher number of gc interval if there is enough disk capacity.
    default: 1000
  - param: gcOverreplicatedLedgerWaitTime
    description: How long the interval to trigger next garbage collection of overreplicated ledgers, in milliseconds. This should not be run very frequently since we read the metadata for all the ledgers on the bookie from zk.
    default: 86400000
  - param: isForceGCAllowWhenNoSpace
    description: Whether force compaction is allowed when the disk is full or almost full. Forcing GC may get some space back, but may also fill up disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.
    default: 'false'
  - param: verifyMetadataOnGC
    description: Whether the bookie should double check if a ledger exists in metadata service prior to gc.
    default: 'false'

- name: Disk utilization
  params:
  - param: diskUsageThreshold
    description: |
      For each ledger dir, maximum disk space which can be used. Default is 0.95f. i.e. 95% of disk can be used at most after which nothing will be written to that partition. If all ledger dir partions are full, then bookie will turn to readonly mode if 'readOnlyModeEnabled=true' is set, else it will shutdown. Valid values should be in between 0 and 1 (exclusive).
    default: 0.95
  - param: diskUsageWarnThreshold
    description: The disk free space low water mark threshold. Disk is considered full when usage threshold is exceeded. Disk returns back to non-full state when usage is below low water mark threshold. This prevents it from going back and forth between these states frequently when concurrent writes and compaction are happening. This also prevent bookie from switching frequently between read-only and read-writes states in the same cases.
    default: 0.95
  - param: diskUsageLwmThreshold
    description: |
      Set the disk free space low water mark threshold. Disk is considered full when usage threshold is exceeded. Disk returns back to non-full state when usage is  below low water mark threshold. This prevents it from going back and forth between these states frequently when concurrent writes and compaction are happening. This also prevent bookie from switching frequently between read-only and read-writes states in the same cases.
    default: 0.90
  - param: diskCheckInterval
    description: Disk check interval in milliseconds. Interval to check the ledger dirs usage.
    default: 10000

- name: Sorted Ledger Storage Settings
  params:
  - param: skipListSizeLimit
    description: The skip list data size limitation (default 64MB) in EntryMemTable
    default: 67108864
  - param: skipListArenaChunkSize
    description: The number of bytes we should use as chunk allocation for org.apache.bookkeeper.bookie.SkipListArena
    default: 4194304
  - param: skipListArenaMaxAllocSize
    description: The max size we should allocate from the skiplist arena. Allocations larger than this should be allocated directly by the VM to avoid fragmentation.
    default: 131072
  - param: openFileLimit
    description: |
      Max number of ledger index files could be opened in bookie server. If number of ledger index files reaches this limitation, bookie server started to swap some ledgers from memory to disk. Too frequent swap will affect performance. You can tune this number to gain performance according your requirements.
    default: 20000
  - param: fileInfoCacheInitialCapacity
    description: |
      The minimum total size of the internal file info cache table. Providing a large enough estimate at construction time avoids the need for expensive resizing operations later,
      but setting this value unnecessarily high wastes memory. The default value is `1/4` of `openFileLimit` if openFileLimit is positive, otherwise it is 64.
  - param: fileInfoMaxIdleTime
    description: |
      The max idle time allowed for an open file info existed in the file info cache. If the file info is idle for a long time, exceed the given time period. The file info will be
      evicted and closed. If the value is zero or negative, the file info is evicted only when opened files reached `openFileLimit`.
    default: 0
  - param: fileInfoFormatVersionToWrite
    description: |
      The fileinfo format version to write.
      Available formats are 0-1:
       0: Initial version
       1: persisting explicitLac is introduced

      By default, it is `1`. If you'd like to disable persisting ExplicitLac, you can set this config to 0 and also journalFormatVersionToWrite should be set to < 6. If there is mismatch then the serverconfig is considered invalid.
    default: 1
  - param: pageSize
    description: |
      Size of a index page in ledger cache, in bytes. A larger index page can improve performance writing page to disk, which is efficent when you have small number of ledgers and these ledgers have similar number of entries. If you have large number of ledgers and each ledger has fewer entries, smaller index page would improve memory usage.
    default: 8192
  - param: pageLimit
    description: |
      How many index pages provided in ledger cache. If number of index pages reaches this limitation, bookie server starts to swap some ledgers from memory to disk. You can increment this value when you found swap became more frequent. But make sure pageLimit*pageSize should not more than JVM max memory limitation, otherwise you would got OutOfMemoryException. In general, incrementing pageLimit, using smaller index page would gain bettern performance in lager number of ledgers with fewer entries case. If pageLimit is -1, bookie server will use 1/3 of JVM memory to compute the limitation of number of index pages.
    default: "-1"
  - param: numOfMemtableFlushThreads
    description: |
      When entryLogPerLedger is enabled SortedLedgerStorage flushes entries from memTable using OrderedExecutor having numOfMemtableFlushThreads number of threads.
    default: 8

- name: DB Ledger Storage Settings
  params:
  - param: dbStorage_writeCacheMaxSizeMb
    description: Size of write cache. Memory is allocated from JVM direct memory. Write cache is used for buffer entries before flushing into the entry log. For good performance, it should be big enough to hold a substantial amount of entries in the flush interval.
    default: 25% of the available direct memory
  - param: dbStorage_readAheadCacheMaxSizeMb
    description: Size of read cache. Memory is allocated from JVM direct memory. The read cache is pre-filled doing read-ahead whenever a cache miss happens.
    default: 25% of the available direct memroy
  - param: dbStorage_readAheadCacheBatchSize
    description: How many entries to pre-fill in cache after a read cache miss
    default: 100
  - param: dbStorage_rocksDB_blockSize
    description: |
      Size of RocksDB block-cache. RocksDB is used for storing ledger indexes.
      For best performance, this cache should be big enough to hold a significant portion of the index database which can reach ~2GB in some cases.
    default: 268435456
  - param: dbStorage_rocksDB_writeBufferSizeMB
    description: |
      Size of RocksDB write buffer. RocksDB is used for storing ledger indexes.
    default: 64
  - param: dbStorage_rocksDB_sstSizeInMB
    description: |
      Size of RocksDB sst file size in MB. RocksDB is used for storing ledger indexes.
    default: 64
  - param: dbStorage_rocksDB_blockSize
    default: 65536
  - param: dbStorage_rocksDB_bloomFilterBitsPerKey
    default: 10
  - param: dbStorage_rocksDB_numLevels
    default: "-1"
  - param: dbStorage_rocksDB_numFilesInLevel0
    default: 10
  - param: dbStorage_rocksDB_maxSizeInLevel1MB
    default: 256

- name: Metadata Service Settings
  params:
  - param: metadataServiceUri
    description: metadata service uri that bookkeeper is used for loading corresponding metadata driver and resolving its metadata service location.
    default: "zk+hierarchical://localhost:2181/ledgers"
  - param: ledgerManagerFactoryClass
    description: |
      @Deprecated in favor of using `metadataServiceUri`

      The ledger manager factory class, which defines how ledgers are stored, managed, and garbage collected. See the [Ledger Manager](../../getting-started/concepts#ledger-manager) guide for more details.
    default: hierarchical
  - param: allowShadedLedgerManagerFactoryClass
    description: |
      Sometimes the bookkeeper server classes are shaded. The ledger manager factory classes might be relocated to be under other packages.
      This would fail the clients using shaded factory classes since the factory classes are stored in cookies and used for verification.
      Users can enable this flag to allow using shaded ledger manager factory classes to connect to a bookkeeper cluster.
    default: 'false'
  - param: shadedLedgerManagerFactoryClassPrefix
    description: The shaded ledger manager factory prefix. This is used when `allowShadedLedgerManagerFactoryClass` is set to true.
    default: 'dlshade.'

- name: ZooKeeper Metadata Service Settings
  params:
  - param: zkLedgersRootPath
    description: |
      @Deprecated in favor of using `metadataServiceUri`

      Root Zookeeper path to store ledger metadata. This parameter is used by zookeeper-based ledger manager as a root znode to store all ledgers.
    default: /ledgers
  - param: zkServers
    description: |
      @Deprecated in favor of using `metadataServiceUri`

      A list of one of more servers on which Zookeeper is running. The server list can be comma separated values, for example `zkServers=zk1:2181,zk2:2181,zk3:2181`.
    default: "localhost:2181"
  - param: zkTimeout
    description: ZooKeeper client session timeout in milliseconds. Bookie server will exit if it received SESSION_EXPIRED because it was partitioned off from ZooKeeper for more than the session timeout  JVM garbage collection, disk I/O will cause SESSION_EXPIRED. Increment this value could help avoiding this issue.
    default: 10000
  - param: zkRetryBackoffStartMs
    description: The Zookeeper client backoff retry start time in millis.
    default: 1000
  - param: zkRetryBackoffMaxMs
    description: The Zookeeper client backoff retry max time in millis.
    default: 10000
  - param: zkRequestRateLimit
    description: The Zookeeper request limit. It is only enabled when setting a postivie value.
    default: 0
  - param: zkEnableSecurity
    description: Set ACLs on every node written on ZooKeeper, this way only allowed users will be able to read and write BookKeeper metadata stored on ZooKeeper. In order to make ACLs work you need to setup ZooKeeper JAAS authentication all the bookies and Client need to share the same user, and this is usually done using Kerberos authentication. See ZooKeeper documentation
    default: 'false'

- name: Statistics
  params:
  - param: enableStatistics
    description: Whether statistics are enabled for the bookie.
    default: true
  - param: statsProviderClass
    description: |
      Stats provider class.
      Options:
        - Prometheus        : org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider
        - Codahale          : org.apache.bookkeeper.stats.codahale.CodahaleMetricsProvider
        - Twitter Finagle   : org.apache.bookkeeper.stats.twitter.finagle.FinagleStatsProvider
        - Twitter Ostrich   : org.apache.bookkeeper.stats.twitter.ostrich.OstrichProvider
        - Twitter Science   : org.apache.bookkeeper.stats.twitter.science.TwitterStatsProvider
    default: org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider
  - param: limitStatsLogging
    description: option to limit stats logging
    default: 'false'

- name: Prometheus Metrics Provider Settings
  params:
  - param: prometheusStatsHttpAddress
    description: default bind address for Prometheus metrics exporter
    default: 0.0.0.0
  - param: prometheusStatsHttpPort
    description: default port for prometheus metrics exporter
    default: 8000
  - param: prometheusStatsLatencyRolloverSeconds
    description: latency stats rollover interval, in seconds
    default: 60

- name: Codahale Metrics Provider Settings
  params:
  - param: codahaleStatsPrefix
    description: metric name prefix, default is empty.
    default: ""
  - param: codahaleStatsOutputFrequencySeconds
    description: the frequency that stats reporters report stats, in seconds.
    default: 60
  - param: codahaleStatsGraphiteEndpoint
    description: the graphite endpoint for reporting stats. see [graphite reporter](//metrics.dropwizard.io/3.1.0/manual/graphite/) for more details.
    default: "null"
  - param: codahaleStatsCSVEndpoint
    description: the directory for reporting stats in csv format. see [csv reporter](//metrics.dropwizard.io/3.1.0/manual/core/#csv) for more details.
    default: "null"
  - param: codahaleStatsSlf4jEndpoint
    description: the slf4j endpoint for reporting stats. see [slf4j reporter](//metrics.dropwizard.io/3.1.0/manual/core/#slf4j) for more details.
    default: "null"
  - param: codahaleStatsJmxEndpoint
    description: the jmx endpoint for reporting stats. see [jmx reporter](//metrics.dropwizard.io/3.1.0/manual/core/#jmx) for more details.

- name: Twitter Ostrich Metrics Provider
  params:
  - param: statsExport
    description: Flag to control whether to expose ostrich metrics via a http endpoint configured by `statsHttpPort`.
    default: "false"
  - param: statsHttpPort
    description: The http port of exposing ostrich stats if `statsExport` is set to true
    default: 9002

- name: Twitter Science Metrics Provider
  params:
  - param: statsExport
    description: Flag to control whether to expose metrics via a http endpoint configured by `statsHttpPort`.
    default: "false"
  - param: statsHttpPort
    description: The http port of exposing stats if `statsExport` is set to true
    default: 9002

- name: AutoRecovery general settings
  params:
  - param: autoRecoveryDaemonEnabled
    description: Whether the bookie itself can start auto-recovery service also or not.
    default: false
  - param: digestType
    description: The default digest type used for opening ledgers.
    default: "CRC32"
  - param: passwd
    description: The default password used for opening ledgers. Default value is empty string.
    default: ""
  - param: enableDigestTypeAutodetection
    description: The flag to enable/disable digest type auto-detection. If it is enabled, the bookkeeper client will ignore the provided digest type provided at `digestType` and the provided passwd provided at `passwd`.
    default: true
- name: AutoRecovery placement settings
  params:
  - param: ensemblePlacementPolicy
    description: |
      The ensemble placement policy used for finding bookie for re-replicating entries.

      Options:
        - org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy
        - org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy
    default: "org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy"
  - param: reppDnsResolverClass
    description: |
      The DNS resolver class used for resolving network locations for bookies. The setting is used
      when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacementPolicy.
    default: "org.apache.bookkeeper.net.ScriptBasedMapping"
  - param: networkTopologyScriptFileName
    description: |
      The bash script used by `ScriptBasedMapping` DNS resolver for resolving bookies' network locations.
  - param: networkTopologyScriptNumberArgs
    description: |
      The max number of args used in the script provided at `networkTopologyScriptFileName`.
  - param: minNumRacksPerWriteQuorum
    description: |
      minimum number of racks per write quorum. RackawareEnsemblePlacementPolicy will try to get bookies from atleast 'minNumRacksPerWriteQuorum' racks for a writeQuorum.
  - param: enforceMinNumRacksPerWriteQuorum
    description: |
      'enforceMinNumRacksPerWriteQuorum' enforces RackawareEnsemblePlacementPolicy to pick bookies from 'minNumRacksPerWriteQuorum' racks for a writeQuorum. If it cann't find bookie then it would throw BKNotEnoughBookiesException instead of picking random one.
  - param: ignoreLocalNodeInPlacementPolicy
    description: |
      'ignoreLocalNodeInPlacementPolicy' specifies whether to ignore localnode in the internal logic of placement policy. If it is not possible or useful to use Bookkeeper client node's (or AutoReplicator) rack/region info. for placement policy then it is better to ignore localnode instead of false alarming with log lines and metrics.
    default: false
  - param: enforceMinNumFaultDomainsForWrite
    description: |
      'enforceMinNumFaultDomainsForWrite' enforces EnsemblePlacementPolicy to check if a write has made it to bookies in 'minNumRacksPerWriteQuorum' number of fault domains, before acknowledging the write back.
  - param: minNumZonesPerWriteQuorum
    description: |
      minimum number of zones per write quorum in ZoneawareEnsemblePlacementPolicy. ZoneawareEnsemblePlacementPolicy would get bookies from atleast 'minNumZonesPerWriteQuorum' racks for a writeQuorum.
    default: 2
  - param: desiredNumZonesPerWriteQuorum
    description: |
      desired number of zones per write quorum in ZoneawareEnsemblePlacementPolicy. ZoneawareEnsemblePlacementPolicy will try to get bookies from 'desiredNumZonesPerWriteQuorum' zones for a writeQuorum.
    default: 3
  - param: enforceStrictZoneawarePlacement
    description: |
      in ZoneawareEnsemblePlacementPolicy if strict placement is enabled then minZones/desiredZones in writeQuorum would be maintained otherwise it will pick nodes randomly.
    default: true

- name: AutoRecovery auditor settings
  params:
  - param: auditorPeriodicBookieCheckInterval
    description: The time interval between auditor bookie checks, in seconds. The auditor bookie check checks ledger metadata to see which bookies should contain entries for each ledger. If a bookie that should contain entries is unavailable, then the ledger containing that entry is marked for recovery. Setting this to 0 disables the periodic check. Bookie checks will still run when a bookie fails. The default is once per day.
    default: 86400
  - param: auditorPeriodicCheckInterval
    description: |
      The time interval, in seconds, at which the auditor will check all ledgers in the cluster. By default this runs once a week.

      Set this to 0 to disable the periodic check completely. Note that periodic checking will put extra load on the cluster, so it should not be run more frequently than once a day.
    default: 604800
  - param: auditorPeriodicPlacementPolicyCheckInterval
    description: The time interval between auditor placement policy checks, in seconds. The auditor placement policy check validates if the ensemble of segments of all the closed ledgers is adhering to the placement policy. It is just monitoring scrutiny but doesn't take any corrective measure other than logging error and reporting metrics. By default it is disabled.
    default: 0
  - param: auditorLedgerVerificationPercentage
    description: |
      The percentage of a ledger (fragment)'s entries will be verified before claiming a fragment as missing. If it is 0, it only verifies the first and last entries of a given fragment.
    default: 0
  - param: lostBookieRecoveryDelay
    description: How long to wait, in seconds, before starting autorecovery of a lost bookie.
    default: 0
  - param: storeSystemTimeAsLedgerUnderreplicatedMarkTime
    description: Enable the Auditor to use system time as underreplicated ledger mark time. If this is enabled, Auditor will write a ctime field into the underreplicated ledger znode.
    default: true
  - param: underreplicatedLedgerRecoveryGracePeriod
    description: The grace period (in seconds) for underreplicated ledgers recovery. If ledger is marked underreplicated for more than this period then it will be reported by placementPolicyCheck in Auditor. Setting this to 0 will disable this check.
    default: 0
  - param: auditorReplicasCheckInterval
    description: Sets the regularity/interval at which the auditor will run a replicas check of all ledgers, which are closed. This should not be run very often since it validates availability of replicas of all ledgers by querying bookies. Setting this to 0 will completely disable the periodic replicas check. By default it is disabled.
    default: 0

- name: AutoRecovery replication worker settings
  params:
  - param: rereplicationEntryBatchSize
    description: The number of entries that a replication will rereplicate in parallel.
    default: 10
  - param: openLedgerRereplicationGracePeriod
    description: The grace period, in milliseconds, that the replication worker waits before fencing and replicating a ledger fragment that's still being written to upon bookie failure.
    default: 30000
  - param: lockReleaseOfFailedLedgerGracePeriod
    description: Set the grace period, in milliseconds, which the replication worker has to wait before releasing the lock after it failed to replicate a ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS failures it will do exponential backoff then it will bound at lockReleaseOfFailedLedgerGracePeriod.
    default: 300000
  - param: rwRereplicateBackoffMs
    description: The time to backoff when replication worker encounters exceptions on replicating a ledger, in milliseconds.
    default: 5000

- name: Memory allocator settings
  params:
  - param: allocatorPoolingPolicy
    description: |
      Define the memory pooling policy.

      Available options are:
        - PooledDirect: Use Direct memory for all buffers and pool the memory.
                        Direct memory will avoid the overhead of JVM GC and most
                        memory copies when reading and writing to socket channel.
                        Pooling will add memory space overhead due to the fact that
                        there will be fragmentation in the allocator and that threads
                        will keep a portion of memory as thread-local to avoid
                        contention when possible.
        - UnpooledHeap: Allocate memory from JVM heap without any pooling.
                        This option has the least overhead in terms of memory usage
                        since the memory will be automatically reclaimed by the
                        JVM GC but might impose a performance penalty at high
                        throughput.
    default: PooledDirect
  - param: allocatorPoolingConcurrency
    description: |
      Controls the amount of concurrency for the memory pool.
      Default is to have a number of allocator arenas equals to 2 * CPUS.
      Decreasing this number will reduce the amount of memory overhead, at the
      expense of increased allocation contention.
    default: 2 * CPUS
  - param: allocatorOutOfMemoryPolicy
    description: |
      Define the memory allocator out of memory policy.

      Available options are:
        - FallbackToHeap: If it's not possible to allocate a buffer from direct memory,
                          fallback to allocate an unpooled buffer from JVM heap.
                          This will help absorb memory allocation spikes because the heap
                          allocations will naturally slow down the process and will result
                          if full GC cleanup if the Heap itself is full.
        - ThrowException: Throw regular OOM exception without taking addition actions.
    default: FallbackToHeap
  - param: allocatorLeakDetectionPolicy
    description: |
      Define the memory allocator leak detection policy.

      Available options are:
        - Disabled: No leak detection and no overhead.
        - Simple: Instruments 1% of the allocated buffer to track for leaks.
        - Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
                    stack traces of places where the buffer was used.
        - Paranoid: Instruments 100% of the allocated buffer to track for leaks, reporting
                    stack traces of places where the buffer was used. Introduce very
                    significant overhead.
    default: Disabled
