[ https://issues.apache.org/jira/browse/GEODE-9338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated GEODE-9338: ---------------------------------- Labels: pull-request-available (was: ) > 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 > > 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)