-
Notifications
You must be signed in to change notification settings - Fork 42
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
Reliable Producer #104
Reliable Producer #104
Conversation
Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
Codecov Report
@@ Coverage Diff @@
## main #104 +/- ##
==========================================
+ Coverage 91.25% 91.85% +0.60%
==========================================
Files 69 72 +3
Lines 4743 5252 +509
Branches 276 315 +39
==========================================
+ Hits 4328 4824 +496
- Misses 353 360 +7
- Partials 62 68 +6
Continue to review full report at Codecov.
|
Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
RProducer will get the last SequenceID by the reference name. If it can't get it Default value is 0 Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
Hi @simone-fariselli, |
change the test. Add the isInReconnection to avoid some race codition Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just making some comments. More tomorrow!
Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
Hi @Gsantomaggio, |
Thank you @simone-fariselli we appreciate you testing this PR. |
for TPL. Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com>
…t-client into rproducer
- Implement Reliable Producer - See rabbitmq/rabbitmq-stream-dotnet-client#104 Signed-off-by: Gabriele Santomaggio <G.santomaggio@gmail.com> Co-authored-by: Luke Bakken <luke@bakken.io>
Reliable Producer
part of #92
RProducer:
waitForConfirmation
list (as the go/java clients do) ex:Reconnection
By default it uses an
BackOffReconnectStrategy
to reconnect the client, but the user can implement another behaviour just implement theIReconnectStrategy
interface.How to test:
Handle Metadata update:
MetadataUpdate
is raised when the stream is deleted or changes the topology.The
ReliableProducer
is able to:See here
How to test:
See the HandleDeleteStreamWithMetaDataUpdate
it is enough to remove a stream when the producer is running.
See also the HandleChangeStreamConfigurationWithMetaDataUpdate
Auto Generate Sequence
ReliableProducer Automatically retrieves the last stored PublishingID and It continues from there.