<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-4.12.1 plugin-docs plugin-id-default docs-doc-id-reference/config">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.4.0">
<title data-rh="true">BookKeeper configuration | Apache BookKeeper</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://bookkeeper.apache.org/docs/4.12.1/reference/config"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="4.12.1"><meta data-rh="true" name="docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" name="docsearch:version" content="4.12.1"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-4.12.1"><meta data-rh="true" property="og:title" content="BookKeeper configuration | Apache BookKeeper"><meta data-rh="true" name="description" content="The table below lists parameters that you can set to configure bookies. All configuration takes place in the bk_server.conf file in the bookkeeper-server/conf directory of your BookKeeper installation."><meta data-rh="true" property="og:description" content="The table below lists parameters that you can set to configure bookies. All configuration takes place in the bk_server.conf file in the bookkeeper-server/conf directory of your BookKeeper installation."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://bookkeeper.apache.org/docs/4.12.1/reference/config"><link data-rh="true" rel="alternate" href="https://bookkeeper.apache.org/docs/4.12.1/reference/config" hreflang="en"><link data-rh="true" rel="alternate" href="https://bookkeeper.apache.org/docs/4.12.1/reference/config" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.49914aab.css">
<link rel="preload" href="/assets/js/runtime~main.42cf7c0d.js" as="script">
<link rel="preload" href="/assets/js/main.3c90c5ad.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/bk-logo.svg" alt="Apache Bookkeeper" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/bk-logo.svg" alt="Apache Bookkeeper" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">Apache BookKeeper</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/4.12.1/overview/">Documentation</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Community</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/community/mailing-lists">Mailing lists</a></li><li><a class="dropdown__link" href="/community/slack">Slack</a></li><li><a href="https://github.com/apache/bookkeeper/issues" target="_blank" rel="noopener noreferrer" class="dropdown__link">Github issues<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a class="dropdown__link" href="/community/releases">Release management</a></li><li><a class="dropdown__link" href="/community/meeting">Community meetings</a></li><li><a class="dropdown__link" href="/community/contributing">Contribution guide</a></li><li><a class="dropdown__link" href="/community/coding-guide">Coding guide</a></li><li><a class="dropdown__link" href="/community/testing">Testing guide</a></li><li><a class="dropdown__link" href="/community/issue-report">Issue report guide</a></li><li><a class="dropdown__link" href="/community/release-guide">Release guide</a></li><li><a class="dropdown__link" href="/community/presentations">Presentations</a></li><li><a class="dropdown__link" href="/community/bookkeeper-proposals">BookKeeper proposals (BP)</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Project</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/project/who">Who are we?</a></li><li><a class="dropdown__link" href="/project/bylaws">Bylaws</a></li><li><a href="https://apache.org/licenses" target="_blank" rel="noopener noreferrer" class="dropdown__link">License<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a class="dropdown__link" href="/project/privacy">Privacy policy</a></li><li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Sponsorship<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Thanks<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/docs/4.12.1/overview/">4.12.1</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/next/reference/config">Next</a></li><li><a class="dropdown__link" href="/docs/reference/config">4.17.0</a></li><li><a class="dropdown__link" href="/docs/4.16.5/reference/config">4.16.5</a></li><li><a class="dropdown__link" href="/docs/4.15.5/reference/config">4.15.5</a></li><li><a class="dropdown__link" href="/docs/4.14.8/reference/config">4.14.8</a></li><li><a class="dropdown__link" href="/docs/4.13.0/reference/config">4.13.0</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/docs/4.12.1/reference/config">4.12.1</a></li><li><a class="dropdown__link" href="/docs/4.11.1/reference/config">4.11.1</a></li><li><a class="dropdown__link" href="/docs/4.10.0/reference/config">4.10.0</a></li><li><a class="dropdown__link" href="/docs/4.9.2/reference/config">4.9.2</a></li><li><a class="dropdown__link" href="/docs/4.8.2/reference/config">4.8.2</a></li><li><a class="dropdown__link" href="/docs/4.7.3/reference/config">4.7.3</a></li><li><a class="dropdown__link" href="/docs/4.6.2/reference/config">4.6.2</a></li><li><a class="dropdown__link" href="/docs/4.5.1/reference/config">4.5.1</a></li></ul></div><a class="navbar__item navbar__link" href="/releases">Download</a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/4.12.1/overview/">Overview</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/4.12.1/getting-started/installation">Getting started</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/4.12.1/deployment/manual">Deployment</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/4.12.1/admin/bookies">Administration</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/4.12.1/api/overview">API</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/4.12.1/security/overview">Security</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/4.12.1/development/protocol">Development</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/4.12.1/reference/config">Reference</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/4.12.1/reference/config">Configuration</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/4.12.1/reference/cli">Command-line tools</a></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><span class="theme-doc-version-badge badge badge--secondary">Version: 4.12.1</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>BookKeeper configuration</h1></header><p>The table below lists parameters that you can set to configure bookies. All configuration takes place in the <code>bk_server.conf</code> file in the <code>bookkeeper-server/conf</code> directory of your <a href="/docs/4.12.1/getting-started/installation">BookKeeper installation</a>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="server-parameters">Server parameters<a href="#server-parameters" class="hash-link" aria-label="Direct link to Server parameters" title="Direct link to Server parameters">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>bookiePort</td><td>The port that the bookie server listens on.</td><td>3181</td></tr><tr><td>allowMultipleDirsUnderSameDiskPartition</td><td>Configure the bookie to allow/disallow multiple ledger/index/journal directories in the same filesystem disk partition</td><td></td></tr><tr><td>listeningInterface</td><td>The network interface that the bookie should listen on. If not set, the bookie will listen on all interfaces.</td><td>eth0</td></tr><tr><td>advertisedAddress</td><td>Configure a specific hostname or IP address that the bookie should use to advertise itself to<br>clients. If not set, bookie will advertised its own IP address or hostname, depending on the<br><code>listeningInterface</code> and <code>useHostNameAsBookieID</code> settings.<br></td><td>eth0</td></tr><tr><td>allowLoopback</td><td>Whether the bookie is allowed to use a loopback interface as its primary<br>interface (the interface it uses to establish its identity). By default, loopback interfaces are <em>not</em> allowed as the primary interface.<br><br>Using a loopback interface as the primary interface usually indicates a configuration error. It&#x27;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.<br></td><td>false</td></tr><tr><td>useHostNameAsBookieID</td><td>Whether the bookie should use its hostname to register with the ZooKeeper coordination service. When <code>false</code>, the bookie will use its IP address for the registration.</td><td>false</td></tr><tr><td>useShortHostName</td><td>Whether the bookie should use short hostname or <a href="https://en.wikipedia.org/wiki/Fully_qualified_domain_name" target="_blank" rel="noopener noreferrer">FQDN</a> hostname for registration and ledger metadata when <code>useHostNameAsBookieID</code> is enabled.</td><td>false</td></tr><tr><td>allowEphemeralPorts</td><td>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.</td><td>false</td></tr><tr><td>enableLocalTransport</td><td>Whether allow the bookie to listen for BookKeeper clients executed on the local JVM.</td><td>false</td></tr><tr><td>disableServerSocketBind</td><td>Whether allow the bookie to disable bind on network interfaces, this bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr><tr><td>bookieDeathWatchInterval</td><td>Interval to watch whether bookie is dead or not, in milliseconds.</td><td>1000</td></tr><tr><td>extraServerComponents</td><td>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.</td><td></td></tr><tr><td>ignoreExtraServerComponentsStartupFailures</td><td>Whether the bookie should ignore startup failures on loading server components specified by <code>extraServerComponents</code>.</td><td>false</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="worker-thread-settings">Worker thread settings<a href="#worker-thread-settings" class="hash-link" aria-label="Direct link to Worker thread settings" title="Direct link to Worker thread settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>numAddWorkerThreads</td><td>The number of threads that handle write requests. if zero, writes are handled by <a href="//netty.io/wiki/thread-model.html" target="_blank" rel="noopener noreferrer">Netty threads</a> directly.</td><td>1</td></tr><tr><td>numReadWorkerThreads</td><td>The number of threads that handle read requests. If zero, reads are handled by <a href="//netty.io/wiki/thread-model.html" target="_blank" rel="noopener noreferrer">Netty threads</a> directly.</td><td>8</td></tr><tr><td>numLongPollWorkerThreads</td><td>The number of threads that handle long poll requests. If zero, long poll requests are handled by <a href="//netty.io/wiki/thread-model.html" target="_blank" rel="noopener noreferrer">Netty threads</a> directly.</td><td></td></tr><tr><td>numJournalCallbackThreads</td><td>The number of threads that handle journal callbacks. If zero, journal callbacks are executed directly on force write threads.</td><td>1</td></tr><tr><td>numHighPriorityWorkerThreads</td><td>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 <a href="//netty.io/wiki/thread-model.html" target="_blank" rel="noopener noreferrer">Netty threads</a> directly.</td><td>8</td></tr><tr><td>maxPendingAddRequestsPerThread</td><td>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.</td><td>10000</td></tr><tr><td>maxPendingReadRequestsPerThread</td><td>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.</td><td>10000</td></tr><tr><td>enableBusyWait</td><td>Option to enable busy-wait settings. Default is false.<br>WARNING: This option will enable spin-waiting on executors and IO threads in order to reduce latency during<br>context switches. The spinning will consume 100% CPU even when bookie is not doing any work. It is recommended to<br>reduce the number of threads in the main workers pool and Netty event loop to only have few CPU cores busy.<br></td><td></td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="long-poll-settings">Long poll settings<a href="#long-poll-settings" class="hash-link" aria-label="Direct link to Long poll settings" title="Direct link to Long poll settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>requestTimerTickDurationMs</td><td>The tick duration for long poll request timer, in milliseconds. See <a href="//netty.io/4.1/api/io/netty/util/HashedWheelTimer.html" target="_blank" rel="noopener noreferrer">HashedWheelTimer</a> for more details.</td><td>10</td></tr><tr><td>requestTimerNumTicks</td><td>The number of ticks per wheel for long poll request timer. See <a href="//netty.io/4.1/api/io/netty/util/HashedWheelTimer.html" target="_blank" rel="noopener noreferrer">HashedWheelTimer</a> for more details.</td><td>1024</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="read-only-mode-support">Read-only mode support<a href="#read-only-mode-support" class="hash-link" aria-label="Direct link to Read-only mode support" title="Direct link to Read-only mode support">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>readOnlyModeEnabled</td><td>If all ledger directories configured are full, then support only read requests for clients. If &quot;readOnlyModeEnabled=true&quot; 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.</td><td>true</td></tr><tr><td>forceReadOnlyBookie</td><td>Whether the bookie is force started in read only mode or not.</td><td>false</td></tr><tr><td>persistBookieStatusEnabled</td><td>Persist the bookie status locally on the disks. So the bookies can keep their status upon restarts.</td><td>false</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="netty-server-settings">Netty server settings<a href="#netty-server-settings" class="hash-link" aria-label="Direct link to Netty server settings" title="Direct link to Netty server settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>serverTcpNoDelay</td><td>This settings is used to enabled/disabled Nagle&#x27;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.<br><br>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.<br></td><td>true</td></tr><tr><td>serverSockKeepalive</td><td>This setting is used to send keep-alive messages on connection-oriented sockets.</td><td>true</td></tr><tr><td>serverTcpLinger</td><td>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.</td><td></td></tr><tr><td>byteBufAllocatorSizeInitial</td><td>The Recv ByteBuf allocator initial buf size.</td><td>65536</td></tr><tr><td>byteBufAllocatorSizeMin</td><td>The Recv ByteBuf allocator min buf size.</td><td>65536</td></tr><tr><td>byteBufAllocatorSizeMax</td><td>The Recv ByteBuf allocator max buf size.</td><td>1048576</td></tr><tr><td>nettyMaxFrameSizeBytes</td><td>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 <code>setNettyMaxFrameSizeBytes(int maxSize)</code>, pay attention to the parameter should be less than the value of server-side.</td><td>5242880</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="http-server-settings">Http server settings<a href="#http-server-settings" class="hash-link" aria-label="Direct link to Http server settings" title="Direct link to Http server settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>httpServerEnabled</td><td>The flag enables/disables starting the admin http server.</td><td>false</td></tr><tr><td>httpServerPort</td><td>The http server port to listen on if <code>httpServerEnabled</code> is set to true.</td><td>8080</td></tr><tr><td>httpServerHost</td><td>The http server host to listen on if <code>httpServerEnabled</code> is set to true.</td><td>0.0.0.0</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="security-settings">Security settings<a href="#security-settings" class="hash-link" aria-label="Direct link to Security settings" title="Direct link to Security settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>bookieAuthProviderFactoryClass</td><td>The bookie authentication provider factory class name. If this is null, no authentication will take place.</td><td></td></tr><tr><td>permittedStartupUsers</td><td>The list of users are permitted to run the bookie process. Any users can run the bookie process if it is not set.<br><br>Example settings - &quot;permittedStartupUsers=user1,user2,user3&quot;<br></td><td></td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="tls-settings">TLS settings<a href="#tls-settings" class="hash-link" aria-label="Direct link to TLS settings" title="Direct link to TLS settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>tlsProvider</td><td>TLS Provider (JDK or OpenSSL)</td><td>OpenSSL</td></tr><tr><td>tlsProviderFactoryClass</td><td>The path to the class that provides security.</td><td>org.apache.bookkeeper.tls.TLSContextFactory</td></tr><tr><td>tlsClientAuthentication</td><td>Type of security used by server.</td><td>true</td></tr><tr><td>tlsKeyStoreType</td><td>Bookie Keystore type.</td><td>JKS</td></tr><tr><td>tlsKeyStore</td><td>Bookie Keystore location (path).</td><td></td></tr><tr><td>tlsKeyStore</td><td>Bookie Keystore location (path).</td><td></td></tr><tr><td>tlsKeyStorePasswordPath</td><td>Bookie Keystore password path, if the keystore is protected by a password.</td><td></td></tr><tr><td>tlsTrustStoreType</td><td>Bookie Truststore type.</td><td></td></tr><tr><td>tlsTrustStore</td><td>Bookie Truststore location (path).</td><td></td></tr><tr><td>tlsTrustStorePasswordPath</td><td>Bookie Truststore password path, if the truststore is protected by a password.</td><td></td></tr><tr><td>tlsCertificatePath</td><td>Bookie TLS certificate path.</td><td></td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="journal-settings">Journal settings<a href="#journal-settings" class="hash-link" aria-label="Direct link to Journal settings" title="Direct link to Journal settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>journalDirectories</td><td>The directories to which Bookkeeper outputs its write-ahead log (WAL). Could define multi directories to store write head logs, separated by &#x27;,&#x27;.<br>For example:<br> journalDirectories=/tmp/bk-journal1,/tmp/bk-journal2<br>If journalDirectories is set, bookies will skip journalDirectory and use this setting directory.<br></td><td>/tmp/bk-journal</td></tr><tr><td>journalDirectory</td><td>@Deprecated since 4.5.0, in favor of using <code>journalDirectories</code>.<br><br>The directory to which Bookkeeper outputs its write-ahead log (WAL).<br></td><td>/tmp/bk-txn</td></tr><tr><td>journalFormatVersionToWrite</td><td>The journal format version to write.<br>Available formats are 1-5:<br> 1: no header<br> 2: a header section was added<br> 3: ledger key was introduced<br> 4: fencing key was introduced<br> 5: expanding header to 512 and padding writes to align sector size configured by <code>journalAlignmentSize</code><br> 6: persisting explicitLac is introduced<br><br>By default, it is <code>6</code>.<br>If you&#x27;d like to disable persisting ExplicitLac, you can set this config to &lt; <code>6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.<br>You can disable <code>padding-writes</code> by setting journal version back to <code>4</code>. This feature is available in 4.5.0 and onward versions.<br></td><td>6</td></tr><tr><td>journalMaxSizeMB</td><td>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.</td><td>2048</td></tr><tr><td>journalMaxBackups</td><td>Max number of old journal file to kept. Keep a number of old journal files would help data recovery in specia case.</td><td>5</td></tr><tr><td>journalPreAllocSizeMB</td><td>How much space should we pre-allocate at a time in the journal.</td><td>16</td></tr><tr><td>journalWriteBufferSizeKB</td><td>Size of the write buffers used for the journal.</td><td>64</td></tr><tr><td>journalRemoveFromPageCache</td><td>Should we remove pages from page cache after force write</td><td>true</td></tr><tr><td>journalSyncData</td><td>Should the data be fsynced on journal before acknowledgment.<br>By default, data sync is enabled to guarantee durability of writes. Beware - when disabling data sync in the bookie journal<br>might improve the bookie write performance, it will also introduce the possibility of data loss. With no fsync, the journal<br>entries are written in the OS page cache but not flushed to disk. In case of power failure, the affected bookie might lose<br>the unflushed data. If the ledger is replicated to multiple bookies, the chances of data loss are reduced though still present.<br></td><td>true</td></tr><tr><td>journalAdaptiveGroupWrites</td><td>Should we group journal force writes, which optimize group commit for higher throughput.</td><td>true</td></tr><tr><td>journalMaxGroupWaitMSec</td><td>Maximum latency to impose on a journal write to achieve grouping.</td><td>2</td></tr><tr><td>journalBufferedWritesThreshold</td><td>Maximum writes to buffer to achieve grouping.</td><td>524288</td></tr><tr><td>journalFlushWhenQueueEmpty</td><td>If we should flush the journal when journal queue is empty.</td><td>false</td></tr><tr><td>journalAlignmentSize</td><td>All the journal writes and commits should be aligned to given size. If not, zeros will be padded to align to given size.</td><td>512</td></tr><tr><td>journalBufferedEntriesThreshold</td><td>Maximum entries to buffer to impose on a journal write to achieve grouping.</td><td></td></tr><tr><td>journalFlushWhenQueueEmpty</td><td>If we should flush the journal when journal queue is empty.</td><td>false</td></tr><tr><td>journalQueueSize</td><td>Set the size of the journal queue.</td><td>10000</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="ledger-storage-settings">Ledger storage settings<a href="#ledger-storage-settings" class="hash-link" aria-label="Direct link to Ledger storage settings" title="Direct link to Ledger storage settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>ledgerStorageClass</td><td>Ledger storage implementation class<br><br>Options:<br> - org.apache.bookkeeper.bookie.InterleavedLedgerStorage<br> - org.apache.bookkeeper.bookie.SortedLedgerStorage<br> - org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorage<br></td><td>org.apache.bookkeeper.bookie.SortedLedgerStorage</td></tr><tr><td>sortedLedgerStorageEnabled</td><td>@Deprecated in favor of using <code>ledgerStorageClass</code><br><br>Whether sorted-ledger storage enabled (default true)<br></td><td>true</td></tr><tr><td>ledgerDirectories</td><td>The directory to which Bookkeeper outputs ledger snapshots. You can define multiple directories to store snapshots separated by a comma, for example <code>/tmp/data-dir1,/tmp/data-dir2</code>.</td><td>/tmp/bk-data</td></tr><tr><td>indexDirectories</td><td>The directories in which index files are stored. If not specified, the value of <a href="#ledgerDirectories"><code>ledgerDirectories</code></a> will be used.</td><td>/tmp/bk-data</td></tr><tr><td>minUsableSizeForIndexFileCreation</td><td>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)</td><td>1073741824</td></tr><tr><td>minUsableSizeForEntryLogCreation</td><td>Minimum safe usable size to be available in ledger directory for bookie to create entry log files (in bytes).<br>This parameter allows creating entry log files when there are enough disk spaces, even when<br>the bookie is running at readonly mode because of the disk usage is exceeding <code>diskUsageThreshold</code>.<br>Because compaction, journal replays can still write data to disks when a bookie is readonly.<br></td><td>1.2 * <code>logSizeLimit</code></td></tr><tr><td>minUsableSizeForHighPriorityWrites</td><td>Minimum safe usable size to be available in ledger directory for bookie to accept high priority writes even it is in readonly mode.<br></td><td>1.2 * <code>logSizeLimit</code></td></tr><tr><td>flushInterval</td><td>When entryLogPerLedgerEnabled is enabled, checkpoint doesn&#x27;t happens when a new active entrylog is created / previous one is rolled over. Instead SyncThread checkpoints periodically with &#x27;flushInterval&#x27; 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.</td><td>10000</td></tr><tr><td>allowStorageExpansion</td><td>Allow the expansion of bookie storage capacity. Newly added ledger and index directories must be empty.</td><td>false</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="entry-log-settings">Entry log settings<a href="#entry-log-settings" class="hash-link" aria-label="Direct link to Entry log settings" title="Direct link to Entry log settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>logSizeLimit</td><td>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.</td><td>2147483648</td></tr><tr><td>entryLogFilePreallocationEnabled</td><td>Enable/Disable entry logger preallocation</td><td>true</td></tr><tr><td>flushEntrylogBytes</td><td>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.</td><td></td></tr><tr><td>readBufferSizeBytes</td><td>The capacity allocated for <a href="https://bookkeeper.apache.org//docs/latest/api/javadoc/org/apache/bookkeeper/bookie/BufferedReadChannel" target="_blank" rel="noopener noreferrer"><code>BufferedReadChannel</code></a>s, in bytes.</td><td>512</td></tr><tr><td>writeBufferSizeBytes</td><td>The number of bytes used as capacity for the write buffer.</td><td>65536</td></tr><tr><td>entryLogPerLedgerEnabled</td><td>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.</td><td></td></tr><tr><td>entrylogMapAccessExpiryTimeInSeconds</td><td>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.</td><td>300</td></tr><tr><td>maximumNumberOfActiveEntryLogs</td><td>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.</td><td>500</td></tr><tr><td>entryLogPerLedgerCounterLimitsMultFactor</td><td>in EntryLogManagerForEntryLogPerLedger, this config value specifies the metrics cache size limits in multiples of entrylogMap cache size limits.</td><td>10</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="entry-log-compaction-settings">Entry log compaction settings<a href="#entry-log-compaction-settings" class="hash-link" aria-label="Direct link to Entry log compaction settings" title="Direct link to Entry log compaction settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>isThrottleByBytes</td><td>Throttle compaction by bytes or by entries.</td><td>false</td></tr><tr><td>compactionRate</td><td>The rate at which compaction will read entries. The unit is adds per second.</td><td>1000</td></tr><tr><td>compactionRateByEntries</td><td>Set the rate at which compaction will read entries. The unit is adds per second.</td><td>1000</td></tr><tr><td>compactionRateByBytes</td><td>Set the rate at which compaction will read entries. The unit is bytes added per second.</td><td>1000000</td></tr><tr><td>compactionMaxOutstandingRequests</td><td>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 <em>not</em> be modified unless you know what you&#x27;re doing.</td><td>100000</td></tr><tr><td>minorCompactionThreshold</td><td>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.</td><td>0.2</td></tr><tr><td>majorCompactionThreshold</td><td>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.</td><td>0.8</td></tr><tr><td>minorCompactionInterval</td><td>Interval to run minor compaction, in seconds. If it is set to less than zero, the minor compaction is disabled.</td><td>3600</td></tr><tr><td>majorCompactionInterval</td><td>Interval to run major compaction, in seconds. If it is set to less than zero, the major compaction is disabled.</td><td>86400</td></tr><tr><td>useTransactionalCompaction</td><td>Flag to enable/disable transactional compaction. If it is set to true, it will use transactional compaction, which uses<br>new entry log files to store entries after compaction; otherwise, it will use normal compaction, which shares same entry<br>log file with normal add operations.<br></td><td>false</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="garbage-collection-settings">Garbage collection settings<a href="#garbage-collection-settings" class="hash-link" aria-label="Direct link to Garbage collection settings" title="Direct link to Garbage collection settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>gcWaitTime</td><td>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.</td><td>1000</td></tr><tr><td>gcOverreplicatedLedgerWaitTime</td><td>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.</td><td>86400000</td></tr><tr><td>gcOverreplicatedLedgerMaxConcurrentRequests</td><td>Max number of concurrent requests in garbage collection of overreplicated ledgers.</td><td>1000</td></tr><tr><td>isForceGCAllowWhenNoSpace</td><td>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.</td><td>false</td></tr><tr><td>verifyMetadataOnGC</td><td>Whether the bookie should double check if a ledger exists in metadata service prior to gc.</td><td>false</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="disk-utilization">Disk utilization<a href="#disk-utilization" class="hash-link" aria-label="Direct link to Disk utilization" title="Direct link to Disk utilization">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>diskUsageThreshold</td><td>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 partitions are full, then bookie will turn to readonly mode if &#x27;readOnlyModeEnabled=true&#x27; is set, else it will shutdown. Valid values should be in between 0 and 1 (exclusive).<br></td><td>0.95</td></tr><tr><td>diskUsageWarnThreshold</td><td>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.</td><td>0.95</td></tr><tr><td>diskUsageLwmThreshold</td><td>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.<br></td><td>0.9</td></tr><tr><td>diskCheckInterval</td><td>Disk check interval in milliseconds. Interval to check the ledger dirs usage.</td><td>10000</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="sorted-ledger-storage-settings">Sorted Ledger Storage Settings<a href="#sorted-ledger-storage-settings" class="hash-link" aria-label="Direct link to Sorted Ledger Storage Settings" title="Direct link to Sorted Ledger Storage Settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>skipListSizeLimit</td><td>The skip list data size limitation (default 64MB) in EntryMemTable</td><td>67108864</td></tr><tr><td>skipListArenaChunkSize</td><td>The number of bytes we should use as chunk allocation for org.apache.bookkeeper.bookie.SkipListArena</td><td>4194304</td></tr><tr><td>skipListArenaMaxAllocSize</td><td>The max size we should allocate from the skiplist arena. Allocations larger than this should be allocated directly by the VM to avoid fragmentation.</td><td>131072</td></tr><tr><td>openFileLimit</td><td>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.<br></td><td>20000</td></tr><tr><td>fileInfoCacheInitialCapacity</td><td>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,<br>but setting this value unnecessarily high wastes memory. The default value is <code>1/4</code> of <code>openFileLimit</code> if openFileLimit is positive, otherwise it is 64.<br></td><td></td></tr><tr><td>fileInfoMaxIdleTime</td><td>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<br>evicted and closed. If the value is zero or negative, the file info is evicted only when opened files reached <code>openFileLimit</code>.<br></td><td></td></tr><tr><td>fileInfoFormatVersionToWrite</td><td>The fileinfo format version to write.<br>Available formats are 0-1:<br> 0: Initial version<br> 1: persisting explicitLac is introduced<br><br>By default, it is <code>1</code>. If you&#x27;d like to disable persisting ExplicitLac, you can set this config to 0 and also journalFormatVersionToWrite should be set to &lt; 6. If there is mismatch then the serverconfig is considered invalid.<br></td><td>1</td></tr><tr><td>pageSize</td><td>Size of a index page in ledger cache, in bytes. A larger index page can improve performance writing page to disk, which is efficient 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.<br></td><td>8192</td></tr><tr><td>pageLimit</td><td>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 better 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.<br></td><td>-1</td></tr><tr><td>numOfMemtableFlushThreads</td><td>When entryLogPerLedger is enabled SortedLedgerStorage flushes entries from memTable using OrderedExecutor having numOfMemtableFlushThreads number of threads.<br></td><td>8</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="db-ledger-storage-settings">DB Ledger Storage Settings<a href="#db-ledger-storage-settings" class="hash-link" aria-label="Direct link to DB Ledger Storage Settings" title="Direct link to DB Ledger Storage Settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>dbStorage_writeCacheMaxSizeMb</td><td>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.</td><td>25% of the available direct memory</td></tr><tr><td>dbStorage_readAheadCacheMaxSizeMb</td><td>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.</td><td>25% of the available direct memory</td></tr><tr><td>dbStorage_readAheadCacheBatchSize</td><td>How many entries to pre-fill in cache after a read cache miss</td><td>100</td></tr><tr><td>dbStorage_rocksDB_blockSize</td><td>Size of RocksDB block-cache. RocksDB is used for storing ledger indexes.<br>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.<br></td><td>268435456</td></tr><tr><td>dbStorage_rocksDB_writeBufferSizeMB</td><td>Size of RocksDB write buffer. RocksDB is used for storing ledger indexes.<br></td><td>64</td></tr><tr><td>dbStorage_rocksDB_sstSizeInMB</td><td>Size of RocksDB sst file size in MB. RocksDB is used for storing ledger indexes.<br></td><td>64</td></tr><tr><td>dbStorage_rocksDB_blockSize</td><td></td><td>65536</td></tr><tr><td>dbStorage_rocksDB_bloomFilterBitsPerKey</td><td></td><td>10</td></tr><tr><td>dbStorage_rocksDB_numLevels</td><td></td><td>-1</td></tr><tr><td>dbStorage_rocksDB_numFilesInLevel0</td><td></td><td>10</td></tr><tr><td>dbStorage_rocksDB_maxSizeInLevel1MB</td><td></td><td>256</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="metadata-service-settings">Metadata Service Settings<a href="#metadata-service-settings" class="hash-link" aria-label="Direct link to Metadata Service Settings" title="Direct link to Metadata Service Settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>metadataServiceUri</td><td>metadata service uri that bookkeeper is used for loading corresponding metadata driver and resolving its metadata service location.</td><td>zk+hierarchical://localhost:2181/ledgers</td></tr><tr><td>ledgerManagerFactoryClass</td><td>@Deprecated in favor of using <code>metadataServiceUri</code><br><br>The ledger manager factory class, which defines how ledgers are stored, managed, and garbage collected. See the <a href="/docs/4.12.1/getting-started/concepts#ledger-manager">Ledger Manager</a> guide for more details.<br></td><td>hierarchical</td></tr><tr><td>allowShadedLedgerManagerFactoryClass</td><td>Sometimes the bookkeeper server classes are shaded. The ledger manager factory classes might be relocated to be under other packages.<br>This would fail the clients using shaded factory classes since the factory classes are stored in cookies and used for verification.<br>Users can enable this flag to allow using shaded ledger manager factory classes to connect to a bookkeeper cluster.<br></td><td>false</td></tr><tr><td>shadedLedgerManagerFactoryClassPrefix</td><td>The shaded ledger manager factory prefix. This is used when <code>allowShadedLedgerManagerFactoryClass</code> is set to true.</td><td>dlshade.</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="zookeeper-metadata-service-settings">ZooKeeper Metadata Service Settings<a href="#zookeeper-metadata-service-settings" class="hash-link" aria-label="Direct link to ZooKeeper Metadata Service Settings" title="Direct link to ZooKeeper Metadata Service Settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>zkLedgersRootPath</td><td>@Deprecated in favor of using <code>metadataServiceUri</code><br><br>Root Zookeeper path to store ledger metadata. This parameter is used by zookeeper-based ledger manager as a root znode to store all ledgers.<br></td><td>/ledgers</td></tr><tr><td>zkServers</td><td>@Deprecated in favor of using <code>metadataServiceUri</code><br><br>A list of one of more servers on which Zookeeper is running. The server list can be comma separated values, for example <code>zkServers=zk1:2181,zk2:2181,zk3:2181</code>.<br></td><td>localhost:2181</td></tr><tr><td>zkTimeout</td><td>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.</td><td>10000</td></tr><tr><td>zkRetryBackoffStartMs</td><td>The Zookeeper client backoff retry start time in millis.</td><td>1000</td></tr><tr><td>zkRetryBackoffMaxMs</td><td>The Zookeeper client backoff retry max time in millis.</td><td>10000</td></tr><tr><td>zkRequestRateLimit</td><td>The Zookeeper request limit. It is only enabled when setting a positive value.</td><td></td></tr><tr><td>zkEnableSecurity</td><td>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</td><td>false</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="statistics">Statistics<a href="#statistics" class="hash-link" aria-label="Direct link to Statistics" title="Direct link to Statistics">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>enableStatistics</td><td>Whether statistics are enabled for the bookie.</td><td>true</td></tr><tr><td>statsProviderClass</td><td>Stats provider class.<br>Options:<br> - Prometheus    : org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider<br> - Codahale     : org.apache.bookkeeper.stats.codahale.CodahaleMetricsProvider<br></td><td>org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</td></tr><tr><td>limitStatsLogging</td><td>option to limit stats logging</td><td>false</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="prometheus-metrics-provider-settings">Prometheus Metrics Provider Settings<a href="#prometheus-metrics-provider-settings" class="hash-link" aria-label="Direct link to Prometheus Metrics Provider Settings" title="Direct link to Prometheus Metrics Provider Settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>prometheusStatsHttpAddress</td><td>default bind address for Prometheus metrics exporter</td><td>0.0.0.0</td></tr><tr><td>prometheusStatsHttpPort</td><td>default port for prometheus metrics exporter</td><td>8000</td></tr><tr><td>prometheusStatsLatencyRolloverSeconds</td><td>latency stats rollover interval, in seconds</td><td>60</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="codahale-metrics-provider-settings">Codahale Metrics Provider Settings<a href="#codahale-metrics-provider-settings" class="hash-link" aria-label="Direct link to Codahale Metrics Provider Settings" title="Direct link to Codahale Metrics Provider Settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>codahaleStatsPrefix</td><td>metric name prefix, default is empty.</td><td></td></tr><tr><td>codahaleStatsOutputFrequencySeconds</td><td>the frequency that stats reporters report stats, in seconds.</td><td>60</td></tr><tr><td>codahaleStatsGraphiteEndpoint</td><td>the graphite endpoint for reporting stats. see <a href="//metrics.dropwizard.io/3.1.0/manual/graphite/" target="_blank" rel="noopener noreferrer">graphite reporter</a> for more details.</td><td>null</td></tr><tr><td>codahaleStatsCSVEndpoint</td><td>the directory for reporting stats in csv format. see <a href="//metrics.dropwizard.io/3.1.0/manual/core/#csv" target="_blank" rel="noopener noreferrer">csv reporter</a> for more details.</td><td>null</td></tr><tr><td>codahaleStatsSlf4jEndpoint</td><td>the slf4j endpoint for reporting stats. see <a href="//metrics.dropwizard.io/3.1.0/manual/core/#slf4j" target="_blank" rel="noopener noreferrer">slf4j reporter</a> for more details.</td><td>null</td></tr><tr><td>codahaleStatsJmxEndpoint</td><td>the jmx endpoint for reporting stats. see <a href="//metrics.dropwizard.io/3.1.0/manual/core/#jmx" target="_blank" rel="noopener noreferrer">jmx reporter</a> for more details.</td><td></td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="autorecovery-general-settings">AutoRecovery general settings<a href="#autorecovery-general-settings" class="hash-link" aria-label="Direct link to AutoRecovery general settings" title="Direct link to AutoRecovery general settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>autoRecoveryDaemonEnabled</td><td>Whether the bookie itself can start auto-recovery service also or not.</td><td></td></tr><tr><td>digestType</td><td>The default digest type used for opening ledgers.</td><td>CRC32</td></tr><tr><td>passwd</td><td>The default password used for opening ledgers. Default value is empty string.</td><td></td></tr><tr><td>enableDigestTypeAutodetection</td><td>The flag to enable/disable digest type auto-detection. If it is enabled, the bookkeeper client will ignore the provided digest type provided at <code>digestType</code> and the provided passwd provided at <code>passwd</code>.</td><td>true</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="autorecovery-placement-settings">AutoRecovery placement settings<a href="#autorecovery-placement-settings" class="hash-link" aria-label="Direct link to AutoRecovery placement settings" title="Direct link to AutoRecovery placement settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>ensemblePlacementPolicy</td><td>The ensemble placement policy used for finding bookie for re-replicating entries.<br><br>Options:<br> - org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy<br> - org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy<br></td><td>org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy</td></tr><tr><td>reppDnsResolverClass</td><td>The DNS resolver class used for resolving network locations for bookies. The setting is used<br>when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacementPolicy.<br></td><td>org.apache.bookkeeper.net.ScriptBasedMapping</td></tr><tr><td>networkTopologyScriptFileName</td><td>The bash script used by <code>ScriptBasedMapping</code> DNS resolver for resolving bookies&#x27; network locations.<br></td><td></td></tr><tr><td>networkTopologyScriptNumberArgs</td><td>The max number of args used in the script provided at <code>networkTopologyScriptFileName</code>.<br></td><td></td></tr><tr><td>minNumRacksPerWriteQuorum</td><td>minimum number of racks per write quorum. RackawareEnsemblePlacementPolicy will try to get bookies from atleast &#x27;minNumRacksPerWriteQuorum&#x27; racks for a writeQuorum.<br></td><td></td></tr><tr><td>enforceMinNumRacksPerWriteQuorum</td><td>&#x27;enforceMinNumRacksPerWriteQuorum&#x27; enforces RackawareEnsemblePlacementPolicy to pick bookies from &#x27;minNumRacksPerWriteQuorum&#x27; racks for a writeQuorum. If it cann&#x27;t find bookie then it would throw BKNotEnoughBookiesException instead of picking random one.<br></td><td></td></tr><tr><td>ignoreLocalNodeInPlacementPolicy</td><td>&#x27;ignoreLocalNodeInPlacementPolicy&#x27; specifies whether to ignore localnode in the internal logic of placement policy. If it is not possible or useful to use Bookkeeper client node&#x27;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.<br></td><td></td></tr><tr><td>enforceMinNumFaultDomainsForWrite</td><td>&#x27;enforceMinNumFaultDomainsForWrite&#x27; enforces EnsemblePlacementPolicy to check if a write has made it to bookies in &#x27;minNumRacksPerWriteQuorum&#x27; number of fault domains, before acknowledging the write back.<br></td><td></td></tr><tr><td>minNumZonesPerWriteQuorum</td><td>minimum number of zones per write quorum in ZoneawareEnsemblePlacementPolicy. ZoneawareEnsemblePlacementPolicy would get bookies from atleast &#x27;minNumZonesPerWriteQuorum&#x27; racks for a writeQuorum.<br></td><td>2</td></tr><tr><td>desiredNumZonesPerWriteQuorum</td><td>desired number of zones per write quorum in ZoneawareEnsemblePlacementPolicy. ZoneawareEnsemblePlacementPolicy will try to get bookies from &#x27;desiredNumZonesPerWriteQuorum&#x27; zones for a writeQuorum.<br></td><td>3</td></tr><tr><td>enforceStrictZoneawarePlacement</td><td>in ZoneawareEnsemblePlacementPolicy if strict placement is enabled then minZones/desiredZones in writeQuorum would be maintained otherwise it will pick nodes randomly.<br></td><td>true</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="autorecovery-auditor-settings">AutoRecovery auditor settings<a href="#autorecovery-auditor-settings" class="hash-link" aria-label="Direct link to AutoRecovery auditor settings" title="Direct link to AutoRecovery auditor settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>auditorPeriodicBookieCheckInterval</td><td>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.</td><td>86400</td></tr><tr><td>auditorPeriodicCheckInterval</td><td>The time interval, in seconds, at which the auditor will check all ledgers in the cluster. By default this runs once a week.<br><br>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.<br></td><td>604800</td></tr><tr><td>auditorPeriodicPlacementPolicyCheckInterval</td><td>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&#x27;t take any corrective measure other than logging error and reporting metrics. By default it is disabled.</td><td></td></tr><tr><td>auditorLedgerVerificationPercentage</td><td>The percentage of a ledger (fragment)&#x27;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.<br></td><td></td></tr><tr><td>lostBookieRecoveryDelay</td><td>How long to wait, in seconds, before starting autorecovery of a lost bookie.</td><td></td></tr><tr><td>storeSystemTimeAsLedgerUnderreplicatedMarkTime</td><td>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.</td><td>true</td></tr><tr><td>underreplicatedLedgerRecoveryGracePeriod</td><td>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.</td><td></td></tr><tr><td>auditorReplicasCheckInterval</td><td>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.</td><td></td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="autorecovery-replication-worker-settings">AutoRecovery replication worker settings<a href="#autorecovery-replication-worker-settings" class="hash-link" aria-label="Direct link to AutoRecovery replication worker settings" title="Direct link to AutoRecovery replication worker settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>rereplicationEntryBatchSize</td><td>The number of entries that a replication will rereplicate in parallel.</td><td>10</td></tr><tr><td>openLedgerRereplicationGracePeriod</td><td>The grace period, in milliseconds, that the replication worker waits before fencing and replicating a ledger fragment that&#x27;s still being written to upon bookie failure.</td><td>30000</td></tr><tr><td>lockReleaseOfFailedLedgerGracePeriod</td><td>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.</td><td>300000</td></tr><tr><td>rwRereplicateBackoffMs</td><td>The time to backoff when replication worker encounters exceptions on replicating a ledger, in milliseconds.</td><td>5000</td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="memory-allocator-settings">Memory allocator settings<a href="#memory-allocator-settings" class="hash-link" aria-label="Direct link to Memory allocator settings" title="Direct link to Memory allocator settings">​</a></h2><table><thead><tr><th>Parameter</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>allocatorPoolingPolicy</td><td>Define the memory pooling policy.<br><br>Available options are:<br> - PooledDirect: Use Direct memory for all buffers and pool the memory.<br>         Direct memory will avoid the overhead of JVM GC and most<br>         memory copies when reading and writing to socket channel.<br>         Pooling will add memory space overhead due to the fact that<br>         there will be fragmentation in the allocator and that threads<br>         will keep a portion of memory as thread-local to avoid<br>         contention when possible.<br> - UnpooledHeap: Allocate memory from JVM heap without any pooling.<br>         This option has the least overhead in terms of memory usage<br>         since the memory will be automatically reclaimed by the<br>         JVM GC but might impose a performance penalty at high<br>         throughput.<br></td><td>PooledDirect</td></tr><tr><td>allocatorPoolingConcurrency</td><td>Controls the amount of concurrency for the memory pool.<br>Default is to have a number of allocator arenas equals to 2 * CPUS.<br>Decreasing this number will reduce the amount of memory overhead, at the<br>expense of increased allocation contention.<br></td><td>2 * CPUS</td></tr><tr><td>allocatorOutOfMemoryPolicy</td><td>Define the memory allocator out of memory policy.<br><br>Available options are:<br> - FallbackToHeap: If it&#x27;s not possible to allocate a buffer from direct memory,<br>          fallback to allocate an unpooled buffer from JVM heap.<br>          This will help absorb memory allocation spikes because the heap<br>          allocations will naturally slow down the process and will result<br>          if full GC cleanup if the Heap itself is full.<br> - ThrowException: Throw regular OOM exception without taking addition actions.<br></td><td>FallbackToHeap</td></tr><tr><td>allocatorLeakDetectionPolicy</td><td>Define the memory allocator leak detection policy.<br><br>Available options are:<br> - Disabled: No leak detection and no overhead.<br> - Simple: Instruments 1% of the allocated buffer to track for leaks.<br> - Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting<br>       stack traces of places where the buffer was used.<br> - Paranoid: Instruments 100% of the allocated buffer to track for leaks, reporting<br>       stack traces of places where the buffer was used. Introduce very<br>       significant overhead.<br></td><td>Disabled</td></tr></tbody></table></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/4.12.1/development/protocol"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">The BookKeeper protocol</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/4.12.1/reference/cli"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">BookKeeper CLI tool reference</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#server-parameters" class="table-of-contents__link toc-highlight">Server parameters</a></li><li><a href="#worker-thread-settings" class="table-of-contents__link toc-highlight">Worker thread settings</a></li><li><a href="#long-poll-settings" class="table-of-contents__link toc-highlight">Long poll settings</a></li><li><a href="#read-only-mode-support" class="table-of-contents__link toc-highlight">Read-only mode support</a></li><li><a href="#netty-server-settings" class="table-of-contents__link toc-highlight">Netty server settings</a></li><li><a href="#http-server-settings" class="table-of-contents__link toc-highlight">Http server settings</a></li><li><a href="#security-settings" class="table-of-contents__link toc-highlight">Security settings</a></li><li><a href="#tls-settings" class="table-of-contents__link toc-highlight">TLS settings</a></li><li><a href="#journal-settings" class="table-of-contents__link toc-highlight">Journal settings</a></li><li><a href="#ledger-storage-settings" class="table-of-contents__link toc-highlight">Ledger storage settings</a></li><li><a href="#entry-log-settings" class="table-of-contents__link toc-highlight">Entry log settings</a></li><li><a href="#entry-log-compaction-settings" class="table-of-contents__link toc-highlight">Entry log compaction settings</a></li><li><a href="#garbage-collection-settings" class="table-of-contents__link toc-highlight">Garbage collection settings</a></li><li><a href="#disk-utilization" class="table-of-contents__link toc-highlight">Disk utilization</a></li><li><a href="#sorted-ledger-storage-settings" class="table-of-contents__link toc-highlight">Sorted Ledger Storage Settings</a></li><li><a href="#db-ledger-storage-settings" class="table-of-contents__link toc-highlight">DB Ledger Storage Settings</a></li><li><a href="#metadata-service-settings" class="table-of-contents__link toc-highlight">Metadata Service Settings</a></li><li><a href="#zookeeper-metadata-service-settings" class="table-of-contents__link toc-highlight">ZooKeeper Metadata Service Settings</a></li><li><a href="#statistics" class="table-of-contents__link toc-highlight">Statistics</a></li><li><a href="#prometheus-metrics-provider-settings" class="table-of-contents__link toc-highlight">Prometheus Metrics Provider Settings</a></li><li><a href="#codahale-metrics-provider-settings" class="table-of-contents__link toc-highlight">Codahale Metrics Provider Settings</a></li><li><a href="#autorecovery-general-settings" class="table-of-contents__link toc-highlight">AutoRecovery general settings</a></li><li><a href="#autorecovery-placement-settings" class="table-of-contents__link toc-highlight">AutoRecovery placement settings</a></li><li><a href="#autorecovery-auditor-settings" class="table-of-contents__link toc-highlight">AutoRecovery auditor settings</a></li><li><a href="#autorecovery-replication-worker-settings" class="table-of-contents__link toc-highlight">AutoRecovery replication worker settings</a></li><li><a href="#memory-allocator-settings" class="table-of-contents__link toc-highlight">Memory allocator settings</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Documentation</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/overview">Overview</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/getting-started/installation">Getting started</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/deployment/manual">Deployment</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/admin/bookies">Administration</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/api/overview">API</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/security/overview">Security</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/development/protocol">Development</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/reference/config">Reference</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/community/mailing-lists">Mailing lists</a></li><li class="footer__item"><a class="footer__link-item" href="/community/slack">Slack</a></li><li class="footer__item"><a href="https://github.com/apache/bookkeeper" target="_blank" rel="noopener noreferrer" class="footer__link-item">Github<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/asfbookkeeper" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">Project</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/project/who">Who are we?</a></li><li class="footer__item"><a class="footer__link-item" href="/project/bylaws">Bylaws</a></li><li class="footer__item"><a href="https://apache.org/licenses" target="_blank" rel="noopener noreferrer" class="footer__link-item">License<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/project/privacy">Privacy policy</a></li><li class="footer__item"><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Sponsorship<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Thanks<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright"><footer class="footer">
        <div class="container">
          <div class="content has-text-centered">
            <p>
              Copyright &copy; 2016 - 2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
            </p>
            <p>
              Apache BookKeeper, BookKeeper®, Apache®, the Apache feature logo, and the Apache BookKeeper logo are either registered trademarks or trademarks of The Apache Software Foundation.
            </p>
          </div>
        </div>
      </footer>
      </div></div></div></footer></div>
<script src="/assets/js/runtime~main.42cf7c0d.js"></script>
<script src="/assets/js/main.3c90c5ad.js"></script>
</body>
</html>