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

David Capwell edited comment on CASSANDRA-15568 at 4/6/20, 5:38 PM:
--------------------------------------------------------------------

bq. Hmm, when did this happen? 

~2 weeks ago?

bq. Have we eliminated outbound filtering? There is value in being able to stop 
progress on the outbound thread, as it permits you to specify a sequence of 
events by controlling the flow of events on the coordinator.

The default is inbound, but you can define inbound or outbound when you define 
the filter

{code}
cluster.filters().outbound().allVerbs().drop(); // runs in the Instance doing 
the message sending
cluster.filters().inbound().allVerbs().drop(); // runs in the instance 
receiving the message
cluster.filters().allVerbs().drop(); // same as the above, inbound is the 
default.
{code}

PreviewRepairTest uses outbound filters to block the sending until IR has 
completed.


was (Author: dcapwell):
bq. Hmm, when did this happen? 

~2 weeks ago?

bq. Have we eliminated outbound filtering? There is value in being able to stop 
progress on the outbound thread, as it permits you to specify a sequence of 
events by controlling the flow of events on the coordinator.

The default is inbound, but you can define inbound or outbound when you define 
the filter

{code}
cluster.filters().outbound().allVerbs().drop();
cluster.filters().inbound().allVerbs().drop();
{code}

PreviewRepairTest uses outbound filters to block the sending until IR has 
completed.

> Message filtering should apply on the inboundSink in In-JVM dtest
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-15568
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15568
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Test/dtest
>            Reporter: Yifan Cai
>            Assignee: Yifan Cai
>            Priority: Normal
>
> 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.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to