[
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:
--------------------------------------------------------------------
[~benedict]
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(); // 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.
> 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]