Skip to content

Add support for single active consumer and super streams #46

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

Closed
acogoluegnes opened this issue Dec 1, 2021 · 1 comment · Fixed by #94
Closed

Add support for single active consumer and super streams #46

acogoluegnes opened this issue Dec 1, 2021 · 1 comment · Fixed by #94
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@acogoluegnes
Copy link
Contributor

acogoluegnes commented Dec 1, 2021

References rabbitmq/rabbitmq-server#3753.

@acogoluegnes acogoluegnes self-assigned this Dec 1, 2021
@acogoluegnes acogoluegnes added the enhancement New feature or request label Dec 1, 2021
acogoluegnes added a commit that referenced this issue Dec 1, 2021
Requires to add Consumer#storedOffset() to let the user
make sure the stored offset request made it to the
broker before closing the consumer.

References #46, rabbitmq/rabbitmq-server#3753
@acogoluegnes
Copy link
Contributor Author

May require to add Consumer#storedOffset(), see 6705c24.

acogoluegnes added a commit that referenced this issue Dec 2, 2021
Mainly queryOffset returning QueryOffsetResponse instead of
just a long.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 2, 2021
Requires to add Consumer#storedOffset() to let the user
make sure the stored offset request made it to the
broker before closing the consumer.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 2, 2021
Mainly queryOffset returning QueryOffsetResponse instead of
just a long.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 2, 2021
Requires to add Consumer#storedOffset() to let the user
make sure the stored offset request made it to the
broker before closing the consumer.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 6, 2021
acogoluegnes added a commit that referenced this issue Dec 10, 2021
Mainly queryOffset returning QueryOffsetResponse instead of
just a long.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 10, 2021
Requires to add Consumer#storedOffset() to let the user
make sure the stored offset request made it to the
broker before closing the consumer.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 10, 2021
acogoluegnes added a commit that referenced this issue Dec 15, 2021
The (de)activation protocol changed a bit internally. New consumers
assume they are passive by default, until they are activated
(no passive update notification if the consumer was not active
previously).

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 16, 2021
Mainly queryOffset returning QueryOffsetResponse instead of
just a long.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 16, 2021
Requires to add Consumer#storedOffset() to let the user
make sure the stored offset request made it to the
broker before closing the consumer.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 16, 2021
acogoluegnes added a commit that referenced this issue Dec 16, 2021
The (de)activation protocol changed a bit internally. New consumers
assume they are passive by default, until they are activated
(no passive update notification if the consumer was not active
previously).

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 16, 2021
Mainly queryOffset returning QueryOffsetResponse instead of
just a long.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 16, 2021
Requires to add Consumer#storedOffset() to let the user
make sure the stored offset request made it to the
broker before closing the consumer.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Dec 16, 2021
acogoluegnes added a commit that referenced this issue Jul 13, 2022
Setting the SAC status to false is safe when the connection
is lost, even if no notification came. This makes sure
the consumer instance state is consistent, as a new SAC consumer
is always inactive when it first registers.

References #46
@acogoluegnes acogoluegnes added this to the 0.7.0 milestone Aug 4, 2022
acogoluegnes added a commit that referenced this issue Aug 10, 2022
Mainly queryOffset returning QueryOffsetResponse instead of
just a long.

References #46, rabbitmq/rabbitmq-server#3753

Conflicts:
	src/main/java/com/rabbitmq/stream/impl/OffsetTrackingCoordinator.java
acogoluegnes added a commit that referenced this issue Aug 10, 2022
Requires to add Consumer#storedOffset() to let the user
make sure the stored offset request made it to the
broker before closing the consumer.

References #46, rabbitmq/rabbitmq-server#3753

Conflicts:
	src/main/java/com/rabbitmq/stream/impl/OffsetTrackingCoordinator.java
acogoluegnes added a commit that referenced this issue Aug 10, 2022
acogoluegnes added a commit that referenced this issue Aug 10, 2022
The (de)activation protocol changed a bit internally. New consumers
assume they are passive by default, until they are activated
(no passive update notification if the consumer was not active
previously).

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Aug 10, 2022
The stream SAC coordinator monitors connection processes
and should send consumer update accordingly when connections
die.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Aug 10, 2022
Otherwise the expected response code may not be received
because there's no enough concurrency. This way an error
path is exercised on the broker side.

References #46, rabbitmq/rabbitmq-server#3753
acogoluegnes added a commit that referenced this issue Aug 10, 2022
acogoluegnes added a commit that referenced this issue Aug 10, 2022
acogoluegnes added a commit that referenced this issue Aug 10, 2022
acogoluegnes added a commit that referenced this issue Aug 10, 2022
acogoluegnes added a commit that referenced this issue Aug 10, 2022
Instead of state enum. This is a boolean, and as the consumer
is notified only of a state change, it does not have
to know about the previous state.

References #46

Conflicts:
	src/main/java/com/rabbitmq/stream/impl/OffsetTrackingCoordinator.java
	src/main/java/com/rabbitmq/stream/impl/StreamConsumer.java
acogoluegnes added a commit that referenced this issue Aug 10, 2022
acogoluegnes added a commit that referenced this issue Aug 10, 2022
Thrown when no stored offset is found. Better than checking
response code.

References #46

Conflicts:
	src/main/java/com/rabbitmq/stream/impl/OffsetTrackingCoordinator.java
acogoluegnes added a commit that referenced this issue Aug 10, 2022
acogoluegnes added a commit that referenced this issue Aug 10, 2022
To disable server-side offset tracking. Useful when SAC is enabled
and external storage is used for offset tracking.

References #46
acogoluegnes added a commit that referenced this issue Aug 10, 2022
acogoluegnes added a commit that referenced this issue Aug 10, 2022
acogoluegnes added a commit that referenced this issue Aug 10, 2022
acogoluegnes added a commit that referenced this issue Aug 10, 2022
Setting the SAC status to false is safe when the connection
is lost, even if no notification came. This makes sure
the consumer instance state is consistent, as a new SAC consumer
is always inactive when it first registers.

References #46
@acogoluegnes acogoluegnes changed the title Add support for single active consumer Add support for single active consumer and super streams Sep 7, 2022
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.

1 participant