Skip to content

Conversation

@merlimat
Copy link
Contributor

@merlimat merlimat commented Dec 2, 2021

Motivation

Allow to configure the metadata store endpoint in broker.conf.

Modifications

Deprecated few config options:

  • zookeeperServers --> metadataStoreUrl
  • configurationStoreServers --> configurationMetadataStoreUrl

Moved all deprecated settings at the end of broker.conf.

Added EndToEndMetadataTest which spin up a cluster with brokers, bookies against all the supported metadata stores (ZK, local memory and RocksDB) and does basic produce/consume.

@merlimat merlimat added type/feature The PR added a new feature or issue requested a new feature doc-required Your PR changes impact docs and you will update later. labels Dec 2, 2021
@merlimat merlimat added this to the 2.10.0 milestone Dec 2, 2021
@merlimat merlimat self-assigned this Dec 2, 2021
# Configuration Store connection string
configurationStoreServers=
# The metadata store URL for the configuration data. If empty, we fall back to use metadataStoreUrl
configurationMetadataStoreUrl=
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's will be a breaking change when we use the docker image? If we don't have this configuration in the broker.conf, we need to add PULSAR_PREFIX I think.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have moved all the deprecated configs in a section at the end of the file, to be less visible (and less confusing) but without breaking the compatibility.

Copy link
Contributor

@eolivelli eolivelli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great

import org.apache.pulsar.metadata.bookkeeper.BKCluster;


public class EmbeddedPulsarCluster implements AutoCloseable {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notes for the future:
It will be great to expose an official API for this.
It will help a lot downstream users.
PulsarStandalone Builder doesn't work well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I just started very simple as a way to use it as the base for unit tests, but with the idea of expanding it.

Copy link
Member

@lhotari lhotari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good stuff!

Copy link
Contributor

@nicoloboschi nicoloboschi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@merlimat merlimat force-pushed the pip-45-configure-metadata-store branch from f6773e0 to f7f3cde Compare December 4, 2021 01:57
@merlimat merlimat merged commit ee90406 into apache:master Dec 4, 2021
@merlimat merlimat deleted the pip-45-configure-metadata-store branch December 4, 2021 19:06
@Anonymitaet
Copy link
Member

Anonymitaet commented Dec 10, 2021

For the doc side, I've discussed with @codelipenghui, the following changes will be made after 2.9.0 is released:

  1. Change zookeeperServers to metadataStoreUrl and configurationStoreServers to configurationMetadataStoreUrl
    for all occurrences in .md files on master except puslar-perf managed-ledger zookeeperServers (PIP 45: Update zookeeperServers to metadataStoreUrl #13229)

image

image

  1. Check and add notes for deprecated parameters in Pulsar configuration page (get deprecated parameters out of the exiting configuration table and add a note for it).

Hi @merlimat any thoughts?

fxbing pushed a commit to fxbing/pulsar that referenced this pull request Dec 19, 2021
…13077)

* PIP-45: Allow to configure metadata store URL in broker.conf

* Removed unused imports

* Register BK metadata-store scheme handler for BK client to accept config

* Fixed default for loadBalancerOverrideBrokerNicSpeedGbps to Optional.empty()

* Fixed registration of BK client driver handler

* Fixed worker service bk client config

* Fixed AdminTest

* Fixed ledger id generator to handle badversion in graceful way

* Fixed BookKeeperClientFactoryImplTest
@gaozhangmin
Copy link
Contributor

@merlimat Should proxy also change zookeeperServers to metadataStoreUrl?

RobertIndie added a commit to RobertIndie/pulsar that referenced this pull request Jan 17, 2022
Motivation
As per apache#13077, `configurationStoreServers` need to be renamed to `configurationMetadataStoreUrl`.

Modification
* Add `configurationMetadataStoreUrl` setting to websocket
* Deprecate `configurationStoreServers` in websocket

Signed-off-by: Zike Yang <zkyang@streamnative.io>
RobertIndie added a commit to RobertIndie/pulsar that referenced this pull request Jan 21, 2022
… cluster metadata

Motivation
As per apache#13077, `configurationStoreServers` need to be renamed to `configurationMetadataStoreUrl`.

Modification
* Add `configurationMetadataStore` to PulsarClusterMetadataSetup.

Signed-off-by: Zike Yang <zkyang@streamnative.io>
merlimat pushed a commit that referenced this pull request Jan 22, 2022
… cluster metadata (#13889)

Motivation
As per #13077, `configurationStoreServers` need to be renamed to `configurationMetadataStoreUrl`.

Modification
* Add `configurationMetadataStore` to PulsarClusterMetadataSetup.

Signed-off-by: Zike Yang <zkyang@streamnative.io>
@Anonymitaet Anonymitaet added doc-complete Your PR changes impact docs and the related docs have been already added. and removed doc-required Your PR changes impact docs and you will update later. labels Jan 24, 2022
codelipenghui pushed a commit that referenced this pull request Jan 25, 2022
…#13786)

Master Issue: #13760 

### Motivation

As per #13077, `configurationStoreServers` need to be renamed to `configurationMetadataStoreUrl`.

### Modifications

* Add `configurationMetadataStoreUrl` setting to websocket
* Deprecate `configurationStoreServers` in websocket
codelipenghui pushed a commit that referenced this pull request Feb 7, 2022
Master Issue: #13077

### Motivation

Allow to configure the metadata store endpoint in proxy.conf.

### Modifications

Deprecated few config options:
zookeeperServers --> metadataStoreUrl
configurationStoreServers --> configurationMetadataStoreUrl
Moved all deprecated settings at the end of broker.conf.
Nicklee007 pushed a commit to Nicklee007/pulsar that referenced this pull request Apr 20, 2022
Master Issue: apache#13077

### Motivation

Allow to configure the metadata store endpoint in proxy.conf.

### Modifications

Deprecated few config options:
zookeeperServers --> metadataStoreUrl
configurationStoreServers --> configurationMetadataStoreUrl
Moved all deprecated settings at the end of broker.conf.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-complete Your PR changes impact docs and the related docs have been already added. type/feature The PR added a new feature or issue requested a new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants