[ 
https://issues.apache.org/jira/browse/GEODE-8333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17188044#comment-17188044
 ] 

ASF subversion and git services commented on GEODE-8333:
--------------------------------------------------------

Commit 27b8e47e9f6e433dc71bffc5420ebcb51f79797e in geode's branch 
refs/heads/develop from Jens Deppe
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=27b8e47 ]

GEODE-8333: Change Redis adapter threading model - fixes pubsub issues (#5488)


- Do not use Netty threads for the entire request lifecycle. Each
  instance of ExecutionHandlerContext (essentially each client
  connection) uses a command queue which is actioned by a single thread
  taken from the Geode 'waiting pool'.
- Every SUBSCRIBEed client is moved to a separate EventGroupLoop so that
  PUBLISHed messages are not sent back using the 'normal' Worker
  EventLoopGroup. This avoids a deadlock issue where PUBLISHed messages
  need to be sent using the same thread that the PUBLISH response needs
  to happen on.
- Fix issues with PubSub where switching the EventLoopGroup may fail
  (because a client has already closed the connection) thus resulting in
  hanging PUBLISHers waiting for a Subscription to be marked as
  'readyForPublish'.
- Consolidate various MockSubscriber classes


> Fix PUBSUB hang
> ---------------
>
>                 Key: GEODE-8333
>                 URL: https://issues.apache.org/jira/browse/GEODE-8333
>             Project: Geode
>          Issue Type: Bug
>          Components: redis
>            Reporter: Sarah Abbey
>            Assignee: Darrel Schneider
>            Priority: Major
>              Labels: pull-request-available
>
> PUBSUB hangs with concurrent publishers and subscribers on multiple servers.
> The initial fix is being reverted because it caused a bug in which responses 
> to clients could now be out of order.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to