Skip to content

Commit

Permalink
Merge branch 'main' into seo-about
Browse files Browse the repository at this point in the history
  • Loading branch information
zuobiao-zhou authored Aug 4, 2023
2 parents 5c69c31 + 0dc0656 commit 364025b
Show file tree
Hide file tree
Showing 32 changed files with 86,139 additions and 4 deletions.
9 changes: 9 additions & 0 deletions data/release-pulsar.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,15 @@ module.exports = [
"doc": "/docs/2.11.x",
"version": "v2.11.x"
},
{
"author": "liangyepianzhou",
"tagName": "v2.10.5",
"publishedAt": "2023-07-30T01:53:34Z",
"vtag": "2.10.x",
"releaseNotes": "/release-notes/versioned/pulsar-2.10.5/",
"doc": "/docs/2.10.x",
"version": "v2.10.x"
},
{
"author": "liangyepianzhou",
"tagName": "v2.10.4",
Expand Down
4 changes: 3 additions & 1 deletion docs/concepts-broker-load-balancing-benefits.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,6 @@ It helps seamlessly scale up or down broker clusters since it allows you to:

- To learn essential fundamentals, see [Broker load balancing | Concepts](./concepts-broker-load-balancing-concepts.md).

- To review various versions of broker load balancers, see [Broker load balancing | Types](./concepts-broker-load-balancing-types.md).
- To review various versions of broker load balancers, see [Broker load balancing | Types](./concepts-broker-load-balancing-types.md).

- To migrate one broker load balancer type to another, see [Broker load balancing | Migration](./concepts-broker-load-balancing-migration.md).
2 changes: 2 additions & 0 deletions docs/concepts-broker-load-balancing-concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -563,3 +563,5 @@ For implementation details, see [PIP-220: TransferShedder](https://github.com/ap
- To understand advantages, see [Broker load balancing | Benefits](./concepts-broker-load-balancing-benefits.md).

- To review various versions of broker load balancers, see [Broker load balancing | Types](./concepts-broker-load-balancing-types.md).

- To migrate one broker load balancer type to another, see [Broker load balancing | Migration](./concepts-broker-load-balancing-migration.md).
4 changes: 3 additions & 1 deletion docs/concepts-broker-load-balancing-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ In general, the main features of the broker load balancer are:

- To learn essential fundamentals, see [Broker load balancing | Concepts](./concepts-broker-load-balancing-concepts.md).

- To review various versions of broker load balancers, see [Broker load balancing | Types](./concepts-broker-load-balancing-types.md).
- To review various versions of broker load balancers, see [Broker load balancing | Types](./concepts-broker-load-balancing-types.md).

- To migrate one broker load balancer type to another, see [Broker load balancing | Migration](./concepts-broker-load-balancing-migration.md).
170 changes: 170 additions & 0 deletions docs/concepts-broker-load-balancing-migration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
---
id: concepts-broker-load-balancing-migration
title: Migration
sidebar_label: "Migration"
---

Pulsar has 3 types of broker load balancers, that is, simple, modular, and extensible.

You can perform the following migrations.

Migration|When to use
|---|---
[Migrate from simple to modular](#migrate-from-simple-to-modular-broker-load-balancer)| If you want to use the [bundle unloading strategy](./concepts-broker-load-balancing-concepts.md#bundle-unloading-strategies) of OverloadShedder, ThresholdShedder, or UniformLoadShedder.
[Migrate from modular to extensible](#migrate-from-modular-to-extensible-broker-load-balancer)| If you want to use the [bundle unloading strategy](./concepts-broker-load-balancing-concepts.md#bundle-unloading-strategies) of TransferShedder.
[Migrate from extensible to modular](#migrate-from-modular-to-extensible-broker-load-balancer)| If you want to use the [bundle unloading strategy](./concepts-broker-load-balancing-concepts.md#bundle-unloading-strategies) of OverloadShedder, ThresholdShedder, or UniformLoadShedder.

:::note

It is not recommended to migrate from the modular or extensible to the simple broker load balancer since the simple broker load balancer is deprecated and no longer in use.

:::


## Considerations

Before migrating from one broker load balancer type to another, review the relationship between [broker load balancer type](./concepts-broker-load-balancing-types.md), Pulsar version, and [bundle unloading strategy](./concepts-broker-load-balancing-concepts.md#bundle-unloading-strategies). You may need to upgrade Pulsar versions or update the [bundle unloading strategy](./concepts-broker-load-balancing-concepts.md#bundle-unloading-strategies). Below are brief summaries.

This broker load balancer type | is available in this Pulsar version
|---|---
Simple|All versions
Modular|1.7 and later
Extensible|3.0 and later

This bundle unloading strategy|is available for this broker load balancer type|in available this Pulsar version
|---|---|---
OverloadShedder|Modular|1.18 and later
ThresholdShedder|Modular|2.6 and later
UniformLoadShedder|Modular|2.10 and later
TransferShedder|Extensible|3.0 and later

## Migrate from simple to modular broker load balancer

You can migrate from the simple to the modular broker load balancer, by manually changing the configuration settings in the broker.conf file or by using the pulsar-admin tool.

### Change broker.conf file

1. Access to the broker.conf file.

```bash
vim apache-pulsar-@pulsar:version@/conf/broker.conf
``````

2. Change the broker load balancer by setting [loadManagerClassName](https://github.com/apache/pulsar/blob/69d7a2bf14555f11a716a9545c5cf391d8179a27/conf/broker.conf#L1309C20-L1309C20) to `ModularLoadManagerImpl` in the broker.conf file.

```conf
loadManagerClassName=org.apache.pulsar.broker.loadbalance.extensions.ModularLoadManagerImpl
```

3. Restart the Pulsar cluster. The new setting will take effect after the restart.

### Use pulsar-admin tool

1. Access the [pulsar-admin tool](https://pulsar.apache.org/docs/next/reference-cli-tools/).

```bash
cd apache-pulsar-@pulsar:version@/bin
```

2. Set `--config` to `loadManagerClassName` and `--value` to `org.apache.pulsar.broker.loadbalance.impl.ModularLoadManagerImpl`.

```bash
pulsar-admin brokers update-dynamic-config \
--config loadManagerClassName \
--value org.apache.pulsar.broker.loadbalance.impl.ModularLoadManagerImpl
```

You do not need to restart the Pulsar cluster. The new settings will take effect after 1 to 2 minutes.

## Migrate from modular to extensible broker load balancer

You can migrate from the modular to the extensible broker load balancer, by manually changing settings in the broker.conf file. During the migration, the lookup and assignment will be redirected to the brokers with the extensible load balancer.

:::note

The pulsar-admin tool is not supported for this migration.

:::

### Change broker.conf file

1. [Upgrade the Pulsar cluster](./helm-upgrade.md) to 3.0.0 or later versions.

2. Access to the broker.conf file.

```bash
vim apache-pulsar-@pulsar:version@/conf/broker.conf
```

3. Change the following settings in the broker.conf file:

- Update [broker load balancer](./concepts-broker-load-balancing-overview.md) by setting [loadManagerClassName](https://github.com/apache/pulsar/blob/69d7a2bf14555f11a716a9545c5cf391d8179a27/conf/broker.conf#L1309C20-L1309C20) to `ExtensibleLoadManagerImpl`.

- Update [bundle unloading strategy](./concepts-broker-load-balancing-concepts.md#bundle-unloading-strategies) by setting `loadBalancerLoadSheddingStrategy` to `TransferShedder`.

```conf
loadManagerClassName=org.apache.pulsar.broker.loadbalance.extensions.ExtensibleLoadManagerImpl
loadBalancerLoadSheddingStrategy=org.apache.pulsar.broker.loadbalance.extensions.scheduler.TransferShedder
```

:::note

- The [extensible broker load balancer](./concepts-broker-load-balancing-types.md) is **available in Pulsar 3.0.0** or later.
- The [TransferShedder unloading strategy](./concepts-broker-load-balancing-concepts.md#bundle-unloading-strategies) is **only available** in the [extensible load balancer](./concepts-broker-load-balancing-types.md).

:::

4. Restart the Pulsar cluster. The new settings will take effect after the restart.

## Migrate from extensible to modular broker load balancer

You can migrate from the extensible to the modular broker load balancer, by manually changing the setting in the broker.conf file. During the migration, the lookup and assignment will be redirected to the brokers with the modular load balancer.

:::note

The pulsar-admin tool is not supported for this migration.

:::

### Change broker.conf file

1. Access to the broker.conf file.

```bash
vim apache-pulsar-@pulsar:version@/conf/broker.conf
```

2. Change the following settings in the broker.conf file:

- Update broker load balancer by setting [loadManagerClassName](https://github.com/apache/pulsar/blob/69d7a2bf14555f11a716a9545c5cf391d8179a27/conf/broker.conf#L1309C20-L1309C20) to ModularLoadManagerImpl

- Update [bundle unloading strategy](./concepts-broker-load-balancing-concepts.md#bundle-unloading-strategies) to OverloadShedder, ThresholdShedder, or UniformLoadShedder based on your needs.

```
loadManagerClassName=org.apache.pulsar.broker.loadbalance.impl.ModularLoadManagerImpl

loadBalancerLoadSheddingStrategy=org.apache.pulsar.broker.loadbalance.impl.ThresholdShedder
```

:::note

[TransferShedder](./concepts-broker-load-balancing-concepts.md#bundle-unloading-strategies) is **only supported** in the extensible broker load balancer, so you need to change TransferShedder to other [bundle unloading strategies](./concepts-broker-load-balancing-concepts.md#bundle-unloading-strategies).

:::

3. Restart the Pulsar cluster. The new settings will take effect after the restart.

## Related topics

- To get a comprehensive understanding and discover the key insights, see [Broker load balancing | Overview](./concepts-broker-load-balancing-overview.md).

- To discover different usage scenarios, see [Broker load balancing | Use cases](./concepts-broker-load-balancing-use-cases.md).

- To explore functionalities, see [Broker load balancing | Features](./concepts-broker-load-balancing-features.md).

- To understand advantages, see [Broker load balancing | Benefits](./concepts-broker-load-balancing-benefits.md).

- To learn essential fundamentals, see [Broker load balancing | Concepts](./concepts-broker-load-balancing-concepts.md).

- To review various versions of broker load balancers, see [Broker load balancing | Types](./concepts-broker-load-balancing-types.md).
2 changes: 2 additions & 0 deletions docs/concepts-broker-load-balancing-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,5 @@ Pulsar uses automatic broker load balancing to monitor the brokers' load interna

- To review various versions of broker load balancers, see [Broker load balancing | Types](./concepts-broker-load-balancing-types.md).

- To migrate one broker load balancer type to another, see [Broker load balancing | Migration](./concepts-broker-load-balancing-migration.md).

1 change: 1 addition & 0 deletions docs/concepts-broker-load-balancing-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,4 @@ However, for bundle ownership and load data stores, the modular load balancer us

- To learn essential fundamentals, see [Broker load balancing | Concepts](./concepts-broker-load-balancing-concepts.md).

- To migrate one broker load balancer type to another, see [Broker load balancing | Migration](./concepts-broker-load-balancing-migration.md).
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,6 @@ The broker load balancer can increase cluster availability by re-routing data lo

- To learn essential fundamentals, see [Broker load balancing | Concepts](./concepts-broker-load-balancing-concepts.md).

- To review various versions of broker load balancers, see [Broker load balancing | Types](./concepts-broker-load-balancing-types.md).
- To review various versions of broker load balancers, see [Broker load balancing | Types](./concepts-broker-load-balancing-types.md).

- To migrate one broker load balancer type to another, see [Broker load balancing | Migration](./concepts-broker-load-balancing-migration.md).
9 changes: 9 additions & 0 deletions docs/concepts-messaging.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,11 @@ The default retry letter topic uses this format:
<topicname>-<subscriptionname>-RETRY
```

:::note
- For Pulsar 2.6.x and 2.7.x, the default retry letter topic uses the format of `<subscriptionname>-RETRY`. If you upgrade from 2.6.x~2.7.x to 2.8.x or later, you need to delete historical retry letter topics and retry letter partitioned topics. Otherwise, Pulsar continues to use original topics, which are formatted with `<subscriptionname>-RETRY`.
- It is not recommended to use `<subscriptionname>-RETRY` because if multiple topics under the same namespace have the same subscription, then retry message topic names for multiple topics might be the same, which will result in mutual consumptions.
:::

Use the Java client to specify the name of the retry letter topic.

```java
Expand Down Expand Up @@ -321,6 +326,10 @@ The default dead letter topic uses this format:
```
<topicname>-<subscriptionname>-DLQ
```
:::note
- For Pulsar 2.6.x and 2.7.x, the default dead letter topic uses the format of `<subscriptionname>-DLQ`. If you upgrade from 2.6.x~2.7.x to 2.8.x or later, you need to delete historical dead letter topics and retry letter partitioned topics. Otherwise, Pulsar continues to use original topics, which are formatted with `<subscriptionname>-DLQ`.
- It is not recommended to use `<subscriptionname>-DLQ` because if multiple topics under the same namespace have the same subscription, then dead message topic names for multiple topics might be the same, which will result in mutual consumptions.
:::

Use the Java client to specify the name of the dead letter topic.

Expand Down
15 changes: 15 additions & 0 deletions release-notes/versioned/client-java-2.10.5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
id: client-java-2.10.5
title: Client Java 2.10.5
sidebar_label: Client Java 2.10.5
---

* [fix] [client] Messages lost when consumer reconnect (#20695)
* [fix][client] Make the whole grabCnx() progress atomic (#20595)
* [fix][client] Fix race condition that leads to caching failed CompletableFutures in ConnectionPool (#19661)
* [fix][client] Fix deadlock issue of consumer while using multiple IO threads (#20669)
* [fix][client] Cache empty schema version in ProducerImpl schemaCache. (#19929)
* [fix][fn] Reset idle timer correctly (#20450)
* [fix][client] Release the orphan producers after the primary consumer is closed (#19858)
* [fix][client] Fix DeadLetterProducer creation callback blocking client io thread. (#19930)

Loading

0 comments on commit 364025b

Please sign in to comment.