Skip to content

Conversation

@rdhabalia
Copy link
Contributor

Motivation

As per #196: If pulsar migrates from single-zk ensemble to multiple zk- ensemble to store cluster-management and ledger-metadata separately, in this transition it requires OwnershipCache to manage namespace-bundle ownership in both the zookeeper in an atomic manner.

Modifications

  • Provide a way to Inject OwnershipCache and LoadManager which can perform dual write/read while managing namespace-bundle ownership and loadReport.

Note:
It contains two commits:

  1. commit from Support multiple zookeeper quorum to store cluster-management-configu… #196: 2d9a49c
  2. Actual commit for this transition change
    (so, this PR depends on Support multiple zookeeper quorum to store cluster-management-configu… #196 to go first)

Result

It will not change existing functionality and provide a way to manage bundle-ownership and loadReport in multiple-zk ensemble.

@rdhabalia rdhabalia added the type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages label Feb 13, 2017
@rdhabalia rdhabalia added this to the 1.17 milestone Feb 13, 2017
@rdhabalia rdhabalia self-assigned this Feb 13, 2017
@rdhabalia rdhabalia changed the title Support multiple zookeeper quorum to store cluster-management-configuration and ledger-metadata separately Add LoadBalancer and OwnershipCache factory to support dual write/read to local_zk and data_zk Feb 16, 2017
@merlimat merlimat modified the milestones: 1.17, 1.18 Mar 31, 2017
@merlimat merlimat modified the milestones: 1.18, 1.19 Jun 14, 2017
sijie pushed a commit to sijie/pulsar that referenced this pull request Mar 4, 2018
hangc0276 pushed a commit to hangc0276/pulsar that referenced this pull request May 26, 2021
Fixes apache#208 

This PR ports Kafka's `SaslServerAuthenticator` into KoP with some limits:

- Don't handle authentication corner cases for the Kafka Client 0.9.0.x, it's too troublesome and KoP doesn't support Kafka Client 0.9.0.x now.
-  Don't handle `SaslHandshakeRequest` v0 because this request has no header that it takes a lot of efforts to refactor current code and test.
- Keep the old authentication way, i.e. user pass a `username` field to represent the namespace and a `data` field to represent the token, then Pulsar broker will use JWT authentication to do the actual authentication. See `docs/security.md` for details.
- Add a unit test to cover the case that client doesn't configure authentication.

More works to do:
- Currently it just does a simple check for permissions in the authentication step. The authorization should be performed before each request is processed.
- The authenticator exposes a getter for `AuthenticationState`, the `isExpired` method should be called to check if the token is expired and trigger the reconnection for clients.
@dave2wave
Copy link
Member

This PR is evidently stale or abandoned. Reopen if this is not so.

@dave2wave dave2wave closed this Dec 16, 2021
@github-actions
Copy link

@rdhabalia:Thanks for your contribution. For this PR, do we need to update docs?
(The PR template contains info about doc, which helps others know more about the changes. Can you provide doc-related info in this and future PR descriptions? Thanks)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-label-missing type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants