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

Design API for Reactive client exceptions and possible translation #6

Open
lhotari opened this issue Sep 10, 2022 · 2 comments
Open

Comments

@lhotari
Copy link
Member

lhotari commented Sep 10, 2022

The current adapter implementation wraps the Java client and throws the errors what the Java client throws.

Since the goal is to design a stable API which could be implemented with a native Reactive client later, it is necessary to document and standardize on the error handling and exception model which could be used both in the current adapter approach and later with the native client.

@lhotari
Copy link
Member Author

lhotari commented Dec 12, 2022

#22 adds CorrelatedMessageSendingException which can be used to determine which input message spec didn't get sent. It's necessary to use sendManyCorrelated to pass a custom correlation key.

@cbornet
Copy link
Contributor

cbornet commented Jan 30, 2023

Discussed with @lhotari : we already depend on pulsar-client-api for a variety of classes (Message, MessageId, ...). So we can probably reuse the PulsarException classes, even when we'll do the native client.
#118 adds tests to verify that the exceptions generated by the driver are propagated without translation (except for ReactiveMessageSender::sendMany which wraps it into ReactiveMessageSendingException but that's documented).

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

No branches or pull requests

2 participants