Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Duplicate
-
None
-
None
-
All
-
None
Description
The message filtering mechanism in the in-jvm dtest helps to simulate network partition/delay.
The problem of the current approach that adds all filters to the MessagingService#outboundSink is that a blocking filter blocks the following filters to be evaluated since there is only a single thread that evaluates them. It further blocks the other outing messages. The typical internode messaging pattern is that the coordinator node sends out multiple messages to other nodes upon receiving a query. The described blocking messages can happen quite often.
The problem can be solved by moving the message filtering to the MessagingService#inboundSink, so that each inbounding message is naturally filtered in parallel.