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

- 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 sub.
    default: 512
  - 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: 256
  - param: dbStorage_readAheadCacheBatchSize
    description: How many entries to pre-fill in cache after a read cache miss
    default: 1000
  - 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: 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.

- 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

- 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 seconds, that the replication worker waits before fencing and replicating a ledger fragment that's still being written to upon bookie failure.
    default: 30
  - param: lockReleaseOfFailedLedgerGracePeriod
    description: the grace period so that if the replication worker fails to replicate a underreplicatedledger for more than ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING number of times, then instead of releasing the lock immediately after failed attempt, it will hold under replicated ledger lock for this grace period and then it will release the lock.
    default: 60
  - 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
