Skip to content

Sketch Environment/Producer/Consumer API #1

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

Merged
merged 46 commits into from
Aug 6, 2020
Merged

Conversation

acogoluegnes
Copy link
Contributor

No description provided.

To create Producer instances and re-use Client instances.
This allows having several brokers to connect to for the locator client
used to locate the leader and replicas of a stream.
Conflicts:
	src/main/java/com/rabbitmq/stream/Client.java
They were just variations. Now it's just possible to publish a list of
messages or a list of sub-entry batches.
WIP. Still needs some synchronization code in the message accumulator
logic. Needs also a way to limit the number of outstanding confirms to
avoid memory-leak-like behavior if confirms do not keep up with
publishing (mainly because the publishing code is completely
asynchronous currently).
The histogram can become a bottleneck for a very high throughput, so
doing some downsampling to mitigate this.
WIP. To deal with the Erlang process failure (leader or replica) and
reconnect somewhere else or deal with deletion.
This gives the system so time to recover and avoid blocking a thread.
This avoid blocking threads on retry, which is a much better usage of
the resources.
Can be re-used in other places where some resources may need retry
before being accessible.
This may be used not only for connection recovery but also anywhere we
need some back-off (e.g. after a metaupdate to re-allocate consumers to
other nodes), so removing the 'recovery' prefix makes it more generic.
They seem to make the server unstable, so disabling them for now until
we find out more about the problem.
The Client is not a public API, so it is not documented.
Avoid "stream queue" wording.
Not considered a public API.
@acogoluegnes acogoluegnes merged commit f87b707 into master Aug 6, 2020
pivotal-rabbitmq-ci pushed a commit that referenced this pull request Aug 6, 2020
Sketch Environment/Producer/Consumer API
@acogoluegnes acogoluegnes deleted the producer-spike branch August 6, 2020 13:15
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

Successfully merging this pull request may close these issues.

1 participant