From cab129ac2a9f8598c59369869bacb2c1dab0d597 Mon Sep 17 00:00:00 2001 From: Heesung Sohn <103456639+heesung-sn@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:11:50 -0700 Subject: [PATCH 1/8] Added a split example --- docs/concepts-broker-load-balancing-concepts.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/concepts-broker-load-balancing-concepts.md b/docs/concepts-broker-load-balancing-concepts.md index 2b7d5a1f1f1c..9ee873deb850 100644 --- a/docs/concepts-broker-load-balancing-concepts.md +++ b/docs/concepts-broker-load-balancing-concepts.md @@ -173,7 +173,13 @@ Based on the broker resource usage (for example, the number of topics or session Step 3: split bundles at the specific boundaries from step 2. -For how to split bundles manually, see TBD (the docs is WIP, stay tuned!). +For how to split bundles manually, please refer to [split-bundle](https://pulsar.apache.org/reference/#/next/pulsar-admin/namespaces?id=split-bundle) admin command. + +Example: + +`pulsar-admin namespaces split-bundle -b LARGEST -san topic_count_equally_divide -u tenant/largest_namespace` +* Specify a specific bundle at -b, if you already know the target bundle to split. + From c15dd4bb69f03a0dd45990a35728eceb20cf7a3f Mon Sep 17 00:00:00 2001 From: Heesung Sohn <103456639+heesung-sn@users.noreply.github.com> Date: Fri, 12 Apr 2024 16:16:58 -0700 Subject: [PATCH 2/8] Update concepts-broker-load-balancing-concepts.md --- docs/concepts-broker-load-balancing-concepts.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/concepts-broker-load-balancing-concepts.md b/docs/concepts-broker-load-balancing-concepts.md index 9ee873deb850..366c99f06d1c 100644 --- a/docs/concepts-broker-load-balancing-concepts.md +++ b/docs/concepts-broker-load-balancing-concepts.md @@ -173,11 +173,12 @@ Based on the broker resource usage (for example, the number of topics or session Step 3: split bundles at the specific boundaries from step 2. -For how to split bundles manually, please refer to [split-bundle](https://pulsar.apache.org/reference/#/next/pulsar-admin/namespaces?id=split-bundle) admin command. +For how to split bundles manually, please refer to [split-bundle](https://pulsar.apache.org/reference/#/3.2.x/pulsar-admin/namespaces?id=split-bundle) admin command. Example: `pulsar-admin namespaces split-bundle -b LARGEST -san topic_count_equally_divide -u tenant/largest_namespace` + * Specify a specific bundle at -b, if you already know the target bundle to split. From 56a9d0aa7a8721ce453b998472659baad8aa0f69 Mon Sep 17 00:00:00 2001 From: Heesung Sohn <103456639+heesung-sn@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:14:08 -0700 Subject: [PATCH 3/8] Update concepts-broker-load-balancing-concepts.md --- docs/concepts-broker-load-balancing-concepts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts-broker-load-balancing-concepts.md b/docs/concepts-broker-load-balancing-concepts.md index 366c99f06d1c..748182731a81 100644 --- a/docs/concepts-broker-load-balancing-concepts.md +++ b/docs/concepts-broker-load-balancing-concepts.md @@ -173,7 +173,7 @@ Based on the broker resource usage (for example, the number of topics or session Step 3: split bundles at the specific boundaries from step 2. -For how to split bundles manually, please refer to [split-bundle](https://pulsar.apache.org/reference/#/3.2.x/pulsar-admin/namespaces?id=split-bundle) admin command. +For how to split bundles manually, please refer to [`split-bundle`](pathname:///reference/#/@pulsar:version_reference@/pulsar-admin/namespaces?id=split-bundle) admiin command. Example: From 5197655389cb28e026f67c93a2a0c4ac93f9014c Mon Sep 17 00:00:00 2001 From: Heesung Sohn <103456639+heesung-sn@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:15:30 -0700 Subject: [PATCH 4/8] Update concepts-broker-load-balancing-concepts.md --- docs/concepts-broker-load-balancing-concepts.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/concepts-broker-load-balancing-concepts.md b/docs/concepts-broker-load-balancing-concepts.md index 748182731a81..135747f5ae43 100644 --- a/docs/concepts-broker-load-balancing-concepts.md +++ b/docs/concepts-broker-load-balancing-concepts.md @@ -129,7 +129,7 @@ Below is the workflow for splitting bundles automatically or manually. defaultValue="Automatic bundle splitting" values={[{"label":"Automatic bundle splitting","value":"Automatic bundle splitting"},{"label":"Manual bundle splitting","value":"Manual bundle splitting"}]}> - +xf #### Step 1: find target bundles If the auto bundle split is enabled, @@ -173,7 +173,7 @@ Based on the broker resource usage (for example, the number of topics or session Step 3: split bundles at the specific boundaries from step 2. -For how to split bundles manually, please refer to [`split-bundle`](pathname:///reference/#/@pulsar:version_reference@/pulsar-admin/namespaces?id=split-bundle) admiin command. +For how to split bundles manually, please refer to [`split-bundle`](pathname:///reference/#/@pulsar:version_reference@/pulsar-admin/namespaces?id=split-bundle) admin command. Example: From cf34dd8952db0d6de0452fcbe81a87fd77f898d7 Mon Sep 17 00:00:00 2001 From: Heesung Sohn <103456639+heesung-sn@users.noreply.github.com> Date: Mon, 15 Apr 2024 12:33:35 -0700 Subject: [PATCH 5/8] Update docs/concepts-broker-load-balancing-concepts.md Co-authored-by: Dragos Misca --- docs/concepts-broker-load-balancing-concepts.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/concepts-broker-load-balancing-concepts.md b/docs/concepts-broker-load-balancing-concepts.md index 135747f5ae43..5a96090236c5 100644 --- a/docs/concepts-broker-load-balancing-concepts.md +++ b/docs/concepts-broker-load-balancing-concepts.md @@ -179,8 +179,9 @@ Example: `pulsar-admin namespaces split-bundle -b LARGEST -san topic_count_equally_divide -u tenant/largest_namespace` -* Specify a specific bundle at -b, if you already know the target bundle to split. +If you already know the target bundle to split, you can specify it using the `-b` flag: +`pulsar-admin namespaces split-bundle --bundle 0x00000000_0xffffffff test-tenant/namespace1` From 11257a3e54d7dd8fb1d6c53bf50ce92fc5e2d11c Mon Sep 17 00:00:00 2001 From: Heesung Sohn <103456639+heesung-sn@users.noreply.github.com> Date: Mon, 15 Apr 2024 12:46:58 -0700 Subject: [PATCH 6/8] Update concepts-broker-load-balancing-concepts.md --- ...concepts-broker-load-balancing-concepts.md | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/docs/concepts-broker-load-balancing-concepts.md b/docs/concepts-broker-load-balancing-concepts.md index 5a96090236c5..22a777d4ac9b 100644 --- a/docs/concepts-broker-load-balancing-concepts.md +++ b/docs/concepts-broker-load-balancing-concepts.md @@ -129,7 +129,7 @@ Below is the workflow for splitting bundles automatically or manually. defaultValue="Automatic bundle splitting" values={[{"label":"Automatic bundle splitting","value":"Automatic bundle splitting"},{"label":"Manual bundle splitting","value":"Manual bundle splitting"}]}> -xf + #### Step 1: find target bundles If the auto bundle split is enabled, @@ -175,13 +175,15 @@ Step 3: split bundles at the specific boundaries from step 2. For how to split bundles manually, please refer to [`split-bundle`](pathname:///reference/#/@pulsar:version_reference@/pulsar-admin/namespaces?id=split-bundle) admin command. -Example: +Examples: + +Split the largest bundle at the position that equality divides the topic count, and unload the child bundles immediately. -`pulsar-admin namespaces split-bundle -b LARGEST -san topic_count_equally_divide -u tenant/largest_namespace` +`pulsar-admin namespaces split-bundle -b LARGEST -san topic_count_equally_divide -u my-tenant/my-namespace` -If you already know the target bundle to split, you can specify it using the `-b` flag: +If you already know the target bundle to split, you can specify it using the `--bundle(-b)` flag: -`pulsar-admin namespaces split-bundle --bundle 0x00000000_0xffffffff test-tenant/namespace1` +`pulsar-admin namespaces split-bundle --bundle 0x00000000_0xffffffff my-tenant/my-namespace` @@ -421,7 +423,7 @@ You can unload bundles in the following ways: - Automatic: enable Pulsar's automatic bundle unloading process when a broker is overloaded. -- Manual: trigger bundle splitting manually, to unload a bundle from one broker to another broker within a Pulsar cluster. +- Manual: trigger bundle unloading manually, to unload a bundle from one broker to another broker within a Pulsar cluster. Bundle unloading methods | Definition | When to use |---|---|--- @@ -456,7 +458,21 @@ The unloaded bundles are assigned to less loaded brokers, and the clients connec When unloading happens, the client experiences a small latency blip while the topic is reassigned. -For how to unload bundles automatically, see TBD (the docs is WIP, stay tuned!). +For how to unload bundles manually, please refer to [`unload`](pathname:///reference/#/@pulsar:version_reference@/pulsar-admin/namespaces?id=unload) admin command. + +Examples: + +Unload a specific bundle (future topic lookup will assign the bundle to a new owner broker) + +`pulsar-admin namespaces unload my-tenant/my-namespace -b 0x00000000_0xffffffff + +Unload a specific bundle to a destination broker + +`pulsar-admin namespaces unload my-tenant/my-namespace -b 0x00000000_0xffffffff -d broker-1 + +Unload all bundles in a namespace + +`pulsar-admin namespaces unload my-tenant/my-namespace` From ee0965a8e29cd345438c7bf9d09bdfda0429bd66 Mon Sep 17 00:00:00 2001 From: Heesung Sohn <103456639+heesung-sn@users.noreply.github.com> Date: Mon, 15 Apr 2024 12:47:34 -0700 Subject: [PATCH 7/8] Update concepts-broker-load-balancing-concepts.md --- docs/concepts-broker-load-balancing-concepts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts-broker-load-balancing-concepts.md b/docs/concepts-broker-load-balancing-concepts.md index 22a777d4ac9b..4a49d5a0a255 100644 --- a/docs/concepts-broker-load-balancing-concepts.md +++ b/docs/concepts-broker-load-balancing-concepts.md @@ -177,7 +177,7 @@ For how to split bundles manually, please refer to [`split-bundle`](pathname:/// Examples: -Split the largest bundle at the position that equality divides the topic count, and unload the child bundles immediately. +Split the largest bundle at the position that equally divides the topic count, and unload the child bundles immediately. `pulsar-admin namespaces split-bundle -b LARGEST -san topic_count_equally_divide -u my-tenant/my-namespace` From c800f682068fdfcb35fc8b2f4e22c6f36f3c7ba1 Mon Sep 17 00:00:00 2001 From: Heesung Sohn <103456639+heesung-sn@users.noreply.github.com> Date: Mon, 15 Apr 2024 12:50:03 -0700 Subject: [PATCH 8/8] Update concepts-broker-load-balancing-concepts.md --- docs/concepts-broker-load-balancing-concepts.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/concepts-broker-load-balancing-concepts.md b/docs/concepts-broker-load-balancing-concepts.md index 4a49d5a0a255..68c09e0218fd 100644 --- a/docs/concepts-broker-load-balancing-concepts.md +++ b/docs/concepts-broker-load-balancing-concepts.md @@ -464,11 +464,11 @@ Examples: Unload a specific bundle (future topic lookup will assign the bundle to a new owner broker) -`pulsar-admin namespaces unload my-tenant/my-namespace -b 0x00000000_0xffffffff +`pulsar-admin namespaces unload my-tenant/my-namespace -b 0x00000000_0xffffffff` Unload a specific bundle to a destination broker -`pulsar-admin namespaces unload my-tenant/my-namespace -b 0x00000000_0xffffffff -d broker-1 +`pulsar-admin namespaces unload my-tenant/my-namespace -b 0x00000000_0xffffffff -d broker-1` Unload all bundles in a namespace