Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support - Producer for Partitioned topics #4

Closed
blankensteiner opened this issue Oct 1, 2019 · 10 comments
Closed

Support - Producer for Partitioned topics #4

blankensteiner opened this issue Oct 1, 2019 · 10 comments
Labels
enhancement New feature or request

Comments

@blankensteiner
Copy link
Contributor

As described here:

@vp89
Copy link
Contributor

vp89 commented Mar 13, 2020

I'm still wrapping my head around the internal structure of the code, but one thought I had was:

In PulsarClient CreateProducer, it checks if the topic is partitioned and if yes returns a PartitionedTopicProducer which implements IProducer but acts as a wrapper over a collection of N Producers (1 for each partition). At this layer is where the partition routing happens, so the caller still makes the same calls and this special class takes care of routing it to the appropriate underlying Producer object.

@blankensteiner
Copy link
Contributor Author

Hi @vp89
It sounds like a good approach, but one thing missing is how to handle state monitoring. Either we have to let the user know that behind this interface there are many producers/states or we have to decide if we can merges these states into just one state.
Any thoughts on that?

@emanuel-v-r
Copy link

emanuel-v-r commented Apr 25, 2020

Hi,

Am I assuming right, that producing to partionated topics does not work at all?
It returns -1 for the partition, messageId etc, whend doing it.
Thank you.

@blankensteiner
Copy link
Contributor Author

Hi @imaramos
That is correct.

@jiazhai jiazhai changed the title Support - Partitioned topics Support - Producer for Partitioned topics Jun 11, 2020
@jiazhai
Copy link
Member

jiazhai commented Jun 11, 2020

Seems this issue is more related with partitioned producer, changed the issue name to make it clear. :)

@blankensteiner
Copy link
Contributor Author

@jiazhai the issue is related to both producing and consuming partitioned topics.

@jiazhai
Copy link
Member

jiazhai commented Jun 11, 2020

@blankensteiner Sorry for the misunderstanding. I thought the consumer part work would be included in #5 Multi-topics consumer. In Java client, the partitioned consumer is a special case of
Multi-topics consumer(which has only 1 partitioned topic).

@blankensteiner
Copy link
Contributor Author

Ah yes, you could also see it like that. So, fine with the subject change :-)

@ryansealy
Copy link

Partitioned topic support should be a top priority for this library. It's one of things that makes Pulsar great and it's a central feature of Pulsar itself. It can be a dealbreaker when it comes to using this library for many cases, especially if you're coming into a system you didn't design and which already has use of partitioned topics throughout. Given this library is now the "officially" supported library, this is a must have.

@blankensteiner
Copy link
Contributor Author

Producer support for partitioned topics is available in release 1.1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants