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

lhotari pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git


The following commit(s) were added to refs/heads/main by this push:
     new c0271a7e72b docs: add BookKeeper AutoRecovery administration page 
(#1138)
c0271a7e72b is described below

commit c0271a7e72b14b1a986fd1b5c92e4d6a725daab2
Author: Ananta Srivastava <[email protected]>
AuthorDate: Mon May 4 18:00:34 2026 +0530

    docs: add BookKeeper AutoRecovery administration page (#1138)
---
 docs/administration-zk-bk.md                       | 54 ++++++++++++++++++++++
 .../version-4.0.x/administration-zk-bk.md          | 54 ++++++++++++++++++++++
 .../version-4.2.x/administration-zk-bk.md          | 54 ++++++++++++++++++++++
 3 files changed, 162 insertions(+)

diff --git a/docs/administration-zk-bk.md b/docs/administration-zk-bk.md
index 95e0e7194b7..f49692288d3 100644
--- a/docs/administration-zk-bk.md
+++ b/docs/administration-zk-bk.md
@@ -261,6 +261,60 @@ bin/bookkeeper shell listbookies -rw -h
 bin/bookkeeper shell listbookies -ro -h
 ```
 
+### AutoRecovery
+
+BookKeeper AutoRecovery automatically detects unavailable bookies and 
rereplicated under-replicated ledger fragments to healthy bookies — without 
manual intervention. For a full explanation of how AutoRecovery works, see the 
[BookKeeper AutoRecovery 
documentation](https://bookkeeper.apache.org/docs/next/admin/autorecovery).
+
+#### Deploy AutoRecovery
+
+AutoRecovery can run embedded within each bookie process (default) or on 
dedicated nodes:
+
+- **Embedded (default)**: `autoRecoveryDaemonEnabled=true` in 
`conf/bookkeeper.conf` — each bookie runs an AutoRecovery thread alongside 
normal bookie operations.
+- **Dedicated nodes**: Set `autoRecoveryDaemonEnabled=false` on all bookies 
and run AutoRecovery as a separate process. Recommended for large clusters to 
isolate recovery I/O from bookie traffic.
+
+To start AutoRecovery as a standalone process:
+
+```shell
+bin/bookkeeper autorecovery
+```
+
+Or as a background daemon:
+
+```shell
+bin/pulsar-daemon start autorecovery
+```
+
+#### Enable and disable AutoRecovery
+
+You can temporarily disable AutoRecovery cluster-wide during planned 
maintenance and re-enable it afterward:
+
+```shell
+# Disable AutoRecovery
+bin/bookkeeper shell autorecovery -disable
+
+# Enable AutoRecovery
+bin/bookkeeper shell autorecovery -enable
+
+# Check current status
+bin/bookkeeper shell autorecovery -status
+```
+
+#### Pulsar-specific configuration
+
+Set `lostBookieRecoveryDelay` in `conf/bookkeeper.conf` to a value greater 
than `0` (for example, `60` seconds) in production clusters that undergo 
rolling restarts. This prevents AutoRecovery from triggering unnecessary 
rereplication for bookies that are only temporarily unavailable.
+
+To enable Prometheus metrics on a bookie or AutoRecovery node, set the 
following in `conf/bookkeeper.conf`:
+
+```properties
+statsProviderClass=org.apache.pulsar.metrics.prometheus.bookkeeper.PrometheusMetricsProvider
+```
+
+:::note
+
+This Pulsar-specific stats provider class is required since Pulsar 4.2.0 / 
4.0.10. See the [Pulsar 4.0.10 release 
notes](https://pulsar.apache.org/release-notes/versioned/pulsar-4.0.10/) for 
details.
+
+:::
+
 ## BookKeeper persistence policies
 
 In Pulsar, you can set *persistence policies* at the namespace level, which 
determines how BookKeeper handles persistent storage of messages. Policies 
determine four things:
diff --git a/versioned_docs/version-4.0.x/administration-zk-bk.md 
b/versioned_docs/version-4.0.x/administration-zk-bk.md
index 95e0e7194b7..f49692288d3 100644
--- a/versioned_docs/version-4.0.x/administration-zk-bk.md
+++ b/versioned_docs/version-4.0.x/administration-zk-bk.md
@@ -261,6 +261,60 @@ bin/bookkeeper shell listbookies -rw -h
 bin/bookkeeper shell listbookies -ro -h
 ```
 
+### AutoRecovery
+
+BookKeeper AutoRecovery automatically detects unavailable bookies and 
rereplicated under-replicated ledger fragments to healthy bookies — without 
manual intervention. For a full explanation of how AutoRecovery works, see the 
[BookKeeper AutoRecovery 
documentation](https://bookkeeper.apache.org/docs/next/admin/autorecovery).
+
+#### Deploy AutoRecovery
+
+AutoRecovery can run embedded within each bookie process (default) or on 
dedicated nodes:
+
+- **Embedded (default)**: `autoRecoveryDaemonEnabled=true` in 
`conf/bookkeeper.conf` — each bookie runs an AutoRecovery thread alongside 
normal bookie operations.
+- **Dedicated nodes**: Set `autoRecoveryDaemonEnabled=false` on all bookies 
and run AutoRecovery as a separate process. Recommended for large clusters to 
isolate recovery I/O from bookie traffic.
+
+To start AutoRecovery as a standalone process:
+
+```shell
+bin/bookkeeper autorecovery
+```
+
+Or as a background daemon:
+
+```shell
+bin/pulsar-daemon start autorecovery
+```
+
+#### Enable and disable AutoRecovery
+
+You can temporarily disable AutoRecovery cluster-wide during planned 
maintenance and re-enable it afterward:
+
+```shell
+# Disable AutoRecovery
+bin/bookkeeper shell autorecovery -disable
+
+# Enable AutoRecovery
+bin/bookkeeper shell autorecovery -enable
+
+# Check current status
+bin/bookkeeper shell autorecovery -status
+```
+
+#### Pulsar-specific configuration
+
+Set `lostBookieRecoveryDelay` in `conf/bookkeeper.conf` to a value greater 
than `0` (for example, `60` seconds) in production clusters that undergo 
rolling restarts. This prevents AutoRecovery from triggering unnecessary 
rereplication for bookies that are only temporarily unavailable.
+
+To enable Prometheus metrics on a bookie or AutoRecovery node, set the 
following in `conf/bookkeeper.conf`:
+
+```properties
+statsProviderClass=org.apache.pulsar.metrics.prometheus.bookkeeper.PrometheusMetricsProvider
+```
+
+:::note
+
+This Pulsar-specific stats provider class is required since Pulsar 4.2.0 / 
4.0.10. See the [Pulsar 4.0.10 release 
notes](https://pulsar.apache.org/release-notes/versioned/pulsar-4.0.10/) for 
details.
+
+:::
+
 ## BookKeeper persistence policies
 
 In Pulsar, you can set *persistence policies* at the namespace level, which 
determines how BookKeeper handles persistent storage of messages. Policies 
determine four things:
diff --git a/versioned_docs/version-4.2.x/administration-zk-bk.md 
b/versioned_docs/version-4.2.x/administration-zk-bk.md
index 95e0e7194b7..f49692288d3 100644
--- a/versioned_docs/version-4.2.x/administration-zk-bk.md
+++ b/versioned_docs/version-4.2.x/administration-zk-bk.md
@@ -261,6 +261,60 @@ bin/bookkeeper shell listbookies -rw -h
 bin/bookkeeper shell listbookies -ro -h
 ```
 
+### AutoRecovery
+
+BookKeeper AutoRecovery automatically detects unavailable bookies and 
rereplicated under-replicated ledger fragments to healthy bookies — without 
manual intervention. For a full explanation of how AutoRecovery works, see the 
[BookKeeper AutoRecovery 
documentation](https://bookkeeper.apache.org/docs/next/admin/autorecovery).
+
+#### Deploy AutoRecovery
+
+AutoRecovery can run embedded within each bookie process (default) or on 
dedicated nodes:
+
+- **Embedded (default)**: `autoRecoveryDaemonEnabled=true` in 
`conf/bookkeeper.conf` — each bookie runs an AutoRecovery thread alongside 
normal bookie operations.
+- **Dedicated nodes**: Set `autoRecoveryDaemonEnabled=false` on all bookies 
and run AutoRecovery as a separate process. Recommended for large clusters to 
isolate recovery I/O from bookie traffic.
+
+To start AutoRecovery as a standalone process:
+
+```shell
+bin/bookkeeper autorecovery
+```
+
+Or as a background daemon:
+
+```shell
+bin/pulsar-daemon start autorecovery
+```
+
+#### Enable and disable AutoRecovery
+
+You can temporarily disable AutoRecovery cluster-wide during planned 
maintenance and re-enable it afterward:
+
+```shell
+# Disable AutoRecovery
+bin/bookkeeper shell autorecovery -disable
+
+# Enable AutoRecovery
+bin/bookkeeper shell autorecovery -enable
+
+# Check current status
+bin/bookkeeper shell autorecovery -status
+```
+
+#### Pulsar-specific configuration
+
+Set `lostBookieRecoveryDelay` in `conf/bookkeeper.conf` to a value greater 
than `0` (for example, `60` seconds) in production clusters that undergo 
rolling restarts. This prevents AutoRecovery from triggering unnecessary 
rereplication for bookies that are only temporarily unavailable.
+
+To enable Prometheus metrics on a bookie or AutoRecovery node, set the 
following in `conf/bookkeeper.conf`:
+
+```properties
+statsProviderClass=org.apache.pulsar.metrics.prometheus.bookkeeper.PrometheusMetricsProvider
+```
+
+:::note
+
+This Pulsar-specific stats provider class is required since Pulsar 4.2.0 / 
4.0.10. See the [Pulsar 4.0.10 release 
notes](https://pulsar.apache.org/release-notes/versioned/pulsar-4.0.10/) for 
details.
+
+:::
+
 ## BookKeeper persistence policies
 
 In Pulsar, you can set *persistence policies* at the namespace level, which 
determines how BookKeeper handles persistent storage of messages. Policies 
determine four things:

Reply via email to