[
https://issues.apache.org/jira/browse/GEODE-9338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hale Bales reassigned GEODE-9338:
---------------------------------
Assignee: Hale Bales
> Remove strong guarantees for redis PUBLISH command response
> -----------------------------------------------------------
>
> Key: GEODE-9338
> URL: https://issues.apache.org/jira/browse/GEODE-9338
> Project: Geode
> Issue Type: Improvement
> Components: redis
> Reporter: Jens Deppe
> Assignee: Hale Bales
> Priority: Major
>
> Redis' {{PUBLISH}} command responds with the number of clients that have
> received the published message. Our current implementation attempts to
> respond with as accurate a number as possible. To that end, each publish (see
> {{PubSubImpl.publishMessageToSubscribers}} and
> {{AbstractSubscription.publishMessage}} are effectively synchronous
> operations. The current flow is:
> - PUBLISH some_message
> - Issue a fn call to each server and attempt to publish to each subscribed
> client
> - Count how many successful publish messages were written and return those
> - Respond to the redis client with the aggregated successful publishings
> In redis clustering mode, the response is only the number of local
> publishings. We can go even further and not attempt to first publish before
> subscribing, but simply respond with the current number of subscribers,
> regardless whether they are connected or not.
> We should be able to perform all pubsub work on the regular netty thread and
> completely remove the subscriber EventLoopGroup.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)