You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by gi...@apache.org on 2019/01/08 20:54:47 UTC

[bookkeeper] branch asf-site updated: Updated site at revision 1a66de0

This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new de56e17  Updated site at revision 1a66de0
de56e17 is described below

commit de56e17eae037aae18c8e10e8015c646981c23d2
Author: jenkins <bu...@apache.org>
AuthorDate: Tue Jan 8 20:54:44 2019 +0000

    Updated site at revision 1a66de0
---
 content/docs/4.5.0/reference/config/index.html     |  86 ++++-
 content/docs/4.5.1/reference/config/index.html     |  86 ++++-
 content/docs/4.6.0/reference/config/index.html     |  86 ++++-
 content/docs/4.6.1/reference/config/index.html     |  86 ++++-
 content/docs/4.6.2/reference/config/index.html     |  86 ++++-
 content/docs/4.7.0/reference/config/index.html     |  86 ++++-
 content/docs/4.7.1/reference/config/index.html     |  86 ++++-
 content/docs/4.7.2/reference/config/index.html     |  86 ++++-
 content/docs/4.7.3/reference/config/index.html     |  86 ++++-
 content/docs/4.8.0/reference/config/index.html     |  86 ++++-
 content/docs/4.8.1/reference/config/index.html     |  86 ++++-
 .../docs/latest/api/javadoc/constant-values.html   |  28 ++
 .../docs/latest/api/javadoc/deprecated-list.html   |  12 +-
 content/docs/latest/api/javadoc/index-all.html     |  60 +++-
 .../bookkeeper/client/BookKeeper.Builder.html      |  69 +++-
 .../org/apache/bookkeeper/client/BookKeeper.html   |  31 +-
 .../apache/bookkeeper/client/ClientContext.html    |  27 +-
 .../bookkeeper/client/api/BookKeeperBuilder.html   |  36 +-
 .../client/api/class-use/BookKeeperBuilder.html    |  28 +-
 .../bookkeeper/client/class-use/BKException.html   |   3 +-
 .../client/class-use/BookKeeper.Builder.html       |  24 +-
 .../client/impl/BookKeeperBuilderImpl.html         |  37 ++-
 .../bookkeeper/conf/AbstractConfiguration.html     | 370 +++++++++++++++++----
 .../bookkeeper/conf/ClientConfiguration.html       |  19 +-
 .../bookkeeper/conf/ServerConfiguration.html       |   4 +-
 .../conf/class-use/ClientConfiguration.html        |   7 +-
 .../feature/class-use/FeatureProvider.html         |   3 +-
 .../bookkeeper/stats/class-use/StatsLogger.html    |   3 +-
 content/docs/latest/reference/config/index.html    |  86 ++++-
 29 files changed, 1620 insertions(+), 173 deletions(-)

diff --git a/content/docs/4.5.0/reference/config/index.html b/content/docs/4.5.0/reference/config/index.html
index 36e75b5..48b3579 100644
--- a/content/docs/4.5.0/reference/config/index.html
+++ b/content/docs/4.5.0/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/4.5.1/reference/config/index.html b/content/docs/4.5.1/reference/config/index.html
index 88130fb..aeeb3ff 100644
--- a/content/docs/4.5.1/reference/config/index.html
+++ b/content/docs/4.5.1/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/4.6.0/reference/config/index.html b/content/docs/4.6.0/reference/config/index.html
index 8769a60..bb6d5a7 100644
--- a/content/docs/4.6.0/reference/config/index.html
+++ b/content/docs/4.6.0/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/4.6.1/reference/config/index.html b/content/docs/4.6.1/reference/config/index.html
index 04ab05d..69ddd89 100644
--- a/content/docs/4.6.1/reference/config/index.html
+++ b/content/docs/4.6.1/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/4.6.2/reference/config/index.html b/content/docs/4.6.2/reference/config/index.html
index d14620f..e513b99 100644
--- a/content/docs/4.6.2/reference/config/index.html
+++ b/content/docs/4.6.2/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/4.7.0/reference/config/index.html b/content/docs/4.7.0/reference/config/index.html
index a77ca9b..49aa09c 100644
--- a/content/docs/4.7.0/reference/config/index.html
+++ b/content/docs/4.7.0/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/4.7.1/reference/config/index.html b/content/docs/4.7.1/reference/config/index.html
index cadf5a7..9ca53b0 100644
--- a/content/docs/4.7.1/reference/config/index.html
+++ b/content/docs/4.7.1/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/4.7.2/reference/config/index.html b/content/docs/4.7.2/reference/config/index.html
index 15ff4b4..5fa5ca5 100644
--- a/content/docs/4.7.2/reference/config/index.html
+++ b/content/docs/4.7.2/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/4.7.3/reference/config/index.html b/content/docs/4.7.3/reference/config/index.html
index 47f1e29..5c33b57 100644
--- a/content/docs/4.7.3/reference/config/index.html
+++ b/content/docs/4.7.3/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/4.8.0/reference/config/index.html b/content/docs/4.8.0/reference/config/index.html
index dac55b2..df9b6aa 100644
--- a/content/docs/4.8.0/reference/config/index.html
+++ b/content/docs/4.8.0/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/4.8.1/reference/config/index.html b/content/docs/4.8.1/reference/config/index.html
index a24e7da..fa56ca9 100644
--- a/content/docs/4.8.1/reference/config/index.html
+++ b/content/docs/4.8.1/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/latest/api/javadoc/constant-values.html b/content/docs/latest/api/javadoc/constant-values.html
index f3351f8..e41f87c 100644
--- a/content/docs/latest/api/javadoc/constant-values.html
+++ b/content/docs/latest/api/javadoc/constant-values.html
@@ -975,6 +975,34 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.ALLOCATOR_LEAK_DETECTION_POLICY">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_LEAK_DETECTION_POLICY">ALLOCATOR_LEAK_DETECTION_POLICY</a></code></td>
+<td class="colLast"><code>"allocatorLeakDetectionPolicy"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.ALLOCATOR_OOM_POLICY">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_OOM_POLICY">ALLOCATOR_OOM_POLICY</a></code></td>
+<td class="colLast"><code>"allocatorOutOfMemoryPolicy"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.ALLOCATOR_POOLING_CONCURRENCY">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_POOLING_CONCURRENCY">ALLOCATOR_POOLING_CONCURRENCY</a></code></td>
+<td class="colLast"><code>"allocatorPoolingConcurrency"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.ALLOCATOR_POOLING_POLICY">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_POOLING_POLICY">ALLOCATOR_POOLING_POLICY</a></code></td>
+<td class="colLast"><code>"allocatorPoolingPolicy"</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.ALLOW_SHADED_LEDGER_MANAGER_FACTORY_CLASS">
 <!--   -->
 </a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
diff --git a/content/docs/latest/api/javadoc/deprecated-list.html b/content/docs/latest/api/javadoc/deprecated-list.html
index 79ea445..5fe35c8 100644
--- a/content/docs/latest/api/javadoc/deprecated-list.html
+++ b/content/docs/latest/api/javadoc/deprecated-list.html
@@ -207,15 +207,25 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="org/apache/bookkeeper/conf/ClientConfiguration.html#isNettyUsePooledBuffers--">org.apache.bookkeeper.conf.ClientConfiguration.isNettyUsePooledBuffers()</a>
+<div class="block"><span class="deprecationComment">see <a href="org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-"><code>BookKeeperBuilder.allocator(io.netty.buffer.ByteBufAllocator)</code></a></span></div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/bookkeeper/client/BookKeeper.Builder.html#setEventLoopGroup-io.netty.channel.EventLoopGroup-">org.apache.bookkeeper.client.BookKeeper.Builder.setEventLoopGroup(EventLoopGroup)</a>
 <div class="block"><span class="deprecationComment">since 4.5, use <a href="org/apache/bookkeeper/client/BookKeeper.Builder.html#eventLoopGroup-io.netty.channel.EventLoopGroup-"><code>BookKeeper.Builder.eventLoopGroup(EventLoopGroup)</code></a></span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#setLedgerManagerType-java.lang.String-">org.apache.bookkeeper.conf.AbstractConfiguration.setLedgerManagerType(String)</a>
 <div class="block"><span class="deprecationComment">replaced by <a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#setLedgerManagerFactoryClass-java.lang.Class-"><code>AbstractConfiguration.setLedgerManagerFactoryClass(java.lang.Class&lt;? extends org.apache.bookkeeper.meta.LedgerManagerFactory&gt;)</code></a></span></div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/bookkeeper/conf/ClientConfiguration.html#setNettyUsePooledBuffers-boolean-">org.apache.bookkeeper.conf.ClientConfiguration.setNettyUsePooledBuffers(boolean)</a>
+<div class="block"><span class="deprecationComment">see <a href="org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-"><code>BookKeeperBuilder.allocator(io.netty.buffer.ByteBufAllocator)</code></a></span></div>
+</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><a href="org/apache/bookkeeper/conf/ClientConfiguration.html#setPCBCTimeoutTimerNumTicks-int-">org.apache.bookkeeper.conf.ClientConfiguration.setPCBCTimeoutTimerNumTicks(int)</a></td>
 </tr>
diff --git a/content/docs/latest/api/javadoc/index-all.html b/content/docs/latest/api/javadoc/index-all.html
index ce394d7..05ad9cc 100644
--- a/content/docs/latest/api/javadoc/index-all.html
+++ b/content/docs/latest/api/javadoc/index-all.html
@@ -227,6 +227,26 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.RackOrRegionDurabilityCoverageSet.html#allocationToRacksOrRegions">allocationToRacksOrRegions</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.RackOrRegionDurabilityCoverageSet.html" title="class in org.apache.bookkeeper.client">Topol [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-">allocator(ByteBufAllocator)</a></span> - Method in interface org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></dt>
+<dd>
+<div class="block">Configure the bookkeeper client with a provided <code>ByteBufAllocator</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeper.Builder.html#allocator">allocator</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeper.Builder.html#allocator-io.netty.buffer.ByteBufAllocator-">allocator(ByteBufAllocator)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></dt>
+<dd>
+<div class="block">Configure the bookkeeper client with a provided <code>ByteBufAllocator</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#allocator-io.netty.buffer.ByteBufAllocator-">allocator(ByteBufAllocator)</a></span> - Method in class org.apache.bookkeeper.client.impl.<a href="org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html" title="class in org.apache.bookkeeper.client.impl">BookKeeperBuilderImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_LEAK_DETECTION_POLICY">ALLOCATOR_LEAK_DETECTION_POLICY</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_OOM_POLICY">ALLOCATOR_OOM_POLICY</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_POOLING_CONCURRENCY">ALLOCATOR_POOLING_CONCURRENCY</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_POOLING_POLICY">ALLOCATOR_POOLING_POLICY</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#ALLOW_EPHEMERAL_PORTS">ALLOW_EPHEMERAL_PORTS</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#ALLOW_LOOPBACK">ALLOW_LOOPBACK</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
@@ -913,7 +933,7 @@
 <div class="block">Create a bookkeeper client but use the passed in zookeeper client and
  client event loop group instead of instantiating those.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper(ClientConfiguration, ZooKeeper, EventLoopGroup, StatsLogger, DNSToSwitchMapping, HashedWheelTimer, FeaturePro [...]
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-io.netty.buffer.ByteBufAllocator-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper(ClientConfiguration, ZooKeeper, EventLoopGroup, ByteBufAllocator, StatsLogge [...]
 <dd>
 <div class="block">Constructor for use with the builder.</div>
 </dd>
@@ -2281,6 +2301,16 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerMetadataImpl.html#getAllEnsembles--">getAllEnsembles()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerMetadataImpl.html" title="class in org.apache.bookkeeper.client">LedgerMetadataImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorLeakDetectionPolicy--">getAllocatorLeakDetectionPolicy()</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>
+<div class="block">Return the configured leak detection policy for the allocator.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorOutOfMemoryPolicy--">getAllocatorOutOfMemoryPolicy()</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorPoolingConcurrency--">getAllocatorPoolingConcurrency()</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorPoolingPolicy--">getAllocatorPoolingPolicy()</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#getAllowEphemeralPorts--">getAllowEphemeralPorts()</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
 <dd>
 <div class="block">Is the bookie allowed to use an ephemeral port (port 0) as its server port.</div>
@@ -2404,6 +2434,8 @@
 <dd>
 <div class="block">Returns the average value of a given bucket (the mean between its lower and upper bound).</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ClientContext.html#getByteBufAllocator--">getByteBufAllocator()</a></span> - Method in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ClientContext.html" title="interface in org.apache.bookkeeper.client">ClientContext</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/UncheckedConfigurationException.html#getCause--">getCause()</a></span> - Method in exception org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/UncheckedConfigurationException.html" title="class in org.apache.bookkeeper.conf">UncheckedConfigurationException</a></dt>
 <dd>
 <div class="block">Returns the cause of this exception.</div>
@@ -4318,7 +4350,9 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ClientConfiguration.html#isNettyUsePooledBuffers--">isNettyUsePooledBuffers()</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a></dt>
 <dd>
-<div class="block">Option to use Netty Pooled ByteBufs.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">see <a href="org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-"><code>BookKeeperBuilder.allocator(io.netty.buffer.ByteBufAllocator)</code></a></span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#isPersistBookieStatusEnabled--">isPersistBookieStatusEnabled()</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
 <dd>
@@ -4796,8 +4830,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#LOCK_RELEASE_OF_FAILED_LEDGER_GRACE_PERIOD">LOCK_RELEASE_OF_FAILED_LEDGER_GRACE_PERIOD</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeper.html#LOG">LOG</a></span> - Static variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#LOG">LOG</a></span> - Static variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">DefaultEnsemblePlacementPolicy</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#LOG">LOG</a></span> - Static variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" title="class in org.apache.bookkeeper.client">ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl</a></dt>
@@ -12636,6 +12668,22 @@
 <dd>
 <div class="block">Configure the bookie to advertise a specific address.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#setAllocatorLeakDetectionPolicy-org.apache.bookkeeper.common.allocator.LeakDetectionPolicy-">setAllocatorLeakDetectionPolicy(LeakDetectionPolicy)</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>
+<div class="block">Enable the leak detection for the allocator.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#setAllocatorOutOfMemoryPolicy-org.apache.bookkeeper.common.allocator.OutOfMemoryPolicy-">setAllocatorOutOfMemoryPolicy(OutOfMemoryPolicy)</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>
+<div class="block">Define the memory allocator out of memory policy.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#setAllocatorPoolingConcurrenncy-int-">setAllocatorPoolingConcurrenncy(int)</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>
+<div class="block">Controls the amount of concurrency for the memory pool.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#setAllocatorPoolingPolicy-org.apache.bookkeeper.common.allocator.PoolingPolicy-">setAllocatorPoolingPolicy(PoolingPolicy)</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
+<dd>
+<div class="block">Define the memory pooling policy.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#setAllowEphemeralPorts-boolean-">setAllowEphemeralPorts(boolean)</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
 <dd>
 <div class="block">Configure the bookie to allow using an ephemeral port.</div>
@@ -13188,7 +13236,9 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ClientConfiguration.html#setNettyUsePooledBuffers-boolean-">setNettyUsePooledBuffers(boolean)</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a></dt>
 <dd>
-<div class="block">Enable/Disable the usage of Pooled Netty buffers.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">see <a href="org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-"><code>BookKeeperBuilder.allocator(io.netty.buffer.ByteBufAllocator)</code></a></span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ClientConfiguration.html#setNetworkTopologyStabilizePeriodSeconds-int-">setNetworkTopologyStabilizePeriodSeconds(int)</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a></dt>
 <dd>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.Builder.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.Builder.html
index 723ed72..de986c7 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.Builder.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.Builder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":42,"i6":42,"i7":42,"i8":10,"i9":42};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":42,"i7":42,"i8":42,"i9":10,"i10":42};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -139,30 +139,34 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>(package private) io.netty.buffer.ByteBufAllocator</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#allocator">allocator</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#conf">conf</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) org.apache.bookkeeper.net.DNSToSwitchMapping</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#dnsResolver">dnsResolver</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) io.netty.channel.EventLoopGroup</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#eventLoopGroup">eventLoopGroup</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#featureProvider">featureProvider</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) io.netty.util.HashedWheelTimer</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#requestTimer">requestTimer</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#statsLogger">statsLogger</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) org.apache.zookeeper.ZooKeeper</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#zk">zk</a></span></code>&nbsp;</td>
 </tr>
@@ -199,34 +203,40 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#allocator-io.netty.buffer.ByteBufAllocator-">allocator</a></span>(io.netty.buffer.ByteBufAllocator&nbsp;allocator)</code>
+<div class="block">Configure the bookkeeper client with a provided <code>ByteBufAllocator</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#build--">build</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#dnsResolver-org.apache.bookkeeper.net.DNSToSwitchMapping-">dnsResolver</a></span>(org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver)</code>
 <div class="block">Configure the bookkeeper client to use the provided dns resolver <code>DNSToSwitchMapping</code>.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#eventLoopGroup-io.netty.channel.EventLoopGroup-">eventLoopGroup</a></span>(io.netty.channel.EventLoopGroup&nbsp;f)</code>
 <div class="block">Configure the bookkeeper client with a provided <code>EventLoopGroup</code>.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#featureProvider-org.apache.bookkeeper.feature.FeatureProvider-">featureProvider</a></span>(<a href="../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider)</code>
 <div class="block">Feature Provider.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#requestTimer-io.netty.util.HashedWheelTimer-">requestTimer</a></span>(io.netty.util.HashedWheelTimer&nbsp;requestTimer)</code>
 <div class="block">Configure the bookkeeper client to use a provided <code>HashedWheelTimer</code>.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#setEventLoopGroup-io.netty.channel.EventLoopGroup-">setEventLoopGroup</a></span>(io.netty.channel.EventLoopGroup&nbsp;f)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -234,7 +244,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#setStatsLogger-org.apache.bookkeeper.stats.StatsLogger-">setStatsLogger</a></span>(<a href="../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -242,7 +252,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#setZookeeper-org.apache.zookeeper.ZooKeeper-">setZookeeper</a></span>(org.apache.zookeeper.ZooKeeper&nbsp;zk)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -250,13 +260,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#statsLogger-org.apache.bookkeeper.stats.StatsLogger-">statsLogger</a></span>(<a href="../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>
 <div class="block">Configure the bookkeeper client with a provided <a href="../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats"><code>StatsLogger</code></a>.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#zk-org.apache.zookeeper.ZooKeeper-">zk</a></span>(org.apache.zookeeper.ZooKeeper&nbsp;zk)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -311,6 +321,15 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <pre>io.netty.channel.EventLoopGroup eventLoopGroup</pre>
 </li>
 </ul>
+<a name="allocator">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>allocator</h4>
+<pre>io.netty.buffer.ByteBufAllocator allocator</pre>
+</li>
+</ul>
 <a name="statsLogger">
 <!--   -->
 </a>
@@ -451,6 +470,24 @@ public&nbsp;<a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder
 </dl>
 </li>
 </ul>
+<a name="allocator-io.netty.buffer.ByteBufAllocator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>allocator</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a>&nbsp;allocator(io.netty.buffer.ByteBufAllocator&nbsp;allocator)</pre>
+<div class="block">Configure the bookkeeper client with a provided <code>ByteBufAllocator</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>allocator</code> - an external <code>ByteBufAllocator</code> to use by the bookkeeper client.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>client builder.</dd>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>4.9</dd>
+</dl>
+</li>
+</ul>
 <a name="zk-org.apache.zookeeper.ZooKeeper-">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.html
index daa7fdb..47f4702 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.html
@@ -223,34 +223,30 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/BookKeeper.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#ledgerManagerFactory">ledgerManagerFactory</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>(package private) static org.slf4j.Logger</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#LOG">LOG</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>(package private) org.apache.bookkeeper.common.util.OrderedExecutor</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#mainWorkerPool">mainWorkerPool</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) org.apache.bookkeeper.meta.MetadataClientDriver</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#metadataDriver">metadataDriver</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#ownEventLoopGroup">ownEventLoopGroup</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#ownTimer">ownTimer</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#placementPolicy">placementPolicy</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) io.netty.util.HashedWheelTimer</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#requestTimer">requestTimer</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) org.apache.bookkeeper.common.util.OrderedScheduler</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#scheduler">scheduler</a></span></code>&nbsp;</td>
 </tr>
@@ -294,9 +290,10 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/BookKeeper.html
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper</a></span>(<a href="../../../../org/apache/bookkeeper/conf/ClientConfigurati [...]
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-io.netty.buffer.ByteBufAllocator-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper</a></span>(<a href="../../../../org/apache/ [...]
           org.apache.zookeeper.ZooKeeper&nbsp;zkc,
           io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
+          io.netty.buffer.ByteBufAllocator&nbsp;byteBufAllocator,
           <a href="../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;rootStatsLogger,
           org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;requestTimer,
@@ -657,15 +654,6 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/BookKeeper.html
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="LOG">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>LOG</h4>
-<pre>static final&nbsp;org.slf4j.Logger LOG</pre>
-</li>
-</ul>
 <a name="eventLoopGroup">
 <!--   -->
 </a>
@@ -957,7 +945,7 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/BookKeeper.html
 </dl>
 </li>
 </ul>
-<a name="BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">
+<a name="BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-io.netty.buffer.ByteBufAllocator-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -966,6 +954,7 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/BookKeeper.html
 <pre>BookKeeper(<a href="../../../../org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a>&nbsp;conf,
            org.apache.zookeeper.ZooKeeper&nbsp;zkc,
            io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
+           io.netty.buffer.ByteBufAllocator&nbsp;byteBufAllocator,
            <a href="../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;rootStatsLogger,
            org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver,
            io.netty.util.HashedWheelTimer&nbsp;requestTimer,
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ClientContext.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ClientContext.html
index 9b9830c..4f50f21 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ClientContext.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ClientContext.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -133,30 +133,34 @@ var activeTableTab = "activeTableTab";
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ClientContext.html#getBookieWatcher--">getBookieWatcher</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>io.netty.buffer.ByteBufAllocator</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ClientContext.html#getByteBufAllocator--">getByteBufAllocator</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client">BookKeeperClientStats</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ClientContext.html#getClientStats--">getClientStats</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/ClientInternalConf.html" title="class in org.apache.bookkeeper.client">ClientInternalConf</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ClientContext.html#getConf--">getConf</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>org.apache.bookkeeper.meta.LedgerManager</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ClientContext.html#getLedgerManager--">getLedgerManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>org.apache.bookkeeper.common.util.OrderedExecutor</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ClientContext.html#getMainWorkerPool--">getMainWorkerPool</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ClientContext.html#getPlacementPolicy--">getPlacementPolicy</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>org.apache.bookkeeper.common.util.OrderedScheduler</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ClientContext.html#getScheduler--">getScheduler</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ClientContext.html#isClientClosed--">isClientClosed</a></span>()</code>&nbsp;</td>
 </tr>
@@ -220,6 +224,15 @@ var activeTableTab = "activeTableTab";
 <pre>org.apache.bookkeeper.proto.BookieClient&nbsp;getBookieClient()</pre>
 </li>
 </ul>
+<a name="getByteBufAllocator--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getByteBufAllocator</h4>
+<pre>io.netty.buffer.ByteBufAllocator&nbsp;getByteBufAllocator()</pre>
+</li>
+</ul>
 <a name="getMainWorkerPool--">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/BookKeeperBuilder.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/BookKeeperBuilder.html
index edc2f65..b29f3c8 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/BookKeeperBuilder.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/BookKeeperBuilder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -132,36 +132,42 @@ public interface <span class="typeNameLabel">BookKeeperBuilder</span></pre>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-">allocator</a></span>(io.netty.buffer.ByteBufAllocator&nbsp;allocator)</code>
+<div class="block">Configure the bookkeeper client with a provided <code>ByteBufAllocator</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeper.html" title="interface in org.apache.bookkeeper.client.api">BookKeeper</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#build--">build</a></span>()</code>
 <div class="block">Start and initialize a new BookKeeper client.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#dnsResolver-org.apache.bookkeeper.net.DNSToSwitchMapping-">dnsResolver</a></span>(org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver)</code>
 <div class="block">Configure the bookkeeper client to use the provided dns resolver <code>DNSToSwitchMapping</code>.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#eventLoopGroup-io.netty.channel.EventLoopGroup-">eventLoopGroup</a></span>(io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup)</code>
 <div class="block">Configure the bookkeeper client with a provided Netty EventLoopGroup.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#featureProvider-org.apache.bookkeeper.feature.FeatureProvider-">featureProvider</a></span>(<a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider)</code>
 <div class="block">Configure the bookkeeper client to use a provided <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature"><code>FeatureProvider</code></a>.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#requestTimer-io.netty.util.HashedWheelTimer-">requestTimer</a></span>(io.netty.util.HashedWheelTimer&nbsp;requestTimer)</code>
 <div class="block">Configure the bookkeeper client to use a provided Netty HashedWheelTimer.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#statsLogger-org.apache.bookkeeper.stats.StatsLogger-">statsLogger</a></span>(<a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>
 <div class="block">Configure the bookkeeper client with a provided <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats"><code>StatsLogger</code></a>.</div>
@@ -198,6 +204,24 @@ public interface <span class="typeNameLabel">BookKeeperBuilder</span></pre>
 </dl>
 </li>
 </ul>
+<a name="allocator-io.netty.buffer.ByteBufAllocator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>allocator</h4>
+<pre><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a>&nbsp;allocator(io.netty.buffer.ByteBufAllocator&nbsp;allocator)</pre>
+<div class="block">Configure the bookkeeper client with a provided <code>ByteBufAllocator</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>allocator</code> - an external <code>ByteBufAllocator</code> to use by the bookkeeper client.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>client builder.</dd>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>4.9</dd>
+</dl>
+</li>
+</ul>
 <a name="statsLogger-org.apache.bookkeeper.stats.StatsLogger-">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/class-use/BookKeeperBuilder.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/class-use/BookKeeperBuilder.html
index 2038559..8a87a80 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/class-use/BookKeeperBuilder.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/class-use/BookKeeperBuilder.html
@@ -112,35 +112,41 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BookKeeperBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-">allocator</a></span>(io.netty.buffer.ByteBufAllocator&nbsp;allocator)</code>
+<div class="block">Configure the bookkeeper client with a provided <code>ByteBufAllocator</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeperBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#dnsResolver-org.apache.bookkeeper.net.DNSToSwitchMapping-">dnsResolver</a></span>(org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver)</code>
 <div class="block">Configure the bookkeeper client to use the provided dns resolver <code>DNSToSwitchMapping</code>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeperBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#eventLoopGroup-io.netty.channel.EventLoopGroup-">eventLoopGroup</a></span>(io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup)</code>
 <div class="block">Configure the bookkeeper client with a provided Netty EventLoopGroup.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeperBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#featureProvider-org.apache.bookkeeper.feature.FeatureProvider-">featureProvider</a></span>(<a href="../../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider)</code>
 <div class="block">Configure the bookkeeper client to use a provided <a href="../../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature"><code>FeatureProvider</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeper.html#newBuilder-org.apache.bookkeeper.conf.ClientConfiguration-">newBuilder</a></span>(<a href="../../../../../../org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a>&nbsp;clientConfiguration)</code>
 <div class="block">Create a new builder which can be used to boot a new BookKeeper client.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeperBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#requestTimer-io.netty.util.HashedWheelTimer-">requestTimer</a></span>(io.netty.util.HashedWheelTimer&nbsp;requestTimer)</code>
 <div class="block">Configure the bookkeeper client to use a provided Netty HashedWheelTimer.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeperBuilder.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#statsLogger-org.apache.bookkeeper.stats.StatsLogger-">statsLogger</a></span>(<a href="../../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>
 <div class="block">Configure the bookkeeper client with a provided <a href="../../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats"><code>StatsLogger</code></a>.</div>
@@ -177,22 +183,26 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BookKeeperBuilderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#dnsResolver-org.apache.bookkeeper.net.DNSToSwitchMapping-">dnsResolver</a></span>(org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">BookKeeperBuilderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#allocator-io.netty.buffer.ByteBufAllocator-">allocator</a></span>(io.netty.buffer.ByteBufAllocator&nbsp;allocator)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BookKeeperBuilderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#eventLoopGroup-io.netty.channel.EventLoopGroup-">eventLoopGroup</a></span>(io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">BookKeeperBuilderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#dnsResolver-org.apache.bookkeeper.net.DNSToSwitchMapping-">dnsResolver</a></span>(org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BookKeeperBuilderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#featureProvider-org.apache.bookkeeper.feature.FeatureProvider-">featureProvider</a></span>(<a href="../../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">BookKeeperBuilderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#eventLoopGroup-io.netty.channel.EventLoopGroup-">eventLoopGroup</a></span>(io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BookKeeperBuilderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#requestTimer-io.netty.util.HashedWheelTimer-">requestTimer</a></span>(io.netty.util.HashedWheelTimer&nbsp;requeestTimer)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">BookKeeperBuilderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#featureProvider-org.apache.bookkeeper.feature.FeatureProvider-">featureProvider</a></span>(<a href="../../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BookKeeperBuilderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#requestTimer-io.netty.util.HashedWheelTimer-">requestTimer</a></span>(io.netty.util.HashedWheelTimer&nbsp;requeestTimer)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeperBuilderImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#statsLogger-org.apache.bookkeeper.stats.StatsLogger-">statsLogger</a></span>(<a href="../../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
 </tr>
 </tbody>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html
index d4ba4d7..f5281d7 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html
@@ -710,9 +710,10 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/ClientConf [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-io.netty.buffer.ByteBufAllocator-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper</a></span>(<a href="../../../../../org/ [...]
           org.apache.zookeeper.ZooKeeper&nbsp;zkc,
           io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
+          io.netty.buffer.ByteBufAllocator&nbsp;byteBufAllocator,
           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;rootStatsLogger,
           org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;requestTimer,
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookKeeper.Builder.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookKeeper.Builder.html
index 10c2d14..ce2d104 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookKeeper.Builder.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookKeeper.Builder.html
@@ -106,33 +106,39 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#allocator-io.netty.buffer.ByteBufAllocator-">allocator</a></span>(io.netty.buffer.ByteBufAllocator&nbsp;allocator)</code>
+<div class="block">Configure the bookkeeper client with a provided <code>ByteBufAllocator</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#dnsResolver-org.apache.bookkeeper.net.DNSToSwitchMapping-">dnsResolver</a></span>(org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver)</code>
 <div class="block">Configure the bookkeeper client to use the provided dns resolver <code>DNSToSwitchMapping</code>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#eventLoopGroup-io.netty.channel.EventLoopGroup-">eventLoopGroup</a></span>(io.netty.channel.EventLoopGroup&nbsp;f)</code>
 <div class="block">Configure the bookkeeper client with a provided <code>EventLoopGroup</code>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#featureProvider-org.apache.bookkeeper.feature.FeatureProvider-">featureProvider</a></span>(<a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider)</code>
 <div class="block">Feature Provider.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#forConfig-org.apache.bookkeeper.conf.ClientConfiguration-">forConfig</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a>&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#requestTimer-io.netty.util.HashedWheelTimer-">requestTimer</a></span>(io.netty.util.HashedWheelTimer&nbsp;requestTimer)</code>
 <div class="block">Configure the bookkeeper client to use a provided <code>HashedWheelTimer</code>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#setEventLoopGroup-io.netty.channel.EventLoopGroup-">setEventLoopGroup</a></span>(io.netty.channel.EventLoopGroup&nbsp;f)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -140,7 +146,7 @@
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#setStatsLogger-org.apache.bookkeeper.stats.StatsLogger-">setStatsLogger</a></span>(<a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -148,7 +154,7 @@
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#setZookeeper-org.apache.zookeeper.ZooKeeper-">setZookeeper</a></span>(org.apache.zookeeper.ZooKeeper&nbsp;zk)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -156,13 +162,13 @@
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#statsLogger-org.apache.bookkeeper.stats.StatsLogger-">statsLogger</a></span>(<a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>
 <div class="block">Configure the bookkeeper client with a provided <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats"><code>StatsLogger</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#zk-org.apache.zookeeper.ZooKeeper-">zk</a></span>(org.apache.zookeeper.ZooKeeper&nbsp;zk)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html
index d3d757a..1d39fda 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -157,36 +157,42 @@ implements <a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBu
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#allocator-io.netty.buffer.ByteBufAllocator-">allocator</a></span>(io.netty.buffer.ByteBufAllocator&nbsp;allocator)</code>
+<div class="block">Configure the bookkeeper client with a provided <code>ByteBufAllocator</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeper.html" title="interface in org.apache.bookkeeper.client.api">BookKeeper</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#build--">build</a></span>()</code>
 <div class="block">Start and initialize a new BookKeeper client.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#dnsResolver-org.apache.bookkeeper.net.DNSToSwitchMapping-">dnsResolver</a></span>(org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver)</code>
 <div class="block">Configure the bookkeeper client to use the provided dns resolver <code>DNSToSwitchMapping</code>.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#eventLoopGroup-io.netty.channel.EventLoopGroup-">eventLoopGroup</a></span>(io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup)</code>
 <div class="block">Configure the bookkeeper client with a provided Netty EventLoopGroup.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#featureProvider-org.apache.bookkeeper.feature.FeatureProvider-">featureProvider</a></span>(<a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider)</code>
 <div class="block">Configure the bookkeeper client to use a provided <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature"><code>FeatureProvider</code></a>.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#requestTimer-io.netty.util.HashedWheelTimer-">requestTimer</a></span>(io.netty.util.HashedWheelTimer&nbsp;requeestTimer)</code>
 <div class="block">Configure the bookkeeper client to use a provided Netty HashedWheelTimer.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html#statsLogger-org.apache.bookkeeper.stats.StatsLogger-">statsLogger</a></span>(<a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>
 <div class="block">Configure the bookkeeper client with a provided <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats"><code>StatsLogger</code></a>.</div>
@@ -250,6 +256,25 @@ implements <a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBu
 </dl>
 </li>
 </ul>
+<a name="allocator-io.netty.buffer.ByteBufAllocator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>allocator</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a>&nbsp;allocator(io.netty.buffer.ByteBufAllocator&nbsp;allocator)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-">BookKeeperBuilder</a></code></span></div>
+<div class="block">Configure the bookkeeper client with a provided <code>ByteBufAllocator</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-">allocator</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api">BookKeeperBuilder</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>allocator</code> - an external <code>ByteBufAllocator</code> to use by the bookkeeper client.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>client builder.</dd>
+</dl>
+</li>
+</ul>
 <a name="statsLogger-org.apache.bookkeeper.stats.StatsLogger-">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/AbstractConfiguration.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/AbstractConfiguration.html
index 78537ea..9337473 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/AbstractConfiguration.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/AbstractConfiguration.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":42,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":6,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":42,"i29":42,"i30":10,"i31":42,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":42,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i [...]
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":42,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":6,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":42,"i33":42,"i34":10,"i35":42,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i [...]
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -155,6 +155,22 @@ extends org.apache.commons.configuration.CompositeConfiguration</pre>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_LEAK_DETECTION_POLICY">ALLOCATOR_LEAK_DETECTION_POLICY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_OOM_POLICY">ALLOCATOR_OOM_POLICY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_POOLING_CONCURRENCY">ALLOCATOR_POOLING_CONCURRENCY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_POOLING_POLICY">ALLOCATOR_POOLING_POLICY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOW_SHADED_LEDGER_MANAGER_FACTORY_CLASS">ALLOW_SHADED_LEDGER_MANAGER_FACTORY_CLASS</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -379,53 +395,71 @@ extends org.apache.commons.configuration.CompositeConfiguration</pre>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.apache.bookkeeper.common.allocator.LeakDetectionPolicy</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorLeakDetectionPolicy--">getAllocatorLeakDetectionPolicy</a></span>()</code>
+<div class="block">Return the configured leak detection policy for the allocator.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>org.apache.bookkeeper.common.allocator.OutOfMemoryPolicy</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorOutOfMemoryPolicy--">getAllocatorOutOfMemoryPolicy</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorPoolingConcurrency--">getAllocatorPoolingConcurrency</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>org.apache.bookkeeper.common.allocator.PoolingPolicy</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorPoolingPolicy--">getAllocatorPoolingPolicy</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getClientAuthProviderFactoryClass--">getClientAuthProviderFactoryClass</a></span>()</code>
 <div class="block">Get the client authentication provider factory class name.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getEnforceMinNumRacksPerWriteQuorum--">getEnforceMinNumRacksPerWriteQuorum</a></span>()</code>
 <div class="block">Get the flag which enforces the minimum number of racks per write quorum.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.bookkeeper.util.EntryFormatter&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getEntryFormatterClass--">getEntryFormatterClass</a></span>()</code>
 <div class="block">Get entry formatter class.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/feature/Feature.html" title="interface in org.apache.bookkeeper.feature">Feature</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getFeature-java.lang.String-org.apache.bookkeeper.feature.Feature-">getFeature</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configProperty,
           <a href="../../../../org/apache/bookkeeper/feature/Feature.html" title="interface in org.apache.bookkeeper.feature">Feature</a>&nbsp;defaultValue)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.bookkeeper.util.LedgerIdFormatter&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getLedgerIdFormatterClass--">getLedgerIdFormatterClass</a></span>()</code>
 <div class="block">Get ledger id formatter class.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.bookkeeper.meta.LedgerManagerFactory&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getLedgerManagerFactoryClass--">getLedgerManagerFactoryClass</a></span>()</code>
 <div class="block">Get ledger manager factory class.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getLedgerManagerFactoryClassName--">getLedgerManagerFactoryClassName</a></span>()</code>
 <div class="block">Get Ledger Manager Factory Class Name.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getLedgerManagerLayoutStringFromFactoryClass--">getLedgerManagerLayoutStringFromFactoryClass</a></span>()</code>
 <div class="block">Get layout string ("null" if unconfigured).</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getLedgerManagerType--">getLedgerManagerType</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -433,135 +467,135 @@ extends org.apache.commons.configuration.CompositeConfiguration</pre>
 </div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getLimitStatsLogging--">getLimitStatsLogging</a></span>()</code>
 <div class="block">Return the flag indicating whether to limit stats logging.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getMetadataServiceUri--">getMetadataServiceUri</a></span>()</code>
 <div class="block">Get metadata service uri.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getMetadataServiceUriUnchecked--">getMetadataServiceUriUnchecked</a></span>()</code>
 <div class="block">Get metadata service uri.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getMetastoreImplClass--">getMetastoreImplClass</a></span>()</code>
 <div class="block">Get metastore implementation class.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getMetastoreMaxEntriesPerScan--">getMetastoreMaxEntriesPerScan</a></span>()</code>
 <div class="block">Get max entries per scan in metastore.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getMinNumRacksPerWriteQuorum--">getMinNumRacksPerWriteQuorum</a></span>()</code>
 <div class="block">Get the minimum number of racks per write quorum.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getNettyMaxFrameSizeBytes--">getNettyMaxFrameSizeBytes</a></span>()</code>
 <div class="block">Get the maximum netty frame size in bytes.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getPermittedStartupUsers--">getPermittedStartupUsers</a></span>()</code>
 <div class="block">Get array of users specified in this property.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getPreserveMdcForTaskExecution--">getPreserveMdcForTaskExecution</a></span>()</code>
 <div class="block">Whether to preserve MDC for tasks in Executor.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getRereplicationEntryBatchSize--">getRereplicationEntryBatchSize</a></span>()</code>
 <div class="block">Get the re-replication entry batch size.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getShadedLedgerManagerFactoryClassPrefix--">getShadedLedgerManagerFactoryClassPrefix</a></span>()</code>
 <div class="block">Get the class prefix of the shaded ledger manager factory class name allowed to be used for
  instantiating ledger manager factory.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getStoreSystemTimeAsLedgerUnderreplicatedMarkTime--">getStoreSystemTimeAsLedgerUnderreplicatedMarkTime</a></span>()</code>
 <div class="block">Return the flag that indicates whether auditor is using system time as
  underreplicated ledger mark time.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>protected abstract <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getThis--">getThis</a></span>()</code>
 <div class="block">Trickery to allow inheritance with fluent style.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getTLSClientAuthentication--">getTLSClientAuthentication</a></span>()</code>
 <div class="block">Whether the client will send an TLS certificate on TLS-handshake.</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getTLSEnabledCipherSuites--">getTLSEnabledCipherSuites</a></span>()</code>
 <div class="block">Get the list of enabled TLS cipher suites.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getTLSEnabledProtocols--">getTLSEnabledProtocols</a></span>()</code>
 <div class="block">Get the list of enabled TLS protocols.</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getTLSProvider--">getTLSProvider</a></span>()</code>
 <div class="block">Get TLS Provider (JDK or OpenSSL).</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getTLSProviderFactoryClass--">getTLSProviderFactoryClass</a></span>()</code>
 <div class="block">Get the security provider factory class name.</div>
 </td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getZkAvailableBookiesPath--">getZkAvailableBookiesPath</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getZkLedgersRootPath--">getZkLedgersRootPath</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getZkRequestRateLimit--">getZkRequestRateLimit</a></span>()</code>
 <div class="block">Get zookeeper access request rate limit.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getZkServers--">getZkServers</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -569,98 +603,122 @@ extends org.apache.commons.configuration.CompositeConfiguration</pre>
 </div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getZkTimeout--">getZkTimeout</a></span>()</code>
 <div class="block">Get zookeeper timeout.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#isBusyWaitEnabled--">isBusyWaitEnabled</a></span>()</code>
 <div class="block">Return whether the busy-wait is enabled for BookKeeper and Netty IO threads.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#isShadedLedgerManagerFactoryClassAllowed--">isShadedLedgerManagerFactoryClassAllowed</a></span>()</code>
 <div class="block">Is shaded ledger manager factory class name allowed to be used for
  instantiating ledger manager factory.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#isZkEnableSecurity--">isZkEnableSecurity</a></span>()</code>
 <div class="block">Are z-node created with strict ACLs.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#loadConf-org.apache.commons.configuration.CompositeConfiguration-">loadConf</a></span>(org.apache.commons.configuration.CompositeConfiguration&nbsp;baseConf)</code>
 <div class="block">You can load configuration from other configuration.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#loadConf-java.net.URL-">loadConf</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net">URL</a>&nbsp;confURL)</code>
 <div class="block">You can load configurations in precedence order.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i42" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setAllocatorLeakDetectionPolicy-org.apache.bookkeeper.common.allocator.LeakDetectionPolicy-">setAllocatorLeakDetectionPolicy</a></span>(org.apache.bookkeeper.common.allocator.LeakDetectionPolicy&nbsp;leakDetectionPolicy)</code>
+<div class="block">Enable the leak detection for the allocator.</div>
+</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setAllocatorOutOfMemoryPolicy-org.apache.bookkeeper.common.allocator.OutOfMemoryPolicy-">setAllocatorOutOfMemoryPolicy</a></span>(org.apache.bookkeeper.common.allocator.OutOfMemoryPolicy&nbsp;oomPolicy)</code>
+<div class="block">Define the memory allocator out of memory policy.</div>
+</td>
+</tr>
+<tr id="i44" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setAllocatorPoolingConcurrenncy-int-">setAllocatorPoolingConcurrenncy</a></span>(int&nbsp;concurrency)</code>
+<div class="block">Controls the amount of concurrency for the memory pool.</div>
+</td>
+</tr>
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setAllocatorPoolingPolicy-org.apache.bookkeeper.common.allocator.PoolingPolicy-">setAllocatorPoolingPolicy</a></span>(org.apache.bookkeeper.common.allocator.PoolingPolicy&nbsp;poolingPolicy)</code>
+<div class="block">Define the memory pooling policy.</div>
+</td>
+</tr>
+<tr id="i46" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setAllowShadedLedgerManagerFactoryClass-boolean-">setAllowShadedLedgerManagerFactoryClass</a></span>(boolean&nbsp;allowed)</code>
 <div class="block">Set the flag to allow using shaded ledger manager factory class for
  instantiating a ledger manager factory.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setBusyWaitEnabled-boolean-">setBusyWaitEnabled</a></span>(boolean&nbsp;busyWaitEanbled)</code>
 <div class="block">Option to enable busy-wait settings.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setClientAuthProviderFactoryClass-java.lang.String-">setClientAuthProviderFactoryClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;factoryClass)</code>
 <div class="block">Set the client authentication provider factory class name.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setEnforceMinNumRacksPerWriteQuorum-boolean-">setEnforceMinNumRacksPerWriteQuorum</a></span>(boolean&nbsp;enforceMinNumRacksPerWriteQuorum)</code>
 <div class="block">Set the flag to enforce minimum number of racks per write quorum.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setEntryFormatterClass-java.lang.Class-">setEntryFormatterClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.bookkeeper.util.EntryFormatter&gt;&nbsp;formatterClass)</code>
 <div class="block">Set entry formatter Class.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setFeature-java.lang.String-org.apache.bookkeeper.feature.Feature-">setFeature</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;configProperty,
           <a href="../../../../org/apache/bookkeeper/feature/Feature.html" title="interface in org.apache.bookkeeper.feature">Feature</a>&nbsp;feature)</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setLedgerIdFormatterClass-java.lang.Class-">setLedgerIdFormatterClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.bookkeeper.util.LedgerIdFormatter&gt;&nbsp;formatterClass)</code>
 <div class="block">Set Ledger id formatter Class.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setLedgerManagerFactoryClass-java.lang.Class-">setLedgerManagerFactoryClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.bookkeeper.meta.LedgerManagerFactory&gt;&nbsp;factoryClass)</code>
 <div class="block">Set Ledger Manager Factory Class.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setLedgerManagerFactoryClassName-java.lang.String-">setLedgerManagerFactoryClassName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;factoryClassName)</code>
 <div class="block">Set Ledger Manager Factory Class Name.</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setLedgerManagerType-java.lang.String-">setLedgerManagerType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lmType)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -668,129 +726,129 @@ extends org.apache.commons.configuration.CompositeConfiguration</pre>
 </div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setLimitStatsLogging-boolean-">setLimitStatsLogging</a></span>(boolean&nbsp;limitStatsLogging)</code>
 <div class="block">Sets flag to limit the stats logging.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setMetadataServiceUri-java.lang.String-">setMetadataServiceUri</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serviceUri)</code>
 <div class="block">Set the metadata service uri.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setMetastoreImplClass-java.lang.String-">setMetastoreImplClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metastoreImplClass)</code>
 <div class="block">Set metastore implementation class.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setMetastoreMaxEntriesPerScan-int-">setMetastoreMaxEntriesPerScan</a></span>(int&nbsp;maxEntries)</code>
 <div class="block">Set max entries per scan in metastore.</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setMinNumRacksPerWriteQuorum-int-">setMinNumRacksPerWriteQuorum</a></span>(int&nbsp;minNumRacksPerWriteQuorum)</code>
 <div class="block">Set the minimum number of racks per write quorum.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setNettyMaxFrameSizeBytes-int-">setNettyMaxFrameSizeBytes</a></span>(int&nbsp;maxSize)</code>
 <div class="block">Set the max number of bytes a single message can be that is read by the bookie.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setPermittedStartupUsers-java.lang.String-">setPermittedStartupUsers</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s)</code>
 <div class="block">Limit who can start the application to prevent future permission errors.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setPreserveMdcForTaskExecution-boolean-">setPreserveMdcForTaskExecution</a></span>(boolean&nbsp;enabled)</code>
 <div class="block">Whether to preserve MDC for tasks in Executor.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setRereplicationEntryBatchSize-long-">setRereplicationEntryBatchSize</a></span>(long&nbsp;rereplicationEntryBatchSize)</code>
 <div class="block">Set the max entries to keep in fragment for re-replication.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setShadedLedgerManagerFactoryClassPrefix-java.lang.String-">setShadedLedgerManagerFactoryClassPrefix</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classPrefix)</code>
 <div class="block">Set the class prefix of the shaded ledger manager factory class for
  instantiating a ledger manager factory.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setStoreSystemTimeAsLedgerUnderreplicatedMarkTime-boolean-">setStoreSystemTimeAsLedgerUnderreplicatedMarkTime</a></span>(boolean&nbsp;enabled)</code>
 <div class="block">Enable the Auditor to use system time as underreplicated ledger mark
  time.</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setTLSClientAuthentication-boolean-">setTLSClientAuthentication</a></span>(boolean&nbsp;enabled)</code>
 <div class="block">Specify whether the client will send an TLS certificate on TLS-handshake.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setTLSEnabledCipherSuites-java.lang.String-">setTLSEnabledCipherSuites</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;list)</code>
 <div class="block">Set the list of enabled TLS cipher suites.</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setTLSEnabledProtocols-java.lang.String-">setTLSEnabledProtocols</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;list)</code>
 <div class="block">Set the list of enabled TLS protocols.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setTLSProvider-java.lang.String-">setTLSProvider</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;provider)</code>
 <div class="block">Set TLS Provider (JDK or OpenSSL).</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setTLSProviderFactoryClass-java.lang.String-">setTLSProviderFactoryClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;factoryClass)</code>
 <div class="block">Set the client security provider factory class name.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setZkEnableSecurity-boolean-">setZkEnableSecurity</a></span>(boolean&nbsp;zkEnableSecurity)</code>
 <div class="block">Set the usage of ACLs of new z-nodes.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setZkLedgersRootPath-java.lang.String-">setZkLedgersRootPath</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;zkLedgersPath)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setZkRequestRateLimit-double-">setZkRequestRateLimit</a></span>(double&nbsp;rateLimit)</code>
 <div class="block">Set zookeeper access request rate limit.</div>
 </td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setZkServers-java.lang.String-">setZkServers</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;zkServers)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#setZkTimeout-int-">setZkTimeout</a></span>(int&nbsp;zkTimeout)</code>
 <div class="block">Set zookeeper timeout.</div>
@@ -1378,6 +1436,58 @@ extends org.apache.commons.configuration.CompositeConfiguration</pre>
 </dl>
 </li>
 </ul>
+<a name="ALLOCATOR_POOLING_POLICY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ALLOCATOR_POOLING_POLICY</h4>
+<pre>protected static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ALLOCATOR_POOLING_POLICY</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.bookkeeper.conf.AbstractConfiguration.ALLOCATOR_POOLING_POLICY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ALLOCATOR_POOLING_CONCURRENCY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ALLOCATOR_POOLING_CONCURRENCY</h4>
+<pre>protected static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ALLOCATOR_POOLING_CONCURRENCY</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.bookkeeper.conf.AbstractConfiguration.ALLOCATOR_POOLING_CONCURRENCY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ALLOCATOR_OOM_POLICY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ALLOCATOR_OOM_POLICY</h4>
+<pre>protected static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ALLOCATOR_OOM_POLICY</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.bookkeeper.conf.AbstractConfiguration.ALLOCATOR_OOM_POLICY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ALLOCATOR_LEAK_DETECTION_POLICY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ALLOCATOR_LEAK_DETECTION_POLICY</h4>
+<pre>protected static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ALLOCATOR_LEAK_DETECTION_POLICY</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.bookkeeper.conf.AbstractConfiguration.ALLOCATOR_LEAK_DETECTION_POLICY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="LIMIT_STATS_LOGGING">
 <!--   -->
 </a>
@@ -2361,6 +2471,130 @@ public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.
 </dl>
 </li>
 </ul>
+<a name="getAllocatorPoolingPolicy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllocatorPoolingPolicy</h4>
+<pre>public&nbsp;org.apache.bookkeeper.common.allocator.PoolingPolicy&nbsp;getAllocatorPoolingPolicy()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the configured pooling policy for the allocator.</dd>
+</dl>
+</li>
+</ul>
+<a name="setAllocatorPoolingPolicy-org.apache.bookkeeper.common.allocator.PoolingPolicy-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAllocatorPoolingPolicy</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a>&nbsp;setAllocatorPoolingPolicy(org.apache.bookkeeper.common.allocator.PoolingPolicy&nbsp;poolingPolicy)</pre>
+<div class="block">Define the memory pooling policy.
+
+ <p>Default is <code>PoolingPolicy.PooledDirect</code></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>poolingPolicy</code> - the memory pooling policy</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>configuration object.</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllocatorPoolingConcurrency--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllocatorPoolingConcurrency</h4>
+<pre>public&nbsp;int&nbsp;getAllocatorPoolingConcurrency()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the configured pooling concurrency for the allocator.</dd>
+</dl>
+</li>
+</ul>
+<a name="setAllocatorPoolingConcurrenncy-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAllocatorPoolingConcurrenncy</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a>&nbsp;setAllocatorPoolingConcurrenncy(int&nbsp;concurrency)</pre>
+<div class="block">Controls the amount of concurrency for the memory pool.
+
+ <p>Default is to have a number of allocator arenas equals to 2 * CPUS.
+
+ <p>Decreasing this number will reduce the amount of memory overhead, at the
+ expense of increased allocation contention.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>concurrency</code> - the concurrency level to use for the allocator pool</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>configuration object.</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllocatorOutOfMemoryPolicy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllocatorOutOfMemoryPolicy</h4>
+<pre>public&nbsp;org.apache.bookkeeper.common.allocator.OutOfMemoryPolicy&nbsp;getAllocatorOutOfMemoryPolicy()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the configured ouf of memory policy for the allocator.</dd>
+</dl>
+</li>
+</ul>
+<a name="setAllocatorOutOfMemoryPolicy-org.apache.bookkeeper.common.allocator.OutOfMemoryPolicy-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAllocatorOutOfMemoryPolicy</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a>&nbsp;setAllocatorOutOfMemoryPolicy(org.apache.bookkeeper.common.allocator.OutOfMemoryPolicy&nbsp;oomPolicy)</pre>
+<div class="block">Define the memory allocator out of memory policy.
+
+ <p>Default is <code>OutOfMemoryPolicy.FallbackToHeap</code></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>oomPolicy</code> - the "out-of-memory" policy for the memory allocator</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>configuration object.</dd>
+</dl>
+</li>
+</ul>
+<a name="getAllocatorLeakDetectionPolicy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAllocatorLeakDetectionPolicy</h4>
+<pre>public&nbsp;org.apache.bookkeeper.common.allocator.LeakDetectionPolicy&nbsp;getAllocatorLeakDetectionPolicy()</pre>
+<div class="block">Return the configured leak detection policy for the allocator.</div>
+</li>
+</ul>
+<a name="setAllocatorLeakDetectionPolicy-org.apache.bookkeeper.common.allocator.LeakDetectionPolicy-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAllocatorLeakDetectionPolicy</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a>&nbsp;setAllocatorLeakDetectionPolicy(org.apache.bookkeeper.common.allocator.LeakDetectionPolicy&nbsp;leakDetectionPolicy)</pre>
+<div class="block">Enable the leak detection for the allocator.
+
+ <p>Default is <code>LeakDetectionPolicy.Disabled</code></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>leakDetectionPolicy</code> - the leak detection policy for the memory allocator</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>configuration object.</dd>
+</dl>
+</li>
+</ul>
 <a name="isBusyWaitEnabled--">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ClientConfiguration.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ClientConfiguration.html
index bb335fd..9d934e2 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ClientConfiguration.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ClientConfiguration.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":42,"i41":42,"i42":10,"i43":42,"i44":10,"i45":42,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10," [...]
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":42,"i41":42,"i42":10,"i43":42,"i44":10,"i45":42,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10," [...]
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -468,7 +468,7 @@ extends <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.ht
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.bookkeeper.conf.<a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></h3>
-<code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOW_SHADED_LEDGER_MANAGER_FACTORY_CLASS">ALLOW_SHADED_LEDGER_MANAGER_FACTORY_CLASS</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#AVAILABLE_NODE">AVAILABLE_NODE</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#DEFAULT_ENTRY_FORMATTER">DEFAULT_ENTRY_FORMATTER</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#DEFAUL [...]
+<code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_LEAK_DETECTION_POLICY">ALLOCATOR_LEAK_DETECTION_POLICY</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_OOM_POLICY">ALLOCATOR_OOM_POLICY</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_POOLING_CONCURRENCY">ALLOCATOR_POOLING_CONCURRENCY</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#AL [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.commons.configuration.AbstractConfiguration">
@@ -941,7 +941,9 @@ extends <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.ht
 <tr id="i69" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/ClientConfiguration.html#isNettyUsePooledBuffers--">isNettyUsePooledBuffers</a></span>()</code>
-<div class="block">Option to use Netty Pooled ByteBufs.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">see <a href="../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-"><code>BookKeeperBuilder.allocator(io.netty.buffer.ByteBufAllocator)</code></a></span></div>
+</div>
 </td>
 </tr>
 <tr id="i70" class="altColor">
@@ -1176,7 +1178,9 @@ extends <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.ht
 <tr id="i107" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/conf/ClientConfiguration.html#setNettyUsePooledBuffers-boolean-">setNettyUsePooledBuffers</a></span>(boolean&nbsp;enabled)</code>
-<div class="block">Enable/Disable the usage of Pooled Netty buffers.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">see <a href="../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-"><code>BookKeeperBuilder.allocator(io.netty.buffer.ByteBufAllocator)</code></a></span></div>
+</div>
 </td>
 </tr>
 <tr id="i108" class="altColor">
@@ -1383,7 +1387,7 @@ extends <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.ht
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.bookkeeper.conf.<a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></h3>
-<code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#asJson--">asJson</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getClientAuthProviderFactoryClass--">getClientAuthProviderFactoryClass</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getEnforceMinNumRacksPerWriteQuorum--">getEnforceMinNumRacksPerWriteQuorum</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getEntry [...]
+<code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#asJson--">asJson</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorLeakDetectionPolicy--">getAllocatorLeakDetectionPolicy</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorOutOfMemoryPolicy--">getAllocatorOutOfMemoryPolicy</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorPoolingConcu [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.commons.configuration.CompositeConfiguration">
@@ -4572,7 +4576,9 @@ public&nbsp;<a href="../../../../org/apache/bookkeeper/conf/ClientConfiguration.
 <ul class="blockList">
 <li class="blockList">
 <h4>isNettyUsePooledBuffers</h4>
-<pre>public&nbsp;boolean&nbsp;isNettyUsePooledBuffers()</pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;boolean&nbsp;isNettyUsePooledBuffers()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">see <a href="../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-"><code>BookKeeperBuilder.allocator(io.netty.buffer.ByteBufAllocator)</code></a></span></div>
 <div class="block">Option to use Netty Pooled ByteBufs.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -4587,6 +4593,7 @@ public&nbsp;<a href="../../../../org/apache/bookkeeper/conf/ClientConfiguration.
 <li class="blockList">
 <h4>setNettyUsePooledBuffers</h4>
 <pre>public&nbsp;<a href="../../../../org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a>&nbsp;setNettyUsePooledBuffers(boolean&nbsp;enabled)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">see <a href="../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-"><code>BookKeeperBuilder.allocator(io.netty.buffer.ByteBufAllocator)</code></a></span></div>
 <div class="block">Enable/Disable the usage of Pooled Netty buffers. While using v2 wire protocol the application will be
  responsible for releasing ByteBufs returned by BookKeeper.</div>
 <dl>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ServerConfiguration.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ServerConfiguration.html
index b3faf13..8b29ef5 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ServerConfiguration.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ServerConfiguration.html
@@ -648,7 +648,7 @@ extends <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.ht
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.bookkeeper.conf.<a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></h3>
-<code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOW_SHADED_LEDGER_MANAGER_FACTORY_CLASS">ALLOW_SHADED_LEDGER_MANAGER_FACTORY_CLASS</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#AVAILABLE_NODE">AVAILABLE_NODE</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#DEFAULT_ENTRY_FORMATTER">DEFAULT_ENTRY_FORMATTER</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#DEFAUL [...]
+<code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_LEAK_DETECTION_POLICY">ALLOCATOR_LEAK_DETECTION_POLICY</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_OOM_POLICY">ALLOCATOR_OOM_POLICY</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOCATOR_POOLING_CONCURRENCY">ALLOCATOR_POOLING_CONCURRENCY</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#AL [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields.inherited.from.class.org.apache.commons.configuration.AbstractConfiguration">
@@ -2280,7 +2280,7 @@ extends <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.ht
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.bookkeeper.conf.<a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></h3>
-<code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#asJson--">asJson</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getClientAuthProviderFactoryClass--">getClientAuthProviderFactoryClass</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getEnforceMinNumRacksPerWriteQuorum--">getEnforceMinNumRacksPerWriteQuorum</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getEntry [...]
+<code><a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#asJson--">asJson</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorLeakDetectionPolicy--">getAllocatorLeakDetectionPolicy</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorOutOfMemoryPolicy--">getAllocatorOutOfMemoryPolicy</a>, <a href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.html#getAllocatorPoolingConcu [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.commons.configuration.CompositeConfiguration">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/class-use/ClientConfiguration.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/class-use/ClientConfiguration.html
index 18fd6cf..5e50b57 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/class-use/ClientConfiguration.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/class-use/ClientConfiguration.html
@@ -247,9 +247,10 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/ClientConf [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-io.netty.buffer.ByteBufAllocator-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper</a></span>(<a href="../../../../../org/ [...]
           org.apache.zookeeper.ZooKeeper&nbsp;zkc,
           io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
+          io.netty.buffer.ByteBufAllocator&nbsp;byteBufAllocator,
           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;rootStatsLogger,
           org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;requestTimer,
@@ -553,7 +554,9 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ClientConfiguration.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/conf/ClientConfiguration.html#setNettyUsePooledBuffers-boolean-">setNettyUsePooledBuffers</a></span>(boolean&nbsp;enabled)</code>
-<div class="block">Enable/Disable the usage of Pooled Netty buffers.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">see <a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html#allocator-io.netty.buffer.ByteBufAllocator-"><code>BookKeeperBuilder.allocator(io.netty.buffer.ByteBufAllocator)</code></a></span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/feature/class-use/FeatureProvider.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/feature/class-use/FeatureProvider.html
index b151b20..de4d99f 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/feature/class-use/FeatureProvider.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/feature/class-use/FeatureProvider.html
@@ -198,9 +198,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/ClientConf [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-io.netty.buffer.ByteBufAllocator-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper</a></span>(<a href="../../../../../org/ [...]
           org.apache.zookeeper.ZooKeeper&nbsp;zkc,
           io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
+          io.netty.buffer.ByteBufAllocator&nbsp;byteBufAllocator,
           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;rootStatsLogger,
           org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;requestTimer,
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/StatsLogger.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/StatsLogger.html
index 8a92977..023ad46 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/StatsLogger.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/StatsLogger.html
@@ -277,9 +277,10 @@
                  <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/ClientConf [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#BookKeeper-org.apache.bookkeeper.conf.ClientConfiguration-org.apache.zookeeper.ZooKeeper-io.netty.channel.EventLoopGroup-io.netty.buffer.ByteBufAllocator-org.apache.bookkeeper.stats.StatsLogger-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-">BookKeeper</a></span>(<a href="../../../../../org/ [...]
           org.apache.zookeeper.ZooKeeper&nbsp;zkc,
           io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
+          io.netty.buffer.ByteBufAllocator&nbsp;byteBufAllocator,
           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;rootStatsLogger,
           org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;requestTimer,
diff --git a/content/docs/latest/reference/config/index.html b/content/docs/latest/reference/config/index.html
index c0dd191..9d6234f 100644
--- a/content/docs/latest/reference/config/index.html
+++ b/content/docs/latest/reference/config/index.html
@@ -995,7 +995,7 @@ Available formats are 1-5:
  5: expanding header to 512 and padding writes to align sector size configured by <code class="highlighter-rouge">journalAlignmentSize</code>
  6: persisting explicitLac is introduced</p>
 
-<p>By default, it is <code class="highlighter-rouge">6</code>. 
+<p>By default, it is <code class="highlighter-rouge">6</code>.
 If you’d like to disable persisting ExplicitLac, you can set this config to &lt; <code class="highlighter-rouge">6</code> and also fileInfoFormatVersionToWrite should be set to 0. If there is mismatch then the serverconfig is considered invalid.
 You can disable <code class="highlighter-rouge">padding-writes</code> by setting journal version back to <code class="highlighter-rouge">4</code>. This feature is available in 4.5.0 and onward versions.</p>
 </td>
@@ -2137,6 +2137,89 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
      <!-- for param in group.params -->
   </tbody>
 </table>
+
+<h2 id="memory-allocator-settings">Memory allocator settings</h2>
+
+<table>
+  <thead>
+    <tr>
+      <th>Parameter</th>
+      <th>Description</th>
+      <th>Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    
+    <tr id="allocatorPoolingPolicy">
+      <td><code>allocatorPoolingPolicy</code></td>
+      <td><p>Define the memory pooling policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>PooledDirect</code></td>
+    </tr>
+    
+    <tr id="allocatorPoolingConcurrency">
+      <td><code>allocatorPoolingConcurrency</code></td>
+      <td><p>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.</p>
+</td>
+      <td><code>2 * CPUS</code></td>
+    </tr>
+    
+    <tr id="allocatorOutOfMemoryPolicy">
+      <td><code>allocatorOutOfMemoryPolicy</code></td>
+      <td><p>Define the memory allocator out of memory policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>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.</li>
+  <li>ThrowException: Throw regular OOM exception without taking addition actions.</li>
+</ul>
+</td>
+      <td><code>FallbackToHeap</code></td>
+    </tr>
+    
+    <tr id="allocatorLeakDetectionPolicy">
+      <td><code>allocatorLeakDetectionPolicy</code></td>
+      <td><p>Define the memory allocator leak detection policy.</p>
+
+<p>Available options are:</p>
+<ul>
+  <li>Disabled: No leak detection and no overhead.</li>
+  <li>Simple: Instruments 1% of the allocated buffer to track for leaks.</li>
+  <li>Advanced: Instruments 1% of the allocated buffer to track for leaks, reporting
+          stack traces of places where the buffer was used.</li>
+  <li>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.</li>
+</ul>
+</td>
+      <td><code>Disabled</code></td>
+    </tr>
+     <!-- for param in group.params -->
+  </tbody>
+</table>
 <p><!-- for group in configs.groups --></p>
 
 
@@ -2179,6 +2262,7 @@ when using either RackawareEnsemblePlacementPolicy and RegionAwareEnsemblePlacem
 <li class="toc-entry toc-h2"><a href="#autorecovery-placement-settings">AutoRecovery placement settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-auditor-settings">AutoRecovery auditor settings</a></li>
 <li class="toc-entry toc-h2"><a href="#autorecovery-replication-worker-settings">AutoRecovery replication worker settings</a></li>
+<li class="toc-entry toc-h2"><a href="#memory-allocator-settings">Memory allocator settings</a></li>
 </ul>
 </div>