[ 
https://issues.apache.org/jira/browse/GEODE-9338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Owen Nichols closed GEODE-9338.
-------------------------------

> 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
>              Labels: pull-request-available
>             Fix For: 1.15.0
>
>
> 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.20.7#820007)

Reply via email to