Skip to content

Conversation

@michaeljmarshall
Copy link
Member

Motivation

Enable pass through configuration support for the bookkeeper clients created by DistributedLog and BookKeeperPackagesStorage. This support is already present for the managed ledger bookkeeper client, which takes all bookkeeper_ prefixed configs. In order to simplify configuration, I reused the bookkeeper_ prefix since it's reasonable to assume that these configs will be the same.

Modifications

  • Create PulsarConfigurationUtils class to reduce code duplication for mapping prefixed config classes into other config classes. This class is not available in the pulsar-package-management module, so the code is copied. I don't think we should expose this code in the client jars.
  • Update the BookKeeperPackagesStorageConfiguration to expose the underlying properties object.
  • Add documentation to the broker.conf and the functions_worker.yml files.

Verifying this change

I added tests to ensure that the new methods work as expected.

Does this pull request potentially affect one of the following parts:

This is a backwards compatible change. The only nuance is that the package management dlog bookie client will inherit the same configs that the broker already uses for the bookie client. I think this is preferable.

@michaeljmarshall michaeljmarshall added doc Your PR contains doc changes, no matter whether the changes are in markdown or code files. area/config labels May 24, 2022
@michaeljmarshall michaeljmarshall added this to the 2.11.0 milestone May 24, 2022
@michaeljmarshall michaeljmarshall self-assigned this May 24, 2022
# you can add other configuration options for the BookKeeper client
# by prefixing them with bookkeeper_
# You can add other configuration options for the BookKeeper client
# by prefixing them with "bookkeeper_". These configurations will be applied
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
# by prefixing them with "bookkeeper_". These configurations will be applied
# by prefixing them with "bookkeeper_". These configurations are applied

Write in the simple present tense as much as possible if you are covering facts that were, are, and forever shall be true. https://docs.google.com/document/d/1lc5j4RtuLIzlEYCBo97AC8-U_3Erzs_lxpkDuseU0n4/edit#bookmark=id.e8uqh1awkcnp


# When using BookKeeperPackagesStorageProvider, you can configure the
# bookkeeper client by prefixing configurations with "bookkeeper_".
# This config will apply to managed ledger bookkeeper clients, as well.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
# This config will apply to managed ledger bookkeeper clients, as well.
# This configuration applies to managed ledger bookkeeper clients as well.

@michaeljmarshall
Copy link
Member Author

@Anonymitaet - thank you for your feedback.

Making this a draft temporarily. I will include some additional work tomorrow.

@michaeljmarshall
Copy link
Member Author

This PR is superseded by #15818.

@michaeljmarshall michaeljmarshall deleted the bookie-pass-through-config branch May 29, 2022 04:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/config doc Your PR contains doc changes, no matter whether the changes are in markdown or code files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants